1.今天明白了Verilog 中的模块调用。
首先模块你可以写在一个.v文件中,也可以写在多个.v文件中,至少我试了,都正确。
调用的时候在主模块中写入这么一句话:
[将调用的子模块的名字] [自己在主模块中为子模块命的名] (a(b),c(d), ... );
注意貌似这里的输入输出只要不冲突,就是不要出现两个输入连接在一起的情况,应该都行。
2..bdf文件中的模块名不能是.bdf的文件名。
3.文件的名字不能使用大写。
4.FIFO的例化,我比较奇怪,为什么特权同学不建立一个.bdf文件,而老是例化,难道嫌麻烦?我感觉建立一个.bdf文件比较直观。
5.TestBench仿真的时候,要保证源程序中的每一个值开始都有确定的值。
6.利用assign语句,可以省掉好多寄存器。
7.听说FIFO的设计难点在于怎么判断空满状态。保证在满的时候不能写,空的时候不能读。