HDL과 검증

위 Verilog의 assign문이 나타내는 회로로 올바른 것은?

assign y = (a & b) | c;
  1. Aa와 b의 AND와 c의 OR을 취하는 조합 회로로, 입력이 바뀌면 곧바로 y도 바뀐다
  2. B클록마다 y를 갱신하는 플립플롭
  3. C한 번만 계산하고 그 후에는 값이 바뀌지 않는 회로
정답과 해설 보기

정답: A. a와 b의 AND와 c의 OR을 취하는 조합 회로로, 입력이 바뀌면 곧바로 y도 바뀐다

assign문은 연속 대입이라고 하며, 우변 식의 값이 항상 좌변 신호에 반영되는 배선을 나타냅니다. 우변의 입력 중 어느 하나라도 바뀌면 출력 y도 (게이트 지연 후에) 곧바로 바뀝니다. 이 예는 AND 게이트와 OR 게이트의 조합 회로가 됩니다. 기억 기능은 없으므로 값을 유지하고 싶을 때는 클록으로 갱신하는 always 블록을 사용합니다.

  • A. 올바릅니다. 연속 대입이라고 합니다.
  • B. 클록은 사용하지 않았습니다.
  • C. 입력이 바뀔 때마다 출력도 바뀝니다.
이 분야 연습하기 분야로 돌아가기

HDL과 검증의 다른 문제

  1. 위 Verilog 기술이 논리 합성으로 만드는 회로로 올바른 것은?
  2. Verilog의 논블로킹 대입(<=)의 동작으로 올바른 것은?
  3. 위 기술에서 클록 상승 직전에 a=0, b=1이었다. 상승 후 a와 b의 값은 어떻게 되는가?
  4. 2단 시프트 레지스터를 의도하여 위와 같이 블로킹 대입(=)으로 작성했다. 발생하는 문제로 올바른 것은?
  5. Verilog에서 대입 종류를 구분해 사용할 때의 일반적인 가이드라인으로 올바른 것은?

이 분야의 비교