inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

[HDL 16장] HW 의 동작을 제어하는 FSM 을 이해해보자. (실습편)

always @(*) 와 관련하여..

699

cfkaga

작성한 질문수 1

1

안녕하세요, 좋은 강의 해 주셔서 잘 듣고 있습니다.

FSM 실습 예제에서 한가지 궁금한 부분이 생겼습니다.

 

fsm_test.v 의 52번 줄에 있는,

always @(*)

에서 *가 내부 변수중 하나라도 변화를 하면 동작하게 된다고 하셨는데, 내부 변수가 52번줄 ~ 62번 줄 사이에 있는 always begin~end 안에 기술된 reg타입으로 선언된 c_state 와 n_state만을 이야기하는 것인지요?

 

제가 asterisk 에 대한 개념이 'everything' 을 의미한다는 어떤 고정관념을 가지고 있어서 그런지, 변하고 있는건 clk도, reset_n 도 변하고 있는데 그 변화에도 반응을 하지 않을까 라는 생각이 들었습니다.

 

질문 작성하면서 영상 아래의 질답 내용에 verilog 2001 문법에 대한 언급이 있어 찾아보았더니 'Simulation and synthesis will automatically be sensitive to all signals read within the procedure. @* was added in Verilog-2001.'  란 내용이 있는데, 봐도 여전히 명확히 이해되지가 않았습니다.^^;

all signals read within the procedure 의 범위가 module 전체 안에서인지, 혹은 always @  begin ~ end 까지를 의미하는 것인지 궁금합니다.

fpga verilog-hdl 임베디드

답변 1

1

설계독학맛비

안녕하세요 :) 좋은질문같아요.

fsm_test.v 의 52번 줄에 있는,

always @(*)

에서 *가 내부 변수중 하나라도 변화를 하면 동작하게 된다고 하셨는데, 내부 변수가 52번줄 ~ 62번 줄 사이에 있는 always begin~end 안에 기술된 reg타입으로 선언된 c_state 와 n_state만을 이야기하는 것인지요?

해당 문법은 combinational logic 임으로, input 이 변경되면 바로 output 이 반영됩니다. 즉, always @(*) 내부의 모든 변수라고 생각하시면 됩니다. (i_run, i_done 도 포함시켜야 합니다.)

 

HDL 은 HW 를 만드는 언어입니다.

always 내부에 없는 변수에 값이 흔들린다는 뜻은, 회로적으로 always 내부에 없는 변수에 연결이 되어있다는 뜻으로 해석됩니다. 이는 오류입니다.

always @  begin ~ end 

내부의 변수 입니다.

즐공하세요 :)

git hub 404 error 도움 부탁드립니다.

0

6

1

latency 개념 구현

1

127

3

비바도 all os버전

1

96

2

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

1

101

2

다운로드용량

1

82

2

비바도리눅스설치

1

100

2

전체path복사넣기

1

75

2

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

1

191

2

explorer.exe오류

1

121

3

mobaxterm설치오류

1

103

2

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

1

62

2

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

1

153

2

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

0

73

1

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

1

73

3

16장 mealy 설계.

1

83

2

14장 Cycle 관련, Testbench 코드.

1

75

2

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

1

68

1

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

1

77

2

build에러 질문

0

63

2

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

1

83

2

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

1

122

2

5장 DFF특성에 대한 질문

1

88

3

vivado linux 사용 이유.

1

155

2

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

1

114

2