HDL과 검증
위 4비트 카운터에서 count가 15일 때 클록이 상승하면 count는 얼마가 되는가?
reg [3:0] count;
always @(posedge clk)
count <= count + 1;
- A16
- B0
- C15 그대로 변하지 않는다
정답과 해설 보기
정답: B. 0
4비트 reg는 0~15만 나타낼 수 있습니다. 15(2진수 1111)에 1을 더하면 10000이 되지만 상위 비트는 들어가지 못하고 버려지므로 count는 0000, 즉 0으로 돌아갑니다. 이 성질을 이용하여 정해진 수마다 반복하는 카운터를 만들 수 있습니다. 한편 의도하지 않은 곳에서 자릿수가 넘치면 오류의 원인이 되므로, 신호의 비트 폭에는 항상 주의해야 합니다.
- A. 4비트의 범위는 0~15입니다.
- B. 올바릅니다. 4비트로는 16을 나타낼 수 없으므로 0으로 돌아갑니다.
- C. 덧셈은 수행되며, 오버플로하여 0이 됩니다.