HDL과 검증
위와 같이 parameter를 사용하여 module을 작성하는 장점으로 올바른 것은?
module adder #(parameter W = 8) (
input [W-1:0] a, b,
output [W:0] s
);
assign s = a + b;
endmodule
- Aparameter를 사용하면 회로가 자동으로 빨라진다
- Bparameter의 값은 칩이 동작하는 중에 자유롭게 바꿀 수 있다
- C사용하는 곳마다 W를 지정하여, 같은 기술로 8비트나 16비트 등 폭이 다른 가산기를 만들 수 있다
정답과 해설 보기
정답: C. 사용하는 곳마다 W를 지정하여, 같은 기술로 8비트나 16비트 등 폭이 다른 가산기를 만들 수 있다
parameter는 module을 사용할 때 값을 지정할 수 있는 상수입니다. 비트 폭이나 FIFO의 깊이 등을 parameter로 해 두면 하나의 기술을 다양한 크기로 재사용할 수 있어, 비슷한 회로를 여러 번 작성하는 수고와 오류를 줄일 수 있습니다. 값은 논리 합성 시에 정해지며, 각 값에 맞는 크기의 회로가 만들어집니다. 칩이 동작하는 동안 바뀌는 값이 아니므로, 실행 중에 바꾸고 싶은 설정은 레지스터로 가집니다.
- A. 속도는 변하지 않습니다.
- B. 합성 시에 정해지는 상수이며 동작 중에는 바꿀 수 없습니다.
- C. 올바릅니다. 설계 재사용이 쉬워집니다.