Vivado工具在编译时通常会自动识别设计中的时钟网络,并将其分配到专用的时钟布局布线资源中。通过对某些时钟网络设置CLOCK_DEDICATED_ROUTE值为FALSE,可以将被识别为时钟网络并按照时钟网络进行布局布线的时钟信号安排到通用的布线资源中。比如,某些时钟信号由于设计疏忽或其它原因,没有被安排到FPGA器件的时钟专用引脚上,在编译的时候就会报错,此时就可以使用CLOCK_DEDICATED_ROUTE约束来忽略这个错误。 实例1:忽略关于时钟布线的编译ERROR 我们有一个设计,输入到FPGA的图像数据同步时钟image_sensor_pclk信号,由于没有分配到FPGA内部的MRCC或SRCC引脚上,在编译时,Vivado通常可能会报错。 此时,我们可以通过在工程的.xdc约束文件中添加如下CLOCK_DEDICATED_ROUTE命令,来忽略这个报错,让编译继续进行。 当然,这个约束通常不建议乱用,被施加了CLOCK_DEDICATED_ROUTE FALSE的时钟网络,它将被分配到通用布局布线资源中,若这是一个时序关键路径上时钟,这样的行为很可能会带来一些不期望的设计问题。 实例2:查看时钟资源 对于一个已经编译过的工程,点击RunImplementation,打开实现界面。 此时,Reports菜单出现了很多可视报告项,点击Report Clock Utilization。 此时,在Clock Utilization界面下可以查看到当前工程所有占用到时钟布局布线资源的网络。
|