vivado 创建主时钟

创建主时钟
主时钟是指用于为设计定义时序参考的时钟,而时序引擎可利用主时钟获取时序路径要求以及与其它时钟的相位关系。
计算主时钟插入延迟时应从时钟源点 (定义主时钟的驱动器引脚 / 端口位置)开始,一直到时钟扇出所至时序单元的时
钟引脚。
基于这个原因,定义主时钟时很重要的一点是要将主时钟定义在与设计边界相对应的对象上,这样主时钟的延迟以及
间接条件下的偏差,都可以得到精确计算。
典型的主时钟根包括:

" 输入端口 "

"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 之间存在无效的偏差计算。

相关推荐
ChipCamp8 小时前
Chisel芯片开发入门系列 -- 18. CPU芯片开发和解释8(流水线架构的代码级理解)
开发语言·青少年编程·fpga开发·scala·dsp开发·risc-v·chisel
I'm a winner13 小时前
基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程
linux·ubuntu·fpga开发
9527华安14 小时前
FPGA实现Aurora 8B10B数据回环传输,基于GTP高速收发器,提供6套工程源码和技术支持
fpga开发·aurora·gtp·高速收发器·sfp·8b10b
秋风战士16 小时前
通信算法之298: verilog语法generate和for介绍
fpga开发
hi9419 小时前
HBM Basic(VCU128)
fpga开发·hbm·高带宽内存
ARM+FPGA+AI工业主板定制专家1 天前
基于ARM+FPGA多通道超声信号采集与传输系统设计
linux·人工智能·fpga开发·rk3588·rk3568·codesys
Origin-VI1 天前
ZYNQ-按键消抖
fpga开发
风已经起了1 天前
FPGA学习笔记——简单的乒乓缓存(RAM)
笔记·学习·fpga开发
小眼睛FPGA1 天前
【盘古100Pro+开发板实验例程】FPGA学习 | 基于 UDP 的以太网传输实验例程
科技·单片机·学习·ai·fpga开发·fpga
cjie2211 天前
Verilog与SytemVerilog差别
fpga开发