
时序约束
cigarliang1
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STA静态时序分析学习参考
推荐西南交通大学邸志雄老师的网络公开课 《数字集成电路静态时序分析基础》链接:https://www.bilibili.com/video/BV1if4y1p7Dq静态时序分析的经典书籍:《Static Timing Analysis forNanometer Designs》 J. Bhasker • Rakesh Chadha,下面链接为经过热心网友翻译的链接:https://www.zhihu.com/people/zhao-jun-jun-19/posts?page=2...原创 2021-08-24 16:31:25 · 946 阅读 · 0 评论 -
时序约束之 set_multicyle_path (2)
(本文参考xilinx官方文档,ug903)本文讲解launch clk和capture clk在不同时钟域的情况。分两种情况讲解,slow to fast和fast to slow,即慢时钟到快时钟和快时钟到慢时钟域。一、slow to fast做如下假设:Tclk1 = 3Tclk2在默认情况下,setup edge和hold edge的关系如下:使用如下约束:set_multicycle_path 3 -setup -from [get_clocks CLK1] -原创 2020-08-07 14:15:04 · 813 阅读 · 0 评论 -
xlinx vivado设计过程中的时序约束问题
Vivado工程经验与时序收敛技巧:https://blog.csdn.net/shshine/article/details/52451997如何解决fpga high fanout问题:https://blog.csdn.net/shshine/article/details/52451997(* KEEP="TRUE" *)使用:https://www.cnblogs.com/6852w/p/11266680.html...原创 2020-07-22 12:48:59 · 507 阅读 · 0 评论 -
时序约束之 定义源时钟
xilinx FPGA外部源时钟的接入有两种方式:1.单端时钟接入。2差分时钟接入。一、在单端情况下:创建一个周期10ns,占空比50%,无相位移的时钟,其sdc约束如下:create_clock -period 10 [get_ports sysclk]创建一个周期10ns,占空比25%,相位移90度,命名为devclk的时钟,约束如下:create_clock -name devclk -period 10 -waveform {2.5 5} [get_ports syscl.原创 2020-08-13 10:06:32 · 710 阅读 · 0 评论 -
时序约束之 set_multicyle_path (1)
在launch clk和capture clk在同一时钟域的情况下。hold检查:默认情况下,hold检查的沿应该是在T=20ns时刻(较setup capture edge早一个cycle)。这种检查机制好不好呢?显然不好。为什么呢?(可以自己画波形,其实波形已经在图3中了)。从图中看到这样的hold 检查方式,会导致hold可能过度悲观,很难满足hold time的要求。因此,我们需要像单cycle check的情况一样,即hold检查的沿应该和launch clk的edge一致(T=0原创 2020-08-07 10:26:13 · 1268 阅读 · 0 评论 -
时序约束之 set_max_delay / set_min_delay
下文参考xilinx ug903文档。set_max_delay 用于覆盖默认的setup(recovery)约束。set_min_delay 用于覆盖默认的hold(removal)约束。语法格式:set_max_delay <delay> [-datapath_only] [-from <node_list>][-to <node_list>] [-through <node_list>]set_min_delay <..原创 2020-08-07 22:33:54 · 20353 阅读 · 0 评论 -
时序约束之 set_clock_groups
一、简述对于异步时钟,通常会使用set_clock_groups、set_false_path做时序约束,使得不对跨异步时钟做时序分析。这样做可以缩短综合编译时间,且将宝贵的片内资源用在其他必要的时序约束上。set_clock_groups 将不会对不同group的时钟做时序分析,对同一group的时钟不受影响。不同于set_false_path约束,set_false_path是有方向的(-from -to 只能做单方向的时序约束),set_clock_groups 将会对-group的...原创 2020-08-13 14:52:13 · 16599 阅读 · 0 评论 -
时序违例的解决思路
参考UG906.• 逻辑延迟百分比过高(逻辑延迟 (Logic Delay))○ 逻辑层次是否过多? (逻辑级数 (Logic Levels))○ 是否存在阻碍逻辑最优化的任何约束或属性? (Don't Touch 或 Mark Debug)○ 路径是否包含具有高逻辑延迟的单元, 例如 RAMB 或 DSP 等?○ 当前路径拓扑结构的路径要求是否过于苛刻? (要求 (Requirement))• 高信号线延迟百分比(信号线延迟 (Net Delay))○ 在路径中是否有任何高扇出信号线? (原创 2020-08-12 09:18:50 · 4439 阅读 · 0 评论 -
时序约束之 建立时间与保持时间 (setuptime holdtime)
对建立时间和保持时间的理解是时序约束的重中之重,在网络上看到一个讲解的非常好的视频课程。https://www.bilibili.com/video/BV1MU4y187jYsetup-hold分析,又叫max-min分析。可以带着几个问题看视频课程:1.setup分析为什么是在下一个时钟沿分析,而hold分析是在本时钟沿分析?2.为什么会出现setup违例?如何解决setup违例?3.为什么会出现hold违例?如何解决hold违例?...原创 2021-08-24 12:02:31 · 1161 阅读 · 0 评论