FPGA不同BANK之间存在延时,从下面两个维度简单讨论一下:
//------物理因素
每个BANK都有自己的CLB(查找表)和IOB(输入/输出块),它们之间通过高速总线连接。
因此,如果在不同的BANK之间传输数据,则需要考虑到这些延迟。
特别的,当逻辑需要跨Die时,如果布局布线比较拥塞,会大概率出现比较严重的延时。
//------代码因素
代码因素主要考虑时序问题,主要是异步时钟的跨时钟域和同步时钟的传输路径过长两种情景。
这些和代码设计有很强的关联性。
//------额外补充一下DDR3设计的说明:
供电电压符合TRM手册(Technical-Reference-Manul)的接口需求,对于DDR3跨越多个Bank的场景,需要保证供电电压一致。
对于官方的IP,它已经考虑到占用多个Bank的场景,特别是DDR-MIG的接口频率。
设计者需要将精力放在IP参数设置、引脚分配等内容。
|