先上报错的截图:
错误原因1:
生成了一个7bit的时钟信号,但是实际上只使用了4bit,而时序约束里直接把这个时钟信号所有都做了约束。这样就会让软件生成了一个信号n18,但是因为没有使用,软件又不约束这些高bit信号,最后出现这样的情况?(没搞明白)
约束也有问题:约束不能将多个时钟信号约为一个名字!!!!
问题2:
最关键 的问题应该是,在子模块里写了电平触发的组合逻辑,因为没有else所以生成了latch。软件在分析的时候把latch当成了时钟来生成(n18),所以导致了这个问题。
问题3:这是PHY-5031的问题
把所有的时钟布线资源都用完了。
工程中,一共用了18个时钟,都是333Mhz的。时钟越多,软件在布线的时候会故意把不同时钟域的信号拉的远一点,这导致频率反而会降低。
对于时钟来说,有专门的时钟树资源,并不需要刻意考虑时钟扇出大的问题。虽然稍微增加时钟的确有提高时钟频率的趋势,但是增加很多时钟反而会降低时钟频率。