• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    해결됨

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

23.01.27 22:17 작성 23.01.27 22:22 수정 조회수 493

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 시키려고 사용했어요.

 

즐공하세요 :)