在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 16426|回复: 14

[求助] FPGA从IBUF到OBUF的最短路经

[复制链接]
发表于 2011-3-25 22:15:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 cuizehan 于 2011-3-28 10:42 编辑

想设计一个逻辑,输入信号经过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的具体走线。
test_bypass.bmp

通过后仿确定,从输入引脚到输出引脚的延时为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吗?
发表于 2011-3-25 22:36:15 | 显示全部楼层
因为FPGA也不是万能的啊.
发表于 2011-3-27 09:04:57 | 显示全部楼层
FPGA不是设计用于做这种直连线的啊。直连线就用PCB不是更好吗?因为FPGA不是面向这类应用,所以两个PAD之间没有直接布线通道也很正常啦。建议你可以将输入打一拍出去。
发表于 2011-3-27 11:25:01 | 显示全部楼层
这是Xilinx还是synplicity
 楼主| 发表于 2011-3-28 09:36:12 | 显示全部楼层
回复 3# acgoal


   信号的频率很高,在PCB上直接分支信号质量太差,所以想在FPGA内部经过IBUF后再分支。同时由于信号的电平比较特殊,找不到其他的分立器件做这件事,只能用FPGA
 楼主| 发表于 2011-3-28 09:37:37 | 显示全部楼层
回复 4# zhinvxing


   Xilinx的,FPGA是v6lx130t
发表于 2011-3-28 13:50:22 | 显示全部楼层
回复 5# cuizehan


    如果是这样的话,所有的一组总线都从FPGA里面穿过的话,延迟只要保持一致不就可以了?
 楼主| 发表于 2011-3-28 19:32:44 | 显示全部楼层
本帖最后由 cuizehan 于 2011-3-28 19:33 编辑

回复 7# acgoal


   我们的做法相当于在原有的总线中串了一个设备,希望延时也尽量小,否则会影响系统的执行。
发表于 2011-3-28 19:47:55 | 显示全部楼层
回复 8# cuizehan


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

    有点麻烦那。
发表于 2011-3-29 12:21:33 | 显示全部楼层




    多高的频率?
如果很高可能FPGA也没有办法。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-26 09:21 , Processed in 0.024161 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表