inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

FSM 실습편에서 질문

해결된 질문

1042

움직이는YM

작성한 질문수 86

1

맛비님 강의 FSM 실습편에서 궁금한점이 있어 질문드립니다

#10

@(posedge clk);

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

i_run = 1;

@(posedge clk);

i_run = 0;

테스트벤치에서 initial begin 안에 이런 구문이 등장하는데

@(posedge clk) 뜻이 뭔가요

@를 보니

always @(posedge clk)이 생각나는데

제가 알기로는 initial 구문안에 always를 쓸 수 없다고 알고 있었거근요

@(posedge clk)는 always @(posedge clk)에서 always 만을 없앤 것인가요? 아니면

다른 어떤 의미가 있는 것인가요?

임베디드 verilog-hdl fpga

답변 1

1

설계독학맛비

안녕하세요 :)

Testbench 안에 사용했던  @(posedge clk) 여쭤보신 거로 이해했구요.

사용 가능합니다. 

해당 구문의 의미는, 

clk 이 Positive edge 가 입력되면 넘어가라.  라는 의미에요.

Testbench 작성시, Clock 동기화를 위해서 사용합니다.  (모듈에서는 사용 금지)

Testbench 를 작성하실때, 보통

always 

#5    clk = ~clk; 

initial begin

#10  블라블라

#10 블라블라

end

이렇게 많이 하시는데,  (처음 배우실때)

만약에 clk 이 #5 가 아니고 다른 숫자라면, 예를 들어 #7 이라고 가정하면 어떻게 될까요?

initial begin 안에 있는 #10 이 #14 로 바껴야 정상 동작하겠죠.

하지만 #10 대신,

@(posedge clk)   블라블라

가 되면 clk 의 숫자 관계없이, positive edge 에서 정상 동작 합니다.

당연히 @(negedge clk)  도 됩니다. :)

뭔가 길었는데, 정리하면

Testbench 에서 Clock 동기화에 맞춰서 기술하고 싶을 때, 사용합니다.

이렇게도 가끔 사용해요.  다시한번 말씀드리지만,  Testbench 에요!! 그럼 즐공하세요 :)

initial begin

// 10 cycle 기다리기 ver1

    for ( i = 0; i < 10; i = i+1) begin

        @(posedge clk);

    end 

// 10 cycle 기다리기 ver2  (repeat 사용. 훨씬 보기 좋습니다. 추천.)

    repeat (10) @(posedge clk);

end

0

움직이는YM

네 테스트 벤치에 있던 표현이었습니다.

이해가 되었습니다 답변감사합니다!

latency 개념 구현

1

78

3

비바도 all os버전

1

64

2

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

1

65

2

다운로드용량

1

67

2

비바도리눅스설치

1

77

2

전체path복사넣기

1

58

2

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

1

139

2

explorer.exe오류

1

95

3

mobaxterm설치오류

1

82

2

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

1

50

2

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

1

120

2

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

0

56

1

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

1

59

3

16장 mealy 설계.

1

70

2

14장 Cycle 관련, Testbench 코드.

1

62

2

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

1

58

1

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

1

61

2

build에러 질문

0

53

2

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

1

69

2

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

1

103

2

5장 DFF특성에 대한 질문

1

70

3

vivado linux 사용 이유.

1

130

2

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

1

98

2

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

1

87

2