先贴出两段看起来差不多的代码,大家可以想一想,哪个是不好的风格,为什么?
代码1:
module test( output reg odat, input clk, input idat1,idat2,ictrl1,ictrl2 );
always @ (posedge clk) begin if(ictrl2) odat <= idat2 ; if(ictrl1) odat <= idat1 ; end
endmodule
代码2:
module test( output reg [3:0] odat, input clk, input idat, input [3:0] ictrl );
always @ (posedge clk) begin if (ictrl[0]) odat[0] <= idat ; if (ictrl[1]) odat[1] <= idat ; if (ictrl[2]) odat[2] <= idat ; if (ictrl[3]) odat[3] <= idat ; end
endmodule
有人知道答案了吗?不管有没有思路,看下面的结构图就会明白了:
代码1的结构图:
代码2的结构图:
|