第一,在一些公司里,reg clk=0,nrst=1,sel=0,像这样的赋值是要分开来写的,就是要用三个reg来写,一是不容易将位宽写错,二是便于以后程序的修改,而且每个语句后要加上说明.<br>
第二,#10最好不用数字,而定义成parameter变量,方便读程序和以后的引用.<br>
第三,wire [7:0] temp={dout[1:0],dout[7:2]};在定义变量时最好不要赋值.赋值用连续赋值语句<br>
第四,always @(posedge clk or negedge nrst)<br>
if (~nrst) dout<=0;<br>
else if (sel==1) dout<=din;<br>
else dout<=temp;<br>
alwyas后面的语句群要用begin-end,if/else后面即使是单语句,最好也用begin-end,养成习惯,因为if/else后如果没有一个过程块,那么在有多条语句时只执行一句的. |