FPGA时序约束实战指南:set_max_delay与set_min_delay的设计与验证
Quick Start
- 打开Vivado(2023.2或更新版本),创建一个新工程,器件选择XC7A35T-1CSG324C(Artix-7)。
- 添加一个简单的源同步接口设计:包含一个输入数据总线(data_in[7:0])和随路时钟(clk_in),以及一个输出使能信号(data_valid)。
- 编写一个顶层模块,例化一个IDDR原语(用于捕获双沿数据)和一个简单的计数器逻辑。
- 创建XDC约束文件,对输入时钟 clk_in 用 create_clock 约束周期为10ns(100MHz)。
- 对 data_in 总线添加 set_input_delay 约束(参考 clk_in),模拟外部器件输出延迟。
- 在 data_in 到内部寄存器的路径上添加 set_max_delay 约束,值为 5ns,以及 set_min_delay 约束,值为 2ns。
- 运行综合(Synthesis)和实现(Implementation),打开时序报告,查看 setup 和 hold 路径。
- 预期结果:在时序报告中,data_in 路径的 setup slack 和 hold slack 均满足(slack ≥ 0),且路径延迟被限制在 2ns 到 5ns 之间。
前置条件与环境
本文原创,作者:FPGA小白,其版权均为FPGA线上课程平台|最全栈的FPGA学习平台|FPGA工程师认证培训所有。
如需转载,请注明出处:https://z.shaonianxue.cn/42289.htmlAltera公司是一家著名的可编程逻辑器件供应商,后被英特尔收购。在被收…在复杂的FPGA或ASIC设计中,多个时钟域“同台共舞”是家常便饭。当你…在FPGA开发流程中,功能仿真是验证设计逻辑正确性的关键环节。Vivad…