创建主时钟
主时钟是指用于为设计定义时序参考的时钟,而时序引擎可利用主时钟获取时序路径要求以及与其它时钟的相位关系。
计算主时钟插入延迟时应从时钟源点 (定义主时钟的驱动器引脚 / 端口位置)开始,一直到时钟扇出所至时序单元的时
钟引脚。
基于这个原因,定义主时钟时很重要的一点是要将主时钟定义在与设计边界相对应的对象上,这样主时钟的延迟以及
间接条件下的偏差,都可以得到精确计算。
典型的主时钟根包括:
•
" 输入端口 "
•
"7 系列器件中千兆位收发器输出引脚 "
•
" 某些硬件原语输出引脚 "
输入端口
约束实例:
create_clock -name SysClk -period 10 -waveform {0 5} [get_ports sysclk]
该实例中,波形的占空比设定为 50% 。上面给出了变量 -waveform 的用法,并且只有在定义占空比不是 50% 的时钟
时才有必要使用该变量。对于差分时钟输入缓存,只需在差分对的 P 侧对主时钟进行定义。
7 系列器件中千兆位收发器输出引脚
千兆位收发器输出引脚,例如已恢复的时钟:
约束实例:
create_clock -name txclk -period 6.667 [get_pins gt0/TXOUTCLK]
建议: 对于面向 7 系列器件的设计,赛灵思还建议定义 GT 输入时钟,因为 Vivado 工具能够计算 GT 输出引脚上的预期
时钟,并将这些时钟与用户创建的时钟进行比较。如果时钟不同或者到 GT 的输入时钟丢失,工具会发出方法检查警
告。
注释: 对于面向 UltraScale 器件的设计,赛灵思不建议在 GT 的输出上定义主时钟,因为在定义相关电路板输入时钟
时,将自动导出 GT 时钟。
某些硬件原语输出引脚
某些硬件原语,例如, BSCANE2 的输出引脚不含连接同一原语输入引脚的时序 arc 。
重要提示: 在主时钟传递扇出中不应定义另外一个主时钟,因为这种情况不但不符合任何硬件现实,还会妨碍完整的
时钟插入延迟计算,从而阻碍正确的时序分析。如果发生任何这种情况,必须重新修改并修正约束。
下图给出了一个示例,其中时钟 clk1 在时钟 clk0 的传递扇出中定义。 clk1 从其定义位置 BUFG1 的输出开始覆盖
clk0 。因此, REGA 与 REGB 之间的时序分析就不会准确,因为 clk0 和 clk1 之间存在无效的偏差计算。
vivado 创建主时钟
cckkppll2025-03-26 18:09
相关推荐
156082072192 小时前
飞腾D2000与FPGA结合的主板baowxz9 小时前
FPGA管脚类型,及选择辣个蓝人QEX1 天前
【ZYNQ Linux开发】使用 boot.scr 启动 Linux 报错 Bad Linux ARM64 Image magic! 调试过程记录一条九漏鱼1 天前
uart verilog 三段式状态机FPGA_ADDA2 天前
基于VU37P的高性能采集板卡hahaha60162 天前
crc32代码设计XINVRY-FPGA2 天前
XCVP1902-2MSEVSVA6865 Xilinx FPGA Versal Premium SoC/ASIC霖002 天前
详解GPUFakeOccupational2 天前
【电路笔记 TMS320F28335DSP】McBSP 从源时钟得到 生成时钟 CLKG & 帧同步信号 FSGWater_Sounds3 天前
【FPGA开发】Ubuntu16.04环境下配置Vivado2018.3—附软件包