阅读博客部分中的Timing Constraint博客可能是个好主意
这些论坛。
从工具的角度来看,如果工具可以将它们追溯到公共源,则时钟是“相关的”,
例如,单个输入时钟驱动多个DCM输出。
不考虑外部时钟
即使它们共享相同的PERIOD值,也与彼此相关。
创建FROM:TO约束
对于跨时钟域路径,首先使用TNM_NET为每个时钟创建时序组
然后使用FROM:TO样式约束来约束路径。
建议跨时空
约束使用“DATAPATHONLY”属性来避免大量的保持时间错误。
一个例子:
#系统时钟100 MHzNET“sys_clk”TNM_NET =“sys_clk”; TIMESPEC“TS_sys_clk”= PERIOD“sys_clk”10 ns HIGH 50%;#以太网时钟125 MHzNET“clk_125”TNM_NET =“clk_125”; TIMESPEC“TS_clk_125”= PERIOD“
clk_125“8 ns HIGH 50%;#时钟交叉路径需要较短的两个周期TIMMESPEC”TS_sys_to_125“= FROM”sys_clk“TO”clk_125“8.0 ns DATAPATHONLY; TIMESPEC”TS_sys_to_125“= FROM”clk_125“TO”sys_clk“8.0 ns DATAPATHONLY;
请注意,亚稳态保护与跨时钟域路径无关,而与之相关
从目标时钟域的第一个触发器到第二个触发器的路径。
那些失败
通常会被目标域的PERIOD约束所覆盖,但您需要
在该路径中额外松弛以覆盖第一个翻牌输出上可能的亚稳态延迟。
该
在该路径中更松弛,亚稳态延迟超过松弛的可能性越小。
该
在确定路径延迟时,工具不考虑亚稳态延迟。
这也是
值得注意的是,亚稳态延迟确实没有上限,但是
随着延迟的增加,超过特定延迟的概率会很快下降。
- Gabor
- Gabor
在原帖中查看解决方案
阅读博客部分中的Timing Constraint博客可能是个好主意
这些论坛。
从工具的角度来看,如果工具可以将它们追溯到公共源,则时钟是“相关的”,
例如,单个输入时钟驱动多个DCM输出。
不考虑外部时钟
即使它们共享相同的PERIOD值,也与彼此相关。
创建FROM:TO约束
对于跨时钟域路径,首先使用TNM_NET为每个时钟创建时序组
然后使用FROM:TO样式约束来约束路径。
建议跨时空
约束使用“DATAPATHONLY”属性来避免大量的保持时间错误。
一个例子:
#系统时钟100 MHzNET“sys_clk”TNM_NET =“sys_clk”; TIMESPEC“TS_sys_clk”= PERIOD“sys_clk”10 ns HIGH 50%;#以太网时钟125 MHzNET“clk_125”TNM_NET =“clk_125”; TIMESPEC“TS_clk_125”= PERIOD“
clk_125“8 ns HIGH 50%;#时钟交叉路径需要较短的两个周期TIMMESPEC”TS_sys_to_125“= FROM”sys_clk“TO”clk_125“8.0 ns DATAPATHONLY; TIMESPEC”TS_sys_to_125“= FROM”clk_125“TO”sys_clk“8.0 ns DATAPATHONLY;
请注意,亚稳态保护与跨时钟域路径无关,而与之相关
从目标时钟域的第一个触发器到第二个触发器的路径。
那些失败
通常会被目标域的PERIOD约束所覆盖,但您需要
在该路径中额外松弛以覆盖第一个翻牌输出上可能的亚稳态延迟。
该
在该路径中更松弛,亚稳态延迟超过松弛的可能性越小。
该
在确定路径延迟时,工具不考虑亚稳态延迟。
这也是
值得注意的是,亚稳态延迟确实没有上限,但是
随着延迟的增加,超过特定延迟的概率会很快下降。
- Gabor
- Gabor
在原帖中查看解决方案
举报