set_multicycle_path的原因
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了set_multicycle_path的原因相关的知识,希望对你有一定的参考价值。
set_multicycle_path是用来指定多周期路径的Verilog仿真指令,主要是为了限制多个时钟之间的信号同步,以便更准确地模拟电路行为。它可以用于指定多个时钟之间的信号同步,从而有助于更准确地模拟电路行为。它可以用于指定多个时钟之间的信号同步,从而有助于更准确地模拟电路行为。它还可以用于检查多个时钟之间的信号同步,以确保电路行为的正确性。 参考技术A 多周期路径约束允许用户根据设计时钟波形修改计时器确定的setup和hold关系。默认情况下,Vivado IDE时序分析执行单周期分析。这种分析可能过于限制,并且可能不适用于某些逻辑路径。最常见的例子是逻辑路径,它需要一个以上的时钟周期才能使数据在端点稳定。如果路径起点和终点的控制电路允许,Xilinx建议您使用多周期路径约束来放宽设置要求。根据您的意图,保留要求可能仍然保持原始关系。这有助于时序驱动算法将注意力集中在要求更严格且具有挑战性的其他路径上。它还可以帮助减少运行时间。 参考技术B 进击的芯片
关注
sdc中set_multicycle_path的解释 原创
2019-07-29 17:48:46
 13点赞

进击的芯片 
码龄8年
关注
最近遇到了set_multicycle_path的问题,网上看到几篇文章有些有自相矛盾的地方。自己研究了半天先将自己的理解整理如下。理解错误之处欢迎指正。
该命令的格式如下
set_multicycle_path path_multiplier [-setup|-hold] [-start|-end] -from <StartPoint> -through <ThroughPoint> -to <EndPoint>
其中,黑体部分重点说明
Default path_multiplier: Setup 1, Hold 0.
setup/hold :表明path_multiplier是针对setup(max delay)或者是hold(min delay)的操作。
start:表示要移动的clock为start clock也就是launch clock。hold默认移动该clk。
end:表示要移动的clock为end clock也就是capture clock。setup默认移动该clk。
当start clk和end clk为同频时,指定这两个选项是无意义的,因为此时两个clock频率一致。
SDC设计约束——时序异常约束
SDC设计约束(3)——时序异常约束
作者:夏风喃喃
参考:综合与时序分析的设计约束 —— Synopsys设计约束(SDC)实用指南
文章目录
一. 虚假路径
不需要满足任何时序要求的路径。实现工具在受约束时忽略此种路径上的时序。
如输出与输入无关的组合逻辑或时序逻辑,异步复位信号路径,输出为恒定值的时序逻辑时钟路径,两个无法直接通信的从机间的路径,虚拟时钟(用于指定输入输出延迟)和真实时钟(触发捕获触发器)间的虚假路径。
set_false_path(无需时序约束的路径)
set_false_path
#设置为建立或保持路径的虚假路径
[-setup]
[-hold]
#定义虚假路径的起始,终点与途径的元器件或时钟
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}无顺序,分开写则有途经顺序
#定义虚假路径上的过渡过程提供虚假规格
#如负边沿异步复位可建模为set_false_path -fall_from reset_n
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#命令的注释
[-comment comment_string]
二. 多周期路径
set_multicycle_path(触发器间传播需要多周期的路径)
set_multicycle_path
#设置为建立或保持分析的多周期路径
#例如-setup N将建立分析用的捕获沿向右移动N个周期,
#此时保持分析的捕获沿在此基础上需往前推一个周期,即右移了N-1个周期,
#这时-hold N-1将保持分析的捕获沿左移N-1个周期,实现多周期路径的建立保持分析
[-setup]
[-hold]
#多周期数的参考,当启动触发器与捕获触发器时钟频率不同时,
#-start参考了启动触发器的时钟,-end参考了捕获触发器的时钟
[-start][-end]
#定义多周期路径的起始,终点与途径的元器件或时钟
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}无顺序,分开写则有途经顺序
#定义多周期路径上的过渡过程提供规格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#周期的倍数,用于确定多周期的周期数
path_multiplier
#命令的注释
[-comment comment_string]
三. 组合电路路径
组合电路的时序约束中,若是纯组合逻辑,没有任何路径分支入时序部分,则可以用set_max_delay/set_min_delay
约束;若组合逻辑的中途有分支进入时序部分,并从时序部分分支出来,建议使用set_input_delay/set_output_delay
约束。
3.1 set_max_delay(组合路径最大延迟)
set_max_delay
#定义组合路径的起始,终点与途径的元器件或时钟
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}无顺序,分开写则有途经顺序
#定义组合路径上的过渡过程提供规格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#延迟的值
delay_value
#命令的注释
[-comment comment_string]
3.2 set_min_delay(组合路径最小延迟)
set_min_delay
#定义组合路径的起始,终点与途径的元器件或时钟
[-from from_list]
[-to to_list]
[-through through_list] #-through{P1,P2}无顺序,分开写则有途经顺序
#定义组合路径上的过渡过程提供规格
[-rise][-fall]
[-rise_from rise_from_list]
[-rise_to rise_to_list]
[-rise_throuhg rise_through_list]
[-fall_from fall_from_list]
[-fall_to fall_to_list]
[-fall_throuhg fall_through_list]
#延迟的值
delay_value
#命令的注释
[-comment comment_string]
以上是关于set_multicycle_path的原因的主要内容,如果未能解决你的问题,请参考以下文章
“'NSInternalInconsistencyException' 的替代原因,原因:'此 NSPersistentStoreCoordinator 没有持久存储。'”