FPGA和AISC的serdes IP有什么差异?

FPGA和AISC的serdes IP有什么差异?

网上有很多FPGA里serdes的资料,实际情况这两种产品serdes IP的外在表现差异很大,如果做ASIC 里serdes  IP使用,设计,集成,调试建议不好看FPGA相关的serdes IP会材料出现很多误导。

1.FPGA里将serdes  和PHY混淆,将PCS里面的功能也写到serdes里面。例如8/10,64/66,comma,gearbox位宽变化等PCS功能都划到serdes。在ASIC中这些都是pcs模块另外一个block中,和serdes根本就不在一个方块里。ASIC里serdes是一个购买的硬核,pcs是代码写的一个模块,需要综合后端设计。而serdes 的GDS都是已经做好的。

2.FPGA 里看不到微控制器,就就简单的认为serdes就是TX+RX+pll,TX有预加重,RX有CTLE,DFE,CDR。其实ASIC里面的serdes是有MCU 预RAM加载FW,给serdes的模拟和数字部分寄存器状态机进行初始化和控制切切换的,有时候会出现微控制挂死的现象。而如果只看FPGA根部看不到还有MCU/CPU这个模块,甚至不知道FW是加到哪里的。

3.ASIC SERDES还有接口总线常用有apb,ahb,并行,串行IIC,MDIO等,但是看FPGA就感受不到有总线控制。甚至都不知道serdes还有JTAG总线。

serdes运行,工作时用apb,ahb等总线进行寄存器配置,状态获取,这些总线进入IP后是如果工作读写数据,相互之间什么关系的。

4.时钟差异。只有156MHZ时钟serdes能工作吗? 用FPGA会认为只有一个差分时钟输入,其他ASIC serdes IP一般有业务时钟也就是156M以及配置总线时钟常用25M-100M用于apb,apb配置寄存器。没有总线时钟,是没法初始化的。差分时钟常见有2个,用于不同速率的切换配置。还包括其他的内部分频时钟,定位时钟,多CORE级联时钟,东西南北时钟,使能配置,这些在FPGA里都是感受不到。

5.初始化,功能配置。看FPGA时几乎感受不到初始化过程。但是ASIC里是需要有严格的硬件时序,软件时序的,例如电源稳定,时钟稳定,解复位,加载FW,配置CPU,配置PLL,配置TX,配置RX,释放校准,自适应,,,是一个很复杂的过程,要反复的优化打磨才能调试好产品场景。再FPGA很多都是很简单一个配置,例如环回功能,一个寄存器就完成了。但是在ASIC里底层环回涉及到很多个步骤才能完成,从关闭RX端状态机,切换时钟,切换数据,检查等需要多次操作才能完成。看FPGA资料就会误以为每个操作都很简单,实际背后的动作都被隐藏了。

6.ASIC serdes  IP需要有严格的后端,封装设计仿真高速参数要求,出现一点点的错误就会影响最终的效果。将FPGA当做学习serdes 资料就会漏掉高速方面的要求。

7.10G/25G FPGA里的serdes资料只是一个很普通的成熟多年的旧体系,和当前50-100G serdes是有这天地的区别,看完FPGA 低速资料会误以为已经学会了SERDES 知识,其实只是了解了初级的落后的技术。低速serdes 都是基于模拟架构的serdes,而高速的主要都是用DSP技术做的,之前模拟的问题做不了的用DSP很多都是实现。例如50G以上引入了FFE,MSLE,ADC,DAC,很多定位分析方法逐渐偏向抓大量数据,概率统计方向。

而低速的更多只关注在信号眼图,插损等方面。

因为ASIC IP都是有保密协议,详细资料无法流出来,很少有硬件去关注IEEE里面最新的serdes研究成果。而FPGA里serdes资料大量公开到网上。

posted @   韭菜满仓  阅读(61)  评论(0)    收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示