1、primary clock——create_clock
1)管脚输入时钟
2)gigabit transceiver的输出管脚,例如被IP核恢复的时钟
2、生成时钟 create_generated_clock
1)用户自定义时钟
2)自动生成时钟,如:PLL/MMCM/BUFR primitive
IP核名字为clkip
生成时钟的net定义的名字clkip/cpuclk,因此生成时钟名字为:cpuclk
通过上面的语句可以使用cpuclk来命名生成时钟,不用管它自己的pin的名字。
对生成时钟进行重命名
3、clock ground
通常vivado认为时钟是相关的,那么这种情况下,我们需要告诉vivado哪些时钟是不相关的
1)
同源时钟组是同步的,但是两个时钟组的源时钟不同,osc1和osc2是异步的,所以生成时钟也是异步的,通过上面的语句因此要告诉VIVADO:
clk0发出,clk1捕获这条路径不分析;但是clk1发出,clk0捕获这条路径还是会被分析,因此还要增加clk1_clk0
2)
两个时钟,只选其一的情况下的约束
3)跨时钟域
发起沿,捕获沿最短有2ns关系,但clk0为5.125ns,而clk1为6.666ns时,0.01ns明显不满足要求。
注意:这种不分析,不代表这些情况可以正常工作,因此去掉分析也要保证能正常工作。
4、差分时钟,只对P端约束即可
5、UCF和XDC的比较