인프런 커뮤니티 질문&답변

happyos2000님의 프로필 이미지
happyos2000

작성한 질문수

설계독학맛비's 실전 Verilog HDL Season 1 (Clock부터 Internal Memory까지)

[HDL 14장] HW 가속기의 비밀인 Pipeline 을 이해해보자 (실습편) 코드 이해

해결된 질문

작성

·

668

·

수정됨

1

강의를 듣던 중 코드에 대한 이해가 부족해서 그런데, 위의 사진에서의 코드를 보면

for(i=0; i<100; i = i+1) begin @(negedge clk); i_valid = 1; i_value = i; @(posedge clk); end

에서 @(negedge clk);와 @(posedge clk);를 사용하는 이유를 알 수 있을까요??

 

추가로 @(posedge clk);, @(negedge clk);에 대한 문법이 이해가 안됩니다. 설명 부탁드립니다 ㅠㅠ

답변 1

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 :)

추가로 @(posedge clk);, @(negedge clk);에 대한 문법이 이해가 안됩니다.

해당 문법은 testbench 에서 사용가능한 문법입니다.

#delay 와 유사하고요. clk 의 상승엣지, 하강엣지 를 기다리는 문법이에요.

================================

https://sunshowers.tistory.com/9

위 링크를 참고하면, 단순히 상승엣지만 기다리는 것으로 했을때, 의도하지 않는 동작이 될 수 있기에, #delay 대신 하강엣지 타이밍으로 사용했습니다.

상승, 하강 혼용 사용이유는 delay 시키려고 사용했어요.

 

즐공하세요 :)

happyos2000님의 프로필 이미지
happyos2000

작성한 질문수

질문하기