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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2476|回复: 8

[讨论] 一起来聊聊时序约束对FPGA设计的重要性

[复制链接]
发表于 2014-8-25 16:13:45 | 显示全部楼层 |阅读模式

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

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

x
楼主小白一枚,没什么经验,刚用Xilinx的板子做了一个project,中间遇到了很多问题和困惑,多亏论坛里的各位帮助。感觉最让我纠结和困惑的地方就在于FPGA中的时序约束,故提出几个疑问,望大家一起来讨论讨论~

(1)是不是每个较为复杂的设计(例如输入时钟超过50MHz)都应该为设计添加相应的时序约束?
(2)若要添加时序约束,对输入的约束(offset in)是不是一定必要的呢?
(3)假设设计在不同的工作模式下,输入的时钟和时序要求会不一样,那应该如何写约束文件?针对这个问题,楼主的做法是用最严的时序要求去约束整个设计,这样做是否正确?
(4)延续问题(3),若设计中有些路径不在最紧约束的范畴内,那之前的约束方式会让整个设计约束过紧,应该如何针对这些路径进行处理?(楼主知道可以TIG掉一些路径,或者用FROM TO,但是对于输入路径中<OFFSET IN>不用的路径有什么办法特殊处理呢?)

欢迎大家讨论,或者把自己在时序约束中遇到的问题一起放上来,大家一起帮忙解决。
发表于 2014-8-25 22:36:14 | 显示全部楼层
1.每个时钟都要约束,无论多高多低
2.offset in的约束是保证准确采样的,如果是源同步设计,那必须要加上offset in。如果是异步信号进入FPGA,那么就无需约束
3.约束BUFGMUX的输入时钟即可,软件会自动为BUFGMUX分配时序约束。
4.没明白你的问题。既然做了时钟选择,那么选择之后的时钟路径必须要满足最严苛的约束。
发表于 2014-8-25 23:01:00 | 显示全部楼层
回复 1# fanny_haiyun


    先学习一下数字电路中时序概念
发表于 2014-8-26 08:30:47 | 显示全部楼层
时序约束也是不懂啊
 楼主| 发表于 2014-8-26 10:10:52 | 显示全部楼层
回复 2# haitaox


   十分感谢!针对您回复的问题3,还有一个问题想问,BUFGMUX有两个时钟输入,假设这两个时钟的周期一致,相移不同,那么软件会按照哪个时钟去约束输出呢?
发表于 2014-8-26 13:30:03 | 显示全部楼层
你可以在ucf中,用PRIORITY的关键字来指定BUFGMUX的输出使用什么约束。
具体的解决方案见xilinx官方解释:
http://www.xilinx.com/support/answers/32445.htm

你提的这个问题很专业!
 楼主| 发表于 2014-8-27 19:51:45 | 显示全部楼层
回复 6# haitaox


   谢谢啦!也是在工程中遇到这个问题,所以想搞搞明白。
发表于 2014-8-28 13:30:51 | 显示全部楼层
回复 5# fanny_haiyun


   如果你选择用BUFGMUX 来切换时钟:ISE 只会选择一个源时钟的约束来约束BUFGMUX 的输出时钟,并进行源时钟和输出时钟之间的跨时钟分析(如果存在的话)。另一个时钟需要手动跑时序分析,如果不能满足是没有很好的办法的。VIVADO 会根据两个源时钟来约束和分析BUFGMUX 的输出时钟。


如果你是调整时钟源,布局布线不改动的话用最高时钟频率就可以了。
 楼主| 发表于 2014-8-28 17:45:46 | 显示全部楼层
回复 8# iidestiny


   谢谢!您的回答和我现在的理解一致,只是现在还用的是ISE,没有用过VIVADO。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-6-15 13:41 , Processed in 0.024797 second(s), 7 queries , Gzip On, Redis On.

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