HDLBits - Vectorr

2024. 12. 25. 14:53·HDLBits/Verilog

Given an 8-bit input vector [7:0], reverse its bit ordering.
그냥 뒤집?으라는 문제

단순히 생각해서 [0:7]을 하면 오류가 난다. 뒤집어서 선언하는건 막아놨기 때문
일단 하나씩 이렇게 적어도 되긴한다.

module top_module( 
    input  [7:0] in,
    output [7:0] out
);

    assign out = {in[0], in[1], in[2], in[3], in[4], in[5], in[6], in[7]};

endmodule

근데.. 많이 귀찮다
많아지면? 다 적을수는 없으니까 해결법 중 always문안에 for 루프를 사용하는 것도 괜찮다.

module top_module( 
    input  [7:0] in,
    output [7:0] out
);

    always @(*) begin
        for (integer i = 0; i < 8; i = i + 1) begin
            out[i] = in[7-i];
        end
    end

endmodule

아니면? generate를 사용하는 것도 괜찮아 보인다.
generate문은 컴파일 타임에 작동하여 하드웨어 인스턴스를 생성한다.
인스턴스를 생성한다 -> 이말은 되게 추상적으로 들리는데,
C언어 같은언어에서 쓰는 "함수"를 인스턴스 한다,,, 같은 느낌??으로 일단은 이해했다.

module top_module( 
    input  [7:0] in,
    output [7:0] out
);

    generate;
        genvar i;
        for (i = 0; i < 8; i = i + 1) begin : gen_block
            assign out[i] = in[7-i];
        end
    endgenerate

endmodule

뭐.. 상황마다 쓸일이 있다고 생각은 하는데 정확히 어떤 상황에 써야할진 아직 잘 모르겠다.

나중에 generate와 always@(*)의 차이를 자세히 적어보겠다.

저작자표시 비영리 변경금지 (새창열림)
'HDLBits/Verilog' 카테고리의 다른 글
  • HDLBits - Vector5
  • HDLBits - Vector4
  • HDLBits - Gates4
  • HDLBits - Vectorgates
Zi_Yoon
Zi_Yoon
머리 속에 정리하는 곳 <전자공학>
  • Zi_Yoon
    ZY_repo
    Zi_Yoon
  • 전체
    오늘
    어제
    • 분류 전체보기 (70)
      • HDLBits (25)
        • Verilog (19)
        • Circuits (4)
        • Verification (0)
      • IDEC 교육 (1)
        • Embedded C (13)
        • Verilog HDL (8)
      • Hardware (8)
        • RISC-V Project (1)
        • Computer Architecture (0)
        • AMBA (2)
        • FPGA (0)
        • 논문 읽기 (1)
        • ETC. (4)
      • 42서울 (13)
        • 리눅스 (12)
        • 네트워크 (1)
      • 생각 (1)
      • 취업 (1)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    axi
    비대칭 키
    IDEC
    vm
    lsblk
    fpga
    signal trap
    AMBA
    embedded
    RISC-V
    보안 쉘
    AXI4
    fucntion
    APT
    charater
    verilog
    AppArmor
    ARM
    verilator
    bit-wise and
    centos
    QUARTUS
    pointer
    debian
    ssh
    research rabbit
    hdlbits
    Keil
    c
    세션 키
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Zi_Yoon
HDLBits - Vectorr
상단으로

티스토리툴바