请教如何提高背板总线速率?
请问现在有什么办法,比如在硬件上对总线的电阻匹配或者其他电气性能上做改进,能降低这个插入的读写延迟?
因为背板的加长,以及更多的插板加入,这一次读数据需要加时延比较大,比较耽误算法效率。请有经验的达人指点一二,比如说大概是什么方案,在地址线,数据线上是否加匹配电阻,怎么选择参数,或者说请指点一下应该参考那块理论知识,我们可以去做一些调试验证。谢谢。
在满足外部时序的情况下请用dma
其实目前不是在软件上的限制,而是在硬件性能上被限制了。因为是要求实时性,因此软件收发机制的改变并无实际意义。
也就是说,希望能通过对背板走线增加串联或者并联的电阻电容等的考虑,提高背板稳定信号的速率,比如目前由于上升沿,上冲,或者是行波等等的si考虑,其背板走线最高速率在几百个ns,如果能提高到几倍那就能满意得多。---这方面不知道那位有经验,请指点指点。
用serdes多路,活直接上光背板。
主要关系在外设侧的总线信号处理
如果是同步设计,可以考虑调调时钟线路
如果异步设计的话,仔细查时序
看你描述,应该是DSP外部总线,而且非标准SDR/DDR接口。硬件上考虑的就是多子板共享总线(如果有)的话加上总线驱动,选用低传输延时的片子,layout上就是走strip,用地或电源层包着你的wire。
谢谢。
更具体的话是这样,dsp的主控板,通过背板插槽的方式,带16块fpga插板,映射到zone0内存区。
这中间外设的通信延迟都是fpga来模拟实现,这xintf总线在背板上的长度大概是50厘米左右。
遇到实际的问题是,dsp对16块的外设fpga读写,中间必须加入比较大的延迟,比如10多个时钟才能读写正确,如果降低这中间的延迟插入时钟个数,那读写中就会出现问题。
目前我们猜测是,最大可能是硬件上的问题,比如si,行波的长线反射等,初步考虑是打算在硬件上做改进。软件上的话,我觉得同事做过一些研究,应该不会是软件设置的问题,最多可能是进一步区分一下,是在读写操作的建立,激活以及跟踪阶段各自允许最小的时钟插入,来进一步明确问题的原因。
从走线上来说,数据线,地址线都是并行等长的,要说用比较完整的地,电源层去夹也应该能提高信号的性能(这些措施已经考虑在内,而且做得比较完善了)。其实更主要是想了解一下,是否需要从si的角度,比如增加串联,并联电阻进行阻抗匹配,降低反射,过冲等这些高频信号才考虑的一些问题(大概是背板50厘米,而地址数据线读写在10M上下,那可能需要考虑高频影响了)。
1. 通过背板插槽的方式,带16块fpga插板,映射到zone0内存区。
16 slots如果要跑到高速(共享,非p2p),不分开挂驱动片,基本上很难。查一查你的接插件手册,算一下等效Cap(接插件的等效cap如果跟FPGA的等效input cap相同量级的话还需要加上FPGA的等效input cap),16个并联然后按照TI手册看总线输出电流,充放电时间自然就出来了。按照PCI系统的规定,33MHz并行总线slot最好控制在4个或以内,而且PCI对于信号的驱动规范较为严格。
2. 这中间外设的通信延迟都是fpga来模拟实现,这xintf总线在背板上的长度大概是50厘米左右。
假定你用stripline,普通FR4,两平面夹线。单向传输延时180ps/inch,总共得出大概3.54ns。用这个跟你的时钟沿Tr/Tf比较,看是否需要用传输线匹配。
3. 遇到实际的问题是,dsp对16块的外设fpga读写,中间必须加入比较大的延迟,比如10多个时钟才能读写正确,如果降低这中间的延迟插入时钟个数,那读写中就会出现问题。
上述第二项计算没有考虑你是否采用同步还是异步设计。
如果同步(用随路时钟驱动FPGA),那么总线回读计算应该是双倍距离,也就是100cm。如果不在FPGA内部加上PLL调相位,DSP回读数据比较难做到高速。让你的FPGA工程师搭上signaltap/chipscope/reveal中的任意一个,查看单向写数据是否正常,就可以判定上述推断是否正确。
如果是异步(没有随路时钟,而且假定你没用serdes做CDR),那么需要让你的FPGA工程师考虑更高频采样信号。
4.目前我们猜测是,最大可能是硬件上的问题,比如si,行波的长线反射等,初步考虑是打算在硬件上做改进。
是否是传输线(决定是否考虑匹配)跟你跑的时钟速度有关(更准确是信号上升/下降时间),根据第二条进行判断,不能一概而论。同时如果根据第一条得到的寄生Cap值很大,那么串联电阻值会让你的RC Constant更大,信号建立更慢。直接测量你可以考虑用示波器探头查看clk/add中的任意一个,查看沿的情况,判断是哪种情况。同时你的探头会引入等效cap,需要靠你计算是否需要考虑了。
希望能够有些东西合你用
:)