본문 바로가기
728x90
반응형

VLSI/Design2

[SystemVerilog] generate-for loop와 for loop의 차이 [SystemVerilog] generate-for loop와 for loop의 차이 1. generate-for loop설명 컴파일 타임에 실행: generate 블록 안의 for문은 컴파일 시간에 반복적으로 실행되며, 그 결과로 고정된 하드웨어 구조를 생성한다.하드웨어 인스턴스 생성: generate 블록 내에서 반복된 코드는 물리적 하드웨어 리소스로 변환됩니다. 즉, 각 반복마다 새로운 하드웨어가 생긴다. 이 반복은 정적이기 때문에, 반복 횟수가 미리 정해져 있어야 한다.genvar 사용: generate 블록에서는 genvar를 사용하여 반복 변수를 정의하는데, 이 변수는 컴파일 타임 변수로, 하드웨어 구조를 생성할 때만 사용된다. 이 변수는 시뮬레이션 중에는 값을 가지고 있지 않고 사라진다.Ex.. 2024. 10. 18.
인코더와 디코더(Encoder and Decoder) 인코더(Encoder) : 신호를 특정 코드로 변환시키는 회로 2^n비트의 입력을 n비트의 출력으로 암호화한다. 2^n개의 입력 신호 중 1개만 1이 되면, 1에 대응되는 n비트를 가진 암호가 출력된다. 4 x 2 인코더를 구현해보자(n=2). module encoder( y0, y1, y2, y3, a0, a1); input y0, y1, y2, y3; output a0, a1; assign a1 = ~y0 & ~y1; // y0과 y1를 반전시키고 AND 연산을하면 a1가 된다. assign a0 = ~y0 & ~y2; // y0과 y2를 반전시키고 AND 연산을하면 a0이 된다. endmodule 디코더(Decoder) : 특정 코드를 신호로 출력하는 회로 n비트의 입력을 2^n비트의 출력으로 해독.. 2022. 7. 26.
728x90
반응형