有时候写verilog经常会忘记一些东西,这次我写一个CPU的时候发现自己写模块的时候有几个错误,第一个就是我居然没有实例化;第二个就是我把模块放在awlays语句里面,综合的时候没有报错,可是仿真的时候就出现致命错误,后来修改过后就没有fetal error;第三个错误是对一个模块实例化了两次并且输出是一样的;错误第四个,模块调用的时候还在一个always语句中对输出赋值;第五个错误,在模块调用的时候我发现在模块中是reg类型的信号,在输出主模块就变成了wifi信号,这个要注意啊!
在写多条线结合在一起的时候,要加括号:
result <= {{12{operand[12]} ,result};
在写仿真文件的时候,用到integer要再initial外面就声明。不然报错。