之前一阵子用vivado尝试建立一个fpga工程,使用zedboard,在建立过程中遇到时序问题,在此简单的介绍一下,有待完善
时序不满足要求,综合不能通过,时序约束问题主要包含以下四个方面:
1.约束不完整;2.约束路径长;3.逻辑深;4.不正确的过约束;
时序约束需要注意的是跨时钟域约束,在vivado或是ISE中默认认为时钟都是相关的,会导致不合理的时序约束。对于跨时钟域的处理是数据需要使用FIFO进行缓冲。
vivado中在Implemented Design下的Report clock Interaction 选项中查看时钟关系图,如下图
图中是一个简单的HDMI的demo的时序图,图中对各种颜色的色块都有描述,分别表示不同的时序约束路径,若是存在红色的色块,则表明那条时序约束路径不正确,需要重新进行时序约束,如果确定该路径是不需要的约束,可以做set false path处理,处理完所有约束后,保存写入时序约束信息到xdc文件中,重新综合。