synplify综合网表逻辑与rtl设计不一致
时间:10-02
整理:3721RD
点击:
在用synplify_premier综合设计的时候,没有添加任何约束,综合过程中没有错误(4000+警告,没有仔细看),逻辑也没超出所选fpga芯片的限制(75%),使用其生成的.vm网表进行仿真时发现有些功能没有实现,追查网表后发现生成的逻辑和rtl设计的逻辑不同,倒不是说简单的前仿真和后仿真结果不一致,举两个例子如下:1.时钟选择部分没起作用,直接将其中一个时钟作为时钟源提供给后级使用,没有看到有做时钟选择的迹象;
2.生成了奇怪的逻辑,使用慢时钟去采样快时钟,产生一个控制信号,然后提供给后一级使用;
3.rtl设计中有调用fpga的pll资源(fpga型号为spartan6),调用时pll只有一个时钟输入和一个时钟输出端口,在网表中发现该模块的输入
和输出端口有很多,而且pll还会产生一个控制信号,作为后面很多逻辑的CE输入,而且这个信号还一个为0,导致后面逻辑功能无法启动。
期待大家给出建议!
2.生成了奇怪的逻辑,使用慢时钟去采样快时钟,产生一个控制信号,然后提供给后一级使用;
3.rtl设计中有调用fpga的pll资源(fpga型号为spartan6),调用时pll只有一个时钟输入和一个时钟输出端口,在网表中发现该模块的输入
和输出端口有很多,而且pll还会产生一个控制信号,作为后面很多逻辑的CE输入,而且这个信号还一个为0,导致后面逻辑功能无法启动。
期待大家给出建议!
把它的某些高级功能去掉试试,比如“fix gated clock","fix generated clock"
嗯,试了一下,这个方法行得通,谢谢啦!
我这个是使用了工作站上的synplify做的综合,v12左右的版本吧,用的synplify_premier做的综合,
后来又试了试本机上的2011的synplify,即使没有关掉上述的高级选项,综合出来的结果也是正确的,郁闷了。
被这个问题卡了好久了,板子太小了,哎。
把它的某些高级功能去掉试试,比如“fix gated clock","fix generated clock"
