본문 바로가기

Verilog/HDLbits

[HDLBits] Dff16e

1. 문제 및 설명

  • Active Low 동기식 리셋을 가지는 16비트 플리플롭을 생성하시오.
  • byteena[0[은 하위 바이트를 byteena[1] 상위 바이트의 쓰기 동작을 수행할지 여부를 제어합니다.

 

2. 모듈 정의

module top_module (
    input clk,
    input resetn,
    input [1:0] byteena,
    input [15:0] d,
    output [15:0] q
);

 

 

 

3. 답

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 <= 16'b0;
            else
                begin
                	if(byteena[1])
                    	q[15:8] <= d[15:8];
                    if(byteena[0])
                        q[7:0] <= d[7:0];
                end
        end                  

endmodule
 

'Verilog > HDLbits' 카테고리의 다른 글

[HDLBits] Exams/m2014 q4b  (0) 2025.12.31
[HDLBits] Exams/m2014 q4a  (0) 2025.12.31
[HDLBits] Dff8ar  (0) 2025.12.22
[HDLBits] Dff8p  (0) 2025.12.20
[HDLBits] Dff8r  (0) 2025.12.20