1.基础时钟
- 通常是晶振时钟(get_ports),也可以是高速收发器时钟(get_pins)
2. 派生时钟约束
- 对于自动生成的时钟(如MMCM/PLL生成的时钟)我们不需要做任何约束,只需要对其源时钟做约束即可。
- 自动推导的好处在于当MMCM/PLL/BUFR的配置改变而影响到输出时钟的频率和相位时,用户无需改写约束,Vivado仍然可以自动推导出正确的频率/相位信息。劣势在于,用户并不清楚自动推导出的衍生钟的名字,当设计层次改变时,衍生钟的名字也有可能改变。但由于该衍生时钟的约束并非我们自定义的,因此可能会没有关注到它名字的改变,当我们使用者这些衍生时钟进行别的约束时,就会出现错误。
- 对于我们RTL设计的分频时钟需要进行约束。
- 进行派生时钟约束时,source时钟只能用get_pins/get_ports,不能用get_clocks