inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

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

14강 Tb 질문있습니다.

399

김수호

작성한 질문수 4

1

안녕하세요. 14강 강의 중에 코드가 잘 이해되지 않는 부분이 있어서 질문 남깁니다ㅠ

매 cycle마다 i = 0~99인 코드이며, 밑에 1cycle내에서 negedge일 때, i의 값이 바뀐다고 이해를 하고 있습니다.

근데 밑에 loop를 돌리기 위해 @(posedge)를 선언하셨다고 하셨는데, posedge를 사용함으로서 negedge에서는 i_value로 i 값이 전달 되고 posedge에서 i 값이 변동이 되는게 맞을까요?

제가 이해하는게 맞다면 posege가 없는 경우에 negedge가 실행 된 후 i_value에 i의 값이 전달되자마자 i 값이 변해서 loop가 정상적으로 동작하지 않는건지 궁금합니다.

@(postive clk); // 1cycle 진행 clk

$display("Start![%d]",$time);

for(i =0; i<100; i = i +1);

@(negedge clk);

i_valid = 1;

i_value = i; // i_value에 전달

@(posedge clk); // posedge이후 i값 변경

end

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

현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

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

verilog-hdl fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 :)

for(i =0; i<100; i = i +1);

// @(negedge clk); // waveform 에서 data 가 변하는 것을 잘? 확인하기 위해서 half cycle delay 시켰는데, 이것때문에 다음과 같은 이슈가 있었습니다. 즉 빼셔도 됩니다.

https://www.inflearn.com/questions/1011133/14%EC%9E%A5-pipeline-%EC%8B%A4%EC%8A%B5%EB%82%B4%EC%9A%A9-power-of-8-operation-%EA%B7%B8%EB%A6%BC-%EC%A7%88%EB%AC%B8

i_valid = 1;

i_value = i; // i_value에 전달

@(posedge clk); // posedge 에 맞춰서 loop 가 돌도록 되어 있습니다.

 

for loop 내에, @(posedge clk) 이 없으면, for loop 은 zero sec (waveform 상의 delay 없이) 로 처리하고 끝납니다.

즉, waveform 상의 시간을 표현하기 위해서 @(posedge clk) 에 동기화 되도록 추가했어요.

즐공하세요 :)

latency 개념 구현

1

84

3

비바도 all os버전

1

67

2

초기화를 reset_n 이 '1'일 때가 아닌 '0' 일 때 실행시키는 이유 질문

1

68

2

다운로드용량

1

68

2

비바도리눅스설치

1

79

2

전체path복사넣기

1

59

2

Vivado 2025.2 리눅스 설치 후 실행 에러와 솔루션 (libxv_commontasks.so)

1

142

2

explorer.exe오류

1

99

3

mobaxterm설치오류

1

84

2

./build시, waveform 'divide color' 사용

1

51

2

Latch와 관련하여 (Time borrowing, Latch-based design)

1

122

2

clean 명령어가 안되는데, 따로 저장해줘야 하는지 궁금합니다.

0

57

1

안녕하세요 설치 관련 질문 드립니다.

1

60

3

16장 mealy 설계.

1

71

2

14장 Cycle 관련, Testbench 코드.

1

63

2

21강(16장) 초기값 설정이 적용되는 시점 질문

1

59

1

20강(15장) - 밀리 머신 관련하여 질문 드립니다.

1

63

2

build에러 질문

0

54

2

1장 ./build에서 에러가 나요

1

70

2

FPGA 강의 보드 문의 드립니다.

1

104

2

5장 DFF특성에 대한 질문

1

73

3

vivado linux 사용 이유.

1

134

2

메모리의 형태가 전체설계에 미치는 영향이 궁금합니다.

1

102

2

디스코드 멤버쉽 등업 관련 문제

1

91

2