方正园林建设监理中心网站附近装修公司联系方式
2026/5/21 16:44:19 网站建设 项目流程
方正园林建设监理中心网站,附近装修公司联系方式,感恩贺卡手工制作图片,投标网站建设关注、星标公众号#xff0c;精彩内容每日送达 来源#xff1a;网络素材在vivado中#xff0c;我们常用的时序约束指令主要包括如下几个方面#xff1a;类型命令说明时钟约束create_clock创建主时钟时钟约束create_generated_clock创建衍生时钟时钟约束set_clock_groups设置…关注、星标公众号精彩内容每日送达 来源网络素材在vivado中我们常用的时序约束指令主要包括如下几个方面类型命令说明时钟约束create_clock创建主时钟时钟约束create_generated_clock创建衍生时钟时钟约束set_clock_groups设置时钟组时钟约束set_clock_latency设置时钟延时时钟约束set_clock_sense设置时钟边沿敏感时钟约束set_clock_uncertainty设置时钟不确定度时钟约束set_system_jitter设置系统抖动时钟约束set_input_jitter设置输入抖动时钟约束set_external_delay设置外部延时输入 / 输出信号接口约束set_input_delay设置输入信号延时输入 / 输出信号接口约束set_output_delay设置输出信号延时时序例外约束set_false_path设置虚假路径时序例外约束set_multicycle_path设置多周期路径时序例外约束set_max_delay设置最大延时时序例外约束set_min_delay设置最小延时时序断言约束set_data_check约束数据到数据的建立 / 保持时间检查时序断言约束set_bus_skew设置总线偏斜断言其他约束set_case_analysis设置信号为固定数值其他约束group_path设置时序路径分组其他约束set_disable_timing设置中断时序弧其他约束set_max_time_borrow设置锁存器借用时间1. create_clock创建主时钟含义定义设计中的根时钟如外部晶振输入的时钟是所有时序分析的基准。使用方法create_clock -name clk_100mhz -period 10 [get_ports clk_in]-name指定时钟名称自定义便于识别-period时钟周期单位ns10ns对应100MHz[get_ports clk_in]指定时钟源端口FPGA的输入引脚关键参数-waveform {0 5}定义时钟边沿位置默认占空比50%0ns上升沿5ns下降沿-add为同一端口添加多个时钟如双沿采样场景2. create_generated_clock创建衍生时钟含义定义由主时钟通过分频、倍频或相位偏移生成的时钟如PLL输出时钟与主时钟存在确定的相位关系。使用方法create_generated_clock -name clk_div2 -source [get_ports clk_in] \-divide_by 2 [get_pins reg_div/Q]-source指定源时钟主时钟的端口或引脚-divide_by 2分频系数此处为2分频[get_pins reg_div/Q]衍生时钟的生成点如寄存器输出引脚常用参数-multiply_by倍频系数如-multiply_by 2实现2倍频-phase相位偏移单位deg如-phase 90表示偏移90度-invert时钟反转实现180度相位偏移3. set_clock_groups设置时钟组含义将相互异步的时钟划分为不同组告知工具这些时钟间无需进行时序分析避免虚假时序违规。使用方法set_clock_groups -name async_groups -asynchronous \-group [get_clocks clk_100mhz] \-group [get_clocks clk_125mhz]-asynchronous标记组间时钟为异步关系-group指定时钟组可包含多个时钟其他模式-physically_exclusive互斥时钟同一时刻只有一个时钟有效如切换时钟源4. set_clock_latency设置时钟延时含义定义时钟从源到寄存器时钟端的传播延时包括网络延时和器件固有时延分为理想延时和实际延时。使用方法# 设置时钟网络的理想延时不考虑布局布线影响set_clock_latency 2.5 [get_clocks clk_100mhz]# 设置输入/输出延时相对于时钟源set_clock_latency -source 1.2 [get_clocks clk_100mhz]无选项默认指时钟到达寄存器的延时目的地延时-source指时钟从源到FPGA引脚的延时源端延时5. set_clock_sense设置时钟边沿敏感含义指定时钟沿的采样方向上升沿/下降沿默认情况下工具自动识别特殊场景需手动指定。使用方法set_clock_sense -positive [get_clocks clk_100mhz] # 上升沿敏感set_clock_sense -negative [get_clocks clk_100mhz] # 下降沿敏感6. set_clock_uncertainty设置时钟不确定度含义考虑时钟抖动jitter和偏斜skew的综合影响为时序分析预留额外余量确保设计可靠性。使用方法set_clock_uncertainty 0.5 [get_clocks clk_100mhz]数值表示时钟不确定性的总量单位ns工具会在建立时间和保持时间分析中自动减去/加上该值。常用参数-setup仅对建立时间生效、-hold仅对保持时间生效7. set_system_jitter设置系统抖动含义定义外部系统引入的时钟抖动如晶振抖动与set_clock_uncertainty的区别在于系统抖动是外部引入的而不确定度包含内部偏斜。使用方法set_system_jitter 0.3 [get_clocks clk_100mhz]8. set_input_jitter设置输入抖动含义指定输入时钟的抖动特性针对外部输入的时钟信号影响时钟的不确定性计算。使用方法set_input_jitter [get_clocks clk_ext] 0.2第一个参数为外部时钟第二个参数为抖动值单位ns9. set_external_delay设置外部延时含义定义FPGA外部电路的延时输入信号从外部源到FPGA引脚或输出信号从FPGA引脚到外部目的地的延时用于接口时序分析。使用方法# 输入信号外部电路到FPGA引脚的延时占时钟周期的30%set_external_delay -input 3 [get_clocks clk_100mhz]# 输出信号FPGA引脚到外部电路的延时占时钟周期的20%set_external_delay -output 2 [get_clocks clk_100mhz]10. set_input_delay设置输入信号延时含义定义外部输入信号到达FPGA引脚后相对于时钟沿的有效建立时间窗口用于确保输入数据在时钟采样前稳定。使用方法set_input_delay -clock clk_100mhz -max 3 [get_ports data_in]set_input_delay -clock clk_100mhz -min 0.5 [get_ports data_in]-clock指定采样该输入信号的时钟-max输入信号的最大延时数据最晚到达时间-min输入信号的最小延时数据最早到达时间单位为 ns需根据外部电路延时特性设置通常占时钟周期的 20%-30%11. set_output_delay设置输出信号延时含义定义 FPGA 输出信号到达外部器件所需的延时确保外部电路能在其时钟沿前稳定采样数据。使用方法set_output_delay -clock clk_ext -max 2.5 [get_ports data_out]set_output_delay -clock clk_ext -min 0.3 [get_ports data_out]-clock指定外部电路的采样时钟数值表示输出信号相对于外部时钟的延时需匹配外部器件的建立 / 保持时间要求12. set_false_path设置虚假路径含义标记无需进行时序分析的路径通常是异步时钟域间路径或逻辑上不可能激活的路径减少工具分析开销。使用方法# 异步时钟间的路径set_false_path -from [get_clocks clk_100mhz] -to [get_clocks clk_125mhz]# 特定端口到模块的路径set_false_path -from [get_ports reset] -to [get_cells *]-from/-to指定路径的起点和终点时钟、端口、单元等典型应用复位信号路径、异步时钟域跨域路径、测试模式专用路径13. set_multicycle_path设置多周期路径含义允许数据在多个时钟周期内完成传输适用于慢路径工具会放宽时序要求。使用方法# 建立时间允许3个时钟周期完成传输set_multicycle_path 3 -setup -from [get_clocks clk_fast] -to [get_clocks clk_slow]# 保持时间对应调整为2个周期通常比setup少1set_multicycle_path 2 -hold -from [get_clocks clk_fast] -to [get_clocks clk_slow]-setup/-hold分别设置建立时间和保持时间的多周期数常用于跨时钟域数据传输或低速外设接口如 SPI、I2C14. set_max_delay设置最大延时含义为特定路径指定最大允许延时覆盖默认时钟约束确保关键路径不超时。使用方法set_max_delay 8 -from [get_ports ctrl_in] -to [get_ports ctrl_out]数值为路径允许的最大延时ns常用于对响应速度有严格要求的路径15. set_min_delay设置最小延时含义为特定路径指定最小允许延时防止因路径过短导致的保持时间违规信号变化过快。使用方法set_min_delay 0.8 -from [get_cells reg1/Q] -to [get_cells reg2/D]确保数据在采样时钟沿后保持稳定的最短时间避免竞争冒险16. set_data_check数据到数据的建立/保持时间检查含义定义两个数据信号间的相对时序关系非时钟触发常用于握手信号或异步接口。使用方法# data信号需在valid信号有效后至少1ns建立且保持2nsset_data_check -setup 1 -hold 2 -from [get_ports valid] -to [get_ports data]检查数据信号相对于控制信号的稳定性确保握手逻辑可靠17. set_bus_skew总线偏斜断言含义约束总线内各信号的最大 skew偏斜确保总线信号同步变化如并行数据总线。使用方法set_bus_skew 1.2 [get_ports data_bus[*]]数值为总线内任意两个信号的最大允许延时差防止因布线长度差异导致的采样错误18. set_case_analysis设置信号为固定数值含义强制指定信号为恒定值0或1用于简化逻辑分析或验证特定工作模式。使用方法set_case_analysis 1 [get_ports enable] # 强制enable信号为高电平常用于排除未使用的逻辑分支优化综合结果19. group_path时序路径分组含义将相似路径归类便于集中设置时序约束或查看分析报告。使用方法group_path -name axi_path -from [get_clocks axi_clk] -to [get_clocks axi_clk]set_max_delay 10 [get_paths -group axi_path] # 为分组设置统一约束提高约束管理效率尤其适用于大型设计20. set_disable_timing中断时序弧含义切断特定逻辑单元间的时序弧Timing Arc工具将忽略该路径的时序分析。使用方法set_disable_timing -from A -to Y [get_cells mux1]适用于冗余逻辑或测试模式下的无效路径避免误导性时序违规报告21. set_max_time_borrow设置锁存器借用时间含义为锁存器Latch指定最大允许的时间借用Time Borrow平衡前后级路径延时。使用方法set_max_time_borrow 2 [get_cells latch1]锁存器可通过延长前级数据有效时间 “借用” 后级的时序余量此命令限制最大借用值全文完声明我们尊重原创也注重分享文字、图片版权归原作者所有。转载目的在于分享更多信息不代表本号立场如有侵犯您的权益请及时联系我们将第一时间删除谢谢想要了解FPGA吗这里有实例分享ZYNQ设计关注我们的公众号探索

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询