微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > FPGA从IBUF到OBUF的最短路经

FPGA从IBUF到OBUF的最短路经

时间:10-02 整理:3721RD 点击:

想设计一个逻辑,输入信号经过IBUF后,一路送给OBUF输出,一路送给ILOGIC在FPGA内做处理。
IBUF    i_buf( .I(i), .O(branch));
OBUF    o_buf( .I(branch), .O(o));
想让从IBUF到OBUF的延时尽量小,因此把IBUF、OBUF约束在一个IO Tile里(包含两个IBUF、两个OBUF、两个ILOGIC、两个OLOGIC、两个IODELAY),希望能从IBUF出来后直接就近传给OBUF。
可实际上不是这样,信号经过的路径如下:IBUF -> IODELAY -> ILOGIC -> OLOGIC -> OBUF,下图为FPGA Editor的具体走线。



通过后仿确定,从输入引脚到输出引脚的延时为7.359ns。(一个时钟周期2.5ns)
对于从IBUF、OBUF的net加MAXDELAY约束,不管是1ns还是4ns,结果都一样,从输入引脚到输出引脚的延时仍为7.359ns,且时序报告也一样:

==============================================================================


Timing constraint:
NET"branch" MAXDELAY = 4 ns;


1 net analyzed, 0failing nets detected.


0 timing errorsdetected.


Maximum net delayis
3.282ns.


--------------------------------------------------------------------------------


Slack: 0.718 ns branch


Report: 3.282ns delay meets 4.000ns timing constraint by 0.718ns


From         To                                            Delay(ns)


W12.I       Y12.O                                          1.409  (不明白这一行是什么意思?)
W12.I      ILOGIC_X2Y115.DDLY                    3.282
--------------------------------------------------------------------------------


(branch为从IBUF到OBUF的net名,W12为输入引脚,Y12为输出引脚,在一个IO Tile里,ILOGIC_X2Y115.DDLY为输入接的ILOGIC)
为什么要选择这么长的走线,不能直接从IBUF输出接OBUF吗?

因为FPGA也不是万能的啊.

FPGA不是设计用于做这种直连线的啊。直连线就用PCB不是更好吗?因为FPGA不是面向这类应用,所以两个PAD之间没有直接布线通道也很正常啦。建议你可以将输入打一拍出去。

这是Xilinx还是synplicity



   信号的频率很高,在PCB上直接分支信号质量太差,所以想在FPGA内部经过IBUF后再分支。同时由于信号的电平比较特殊,找不到其他的分立器件做这件事,只能用FPGA



   Xilinx的,FPGA是v6lx130t



    如果是这样的话,所有的一组总线都从FPGA里面穿过的话,延迟只要保持一致不就可以了?



   我们的做法相当于在原有的总线中串了一个设备,希望延时也尽量小,否则会影响系统的执行。



    的确,这种delay可能会影响系统的最高时钟速度,进而影响系统性能。
    1. 你可以试试看手动布线,用fpga_editor手动布线看看,如果没有更快的路径,那真的没有办法。
    2. 看看有没有随路时钟可以用来对数据打一拍,改善时序状况。不过,时钟和数据延迟又会不容易close。
    有点麻烦那。

    多高的频率?
如果很高可能FPGA也没有办法。



   400MHz,而且是DDR的
  不过virtex-6的FPGA可以支持667MHz的DDR信号

400MHz的总线中串一个设备(FPGA),不可想象啊。

FPGA Editor的含义 就是要你理解FPGA内部资源的分布,一开始就要考虑时钟的整体布局布线,把时钟定好后 才能有最佳的FPGA性能,就近走时钟资源的布局布线,一旦要设计FPGA的PCB,那就要根据管脚来分配全局的时钟设计

确实这样,没办法。

学习了

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top