본문 바로가기

Verilog/HDLbits

[HDLBits] Module shift8

1. 문제 및 설명

  • 모듈의 계층 구조는 한 모듈안에서 다른 모듈을 인스턴스화 함으로써 만들어집니다.
  • <module my_dff ( input clk, input d, output q );> 이 제공될 때 이 모듈을 세번 인스턴스화 하여 아래 모듈을 설계하세요. 

2. 모듈 정의

module top_module ( 
    input clk, 
    input [7:0] d, 
    input [1:0] sel, 
    output [7:0] q 
);

 

 

 

3. 답

module top_module ( 
    input clk, 
    input [7:0] d, 
    input [1:0] sel, 
    output [7:0] q 
);
    wire [7:0] q1, q2, q3;
    my_dff8 i0 (clk, d, q1);
    my_dff8 i1 (clk, q1, q2);
    my_dff8 i2 (clk, q2, q3);
    
    always@(*)
        begin
            case(sel)
                2'd0: q = d;
                2'd1: q = q1;
                2'd2: q = q2;
                2'd3: q = q3;
            endcase
        end
    
            
            

endmodule

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

[HDLBits] Module fadd  (0) 2025.11.18
[HDLBits] Module add  (0) 2025.11.02
[HDLBits] Module shift  (0) 2025.11.02
[HDLBits] Module name  (0) 2025.11.02
[HDLBits] Module pos  (0) 2025.11.02