5.2异步时钟组(Asynchronous Clock Groups) 异步时钟和不可扩展的时钟无法安全定时。在分析期间,可以使用set_clock_groups命令忽略它们之间的时序路径。 创建异步时钟组 使用-asynchronous选项创建异步组。 set_clock_groups -name async_clk0_clk1 -asynchronous -group {clk0 usrclk itfclk} -group {clk1 gtclkrx...
set_clock_groups-asynchronous-group[get_clocks{clk_Aclk_B}] -group[get_clocks{clk_C}]-group… 如图1中结构,串行AD1和串行AD2接口都带有随路时钟SCLK1和SCLK2,SCLK1和SCLK2属于异步时钟;ADC串并转换后的数据需要经过跨时钟域处理(CDC),转到GCLK主时钟域,GCLK与ADC的时钟也属于异步时钟,因此约束命令如下:...
3.1.3 Set Clock Uncertainty Set Clock Uncertainty可以设置时钟网络的Skew,Clock Skew为时钟偏斜,表示同一时钟或生成时钟到达不同触发器存在时差,Uncertainty applies to 可设置setup,hold,setup/hold;simple uncertainty可以设置到不同的Objects,设置Objects对象可以是Clocks,Cell pins,I/O Ports;Interclock uncertainty只...
set_clock_groups -logically_exclusive -group{clk_A} -group {clk_B} 或 set_clock_groups–physically_exclusive -group{clk_A} -group {clk_B} 如图2中结构,可将CLKMUX1,CLKMUX2约束成互斥时钟组,约束命令如下: set_clock_groups - physically_exclusive -group[get_clocks {CLKMUX1}] -group[get_cl...
1.4 时钟组(clock group) 默认情况下,vivado分析各时钟下所有的路径(除非制定或使用clock group 或false path约束)。 时钟组约束set_clock_groups将关断指定的时钟组之间的时序分析,但并不关断时钟组内各时钟之间的时钟约束。set_false_path约束是单向的,但set_clock_group时序分析忽略是双向的。
set_clock_groups –async–groupCLKA–groupCLKB上述约束等效于 set_false_path–from [get_clocksCLKA] –to [get_clocksCLKB] set_false_path–from [get_clocksCLKB] –to [get_clocksCLKA] 但通常建议采用前者。如果是如下图所示情形,即CLKA和CLKB由外部晶振提供,分别通过MMCM生成各自的时钟,此时{CLK...
set_false_path -from [get_clocks CLKB] -to [get_clocks CLKA] 从最后一个例子可知,我们需要双向地禁用时序路径,但是如果设计中有多个异步时钟域,编写起来就非常麻烦。不知道您是否还记得第31篇中讲过的时钟约束方法,这种情况最好其实应该使用set_clock_groups设置不同的异步时钟组。
set_clock_groups:建立时钟组,Vivado不会对不同时钟组的时钟之间进行时序分析; set_false_path:将两个时钟之间的路径设置为false path后,不会对该路径进行任何时序分析; 根据时钟间的关系,可以做如下分类: 同步时钟:即两个时钟间有可预知的相对相位,通常它们的时钟树源自网表中的同一个根,且有一个公共周期; ...
某些异步信号间没有时钟关系,但是需要最大延迟约束。比如我们通常用set_clock_groups划分两个异步时钟域,但有时我们需要确保两个时钟域之间的路径延迟不要太高。这种情况下,我们就要用set_max_delay和set_false_path的命令组合(因为set_clock_groups的优先级更高,会取代set_max_delay,因此不能和其一块使用)。
设置时钟组(Set Clock Groups):用于定义异步时钟组,使得工具不对这些时钟组进行时序分析。 设置输入/输出延迟约束(Set Input/Output Delay):用于设置外部芯片到FPGA的时钟源输入延时,以及FPGA信号输出到外部芯片的输出延时。 设置时序例外路径(Exceptions):用于减少编译时间,降低约束的调试难度,以及阻止工具优化掉一些需要...