[27] Verilog HDL blocking할당문과 nonblocking할당문 설계과제UVM & RTL/Verilog HDL2022. 3. 5. 19:01
Table of Contents
★ 밑의 두 코드는 모두 동일한 형태의 always블록 두개로 구성되어 있다. 테스트벤치를 이용한 시뮬레이션을 통해 a,b의 출력 y1, y2를 확인하고 그 이유를 생각해 본다. 또한 두 코드를 합성하면 동일한 회로가 되는지, 아니면 서로 다른 회로가 되는지 확인해 본다.
▣ TESTBENCH
위 시뮬레이션을 살펴보면 blocking과 nonblocking할당문의 극명한 차이를 알 수 있다. 처음에 rst =1이 걸릴때는 y1_blk, y2_blk, y1_nonblk, y2_nonblk 모두 0과 1로 각각 초기화 되었지만 다시 rst = 0일때 값들이 달라지는 것을 알 수 있다.
y1_blk와 y2_blk를 살펴보면 rst=0일때 y1으로 y2(1)가 들어가 y1역시 1이 됨을 알 수 있고 두번째 always구문에서 y2로 현재의 y1값(1)이 들어가 y2역시 1이 됨을 알 수 있고 이값이 계속유지됨을 알 수있다.
y1_nonblk와 y2_nonblk를 살펴보면 첫번째 always구문에서 y1으로 y2(1)이 들어가 y1이 1로 바뀌는 것은 blocking과 똑같지만 두번째 always구문에서는 y2로 이전의 y1값 0이 들어가기에 y2는 원래의 값 1에서 0으로 바뀌는 것을 알 수 있다. 이후 y1과 y2는 각각 0과1을 반복해서 출력해 나가는 것을 알 수있다.
'UVM & RTL > Verilog HDL' 카테고리의 다른 글
[29] Verilog HDL 순차회로 설계과제 (시프트 레지스터) (0) | 2022.03.05 |
---|---|
[28] Verilog HDL 순차회로 (시프트 레지스터) (0) | 2022.03.05 |
[26] Verilog HDL 순차회로에서 blocking할당문과 nonblocking할당문 (0) | 2022.03.05 |
[25] Verilog HDL 순차회로 설계과제 (LATCH, FILP FLOP) (0) | 2022.03.05 |
[24] Verilog HDL 순차회로 (LATCH, FILP FLOP) (0) | 2022.03.05 |
@Return :: Return
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!