HDL과 검증
Verilog의 논블로킹 대입(<=)의 동작으로 올바른 것은?
- A대입한 순간 좌변이 갱신되고, 다음 행에서는 그 새로운 값이 사용된다
- B같은 타이밍의 모든 우변을 먼저 평가한 뒤, 그 후에 한꺼번에 좌변을 갱신한다
- C대입 결과를 버리고 아무것도 변경하지 않는다
정답과 해설 보기
정답: B. 같은 타이밍의 모든 우변을 먼저 평가한 뒤, 그 후에 한꺼번에 좌변을 갱신한다
논블로킹 대입에서는 클록 에지에서 모든 <=의 우변을 먼저 이전 값 그대로 평가한 뒤, 그 다음에 일제히 좌변을 갱신합니다. 이는 같은 클록으로 동작하는 수많은 플립플롭이 에지 직전의 값을 동시에 받아들이는 실제 회로와 같은 동작입니다. 그래서 클록으로 동작하는 순차 회로의 기술에는 논블로킹 대입을 사용하는 것이 원칙입니다.
- A. 그것은 블로킹 대입(=)의 동작입니다.
- B. 올바릅니다. 플립플롭이 일제히 값을 받아들이는 동작과 일치합니다.
- C. 값은 갱신됩니다.