关于verilog代码修改的几点感悟

最近,工程的一部分代码行为仿真正确,而且用ISE自带的xst综合工具也能综合完成,有警告,但没有错误,但是综合后的仿真结果却不对。调试了好长时间,才把代码修改完善,综合后仿真结果终于正确了。

1、假如综合时出错了,一定仔细阅读错误提示,找与之相关的代码部分,也可以看看综合时出现的警告,有没有核错误提示相关的。认真分析,错误出现在哪里,最终归结到代码的修改上。如果觉得可能是某部分代码有问题,可以先注释掉这部分代码(在没有语法错误的前提下),再综合,如果综合成功了,就说明这部分代码有问题,再仔细推敲这部分代码。

2、假如综合成功了,但综合后仿真的结果不正确,则从出错的那个信号还是着手,从代码里找与它相联系的代码,认真分析一下。如3个等于号“===”或"!=="都会影响综合结果。可以从仿真波形中找信息,如果是行为仿真,代码里所有的信号波形都可以看到,仔细查看哪些取值不正确,然后找对应的代码进行修改。如果是综合后仿真,代码里面的信号大部分在仿真波形中找不到了(至今我也不知道怎么看),但是Testbench中的信号可以看到,可以把verilog模块中自己想看的某个信号一层一层传递过来,直到testbench里,然后就可以看到这个信号综合后仿真的取值了。

总之,发现了错误,要仔细阅读它,看与之相关的代码和警告,认真分析,再结合着仿真的波形,查看出错的信号的波形值,修改与之相关的代码。

你可能感兴趣的:(veirlog)