Create 16 D flip-flops. It's sometimes useful to only modify parts of a group of flip-flops. The byte-enable inputs control whether each byte of the 16 registers should be written to on that cycle. byteena[1] controls the upper byte d[15:8], while byteena[0] controls the lower byte d[7:0].
resetn is a synchronous, active-low reset.
All DFFs should be triggered by the positive edge of clk.
创建 16 D flip-flops。有时只修改一组触发器的一部分很有用。使能字节的输入控制是否应在该周期内写入 16 个寄存器中的每个字节。byteena[1] 控制上字节 d[15:8],而 byteena[0] 控制下字节 d[7:0]。
- module top_module (
- input clk,
- input resetn,
- input [1:0] byteena,
- input [15:0] d,
- output [15:0] q
- );
- always@(posedge clk)
- begin
- if(~resetn)
- q <= 0;
- else if(byteena[0]) //从这里开始错误!!!
- q[7:0] <= d[7:0];
- else if(byteena[1])
- q[15:8] <= d[15:8];
- end
- endmodule