最近,工程的一部分代码行为仿真正确,并且用ISE自带的xst综合工具也能综合完成,有警告,但没有错误,可是综合后的仿真结果却不对。调试了好长时间,才把代码修改完善,综合后仿真结果终于正确了。ide
一、假如综合时出错了,必定仔细阅读错误提示,找与之相关的代码部分,也能够看看综合时出现的警告,有没有核错误提示相关的。认真分析,错误出如今哪里,最终归结到代码的修改上。若是以为多是某部分代码有问题,能够先注释掉这部分代码(在没有语法错误的前提下),再综合,若是综合成功了,就说明这部分代码有问题,再仔细推敲这部分代码。工具
二、假如综合成功了,但综合后仿真的结果不正确,则从出错的那个信号仍是着手,从代码里找与它相联系的代码,认真分析一下。如3个等于号“===”或"!=="都会影响综合结果。能够从仿真波形中找信息,若是是行为仿真,代码里全部的信号波形均可以看到,仔细查看哪些取值不正确,而后找对应的代码进行修改。若是是综合后仿真,代码里面的信号大部分在仿真波形中找不到了(至今我也不知道怎么看),可是Testbench中的信号能够看到,能够把verilog模块中本身想看的某个信号一层一层传递过来,直到testbench里,而后就能够看到这个信号综合后仿真的取值了。调试
总之,发现了错误,要仔细阅读它,看与之相关的代码和警告,认真分析,再结合着仿真的波形,查看出错的信号的波形值,修改与之相关的代码。it