创建基本的时钟周期约束
1、Organizing Your Constraints
Xilinx建议将时序约束和物理约束分别存放在不同的XDC文件中!
2、Clock Description
3、Primary Clock 主时钟
4、Generated Clock 生成时钟
生成时钟分为两类:(1)用户自定义的时钟 (2)自动生成时钟
(1)对于自动生成的时钟是指由CMB生成的时钟,其中CMB可以是MMCM、PLL、BUFR,一旦创建主时钟周期约束,vivado会自动据此推断生成时钟周期而无需人工干预;
(2)对于用户自定义的时钟,如下图所示:
5、report_clocks
6、Rename Tool-Generated Clocks 重命名自动生成的时钟
7、Clock Group 时钟组
- Asynchronous Clock Groups 异步时钟分组
- Exclusive Clock Groups 独立时钟分组
8、Unexpandable Clocks 不可扩展时钟
不可扩展时钟是指时钟引擎无法在1000个时钟周期内找到两个时钟边沿对其的情形,例如clk1=5.125ns,clk2=6.666ns,两者分别由两个MMCM生成,在这种情形下,如果这两个时钟之间存在跨时钟域的数据交互,那么默认情况下,Vivado会认为两者的setup requirement为0.01ns,显然这是不合常理的。通常,我们将不可扩展时钟归类为异步时钟处理。
9、Clock Relationships