inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

SystemVerilog 에 대하여..

해결된 질문

222

신입개발자응애

작성한 질문수 1

1

안녕하세요.

열심히 verilog와 systemverilog를 공부중인 수강생입니다.

학부에서 디지털설계를 배울때나, 뭐 인터넷에서 자료를 찾을 때 코드를 보면

sequential logic : always @ (posedge clk) 사용

combinational logic : always @(*) (혹은 assign) 사용

이 공식처럼 되어있는 것 같고,

맛비님의 Verilog season1의 강의를 들으며 코드를 봐도 마찬가지인데....

 

현재 Systemverilog를 공부하고 있는데, 이런 저런 강의를 찾고 공부를 하다보니 , 여러 강의에서 아래와 같이 이야기를 하더라구요.

 

Sequential logic에는 always @(posedge clk)이 아니라 always_ff @(posedge clk)을 사용하는 것이 좋고 combinational logic에는 always @(*) 대신 always_comb 를 사용하는 것이 좋다!

(이유는 always_comb시 실수로 래치가 만들어지지 않고, 사람이 직접 @(*)을 관리하지 않고 자동적으로 감지하기 때문..)

 

마찬가지의 맥락으로 여러 편리함의 이유때문에 variable 선언 시 reg 대신 logic을 사용하는 것이 편리하다.

 

이에 대해 한 가지 질문을 드리려고 합니다.

 

verilog-hdl fpga 임베디드

답변 1

0

설계독학맛비

안녕하세요 🙂

  • 맛비님의 코드도 보면 always_ff나 always_comb, logic를 사용하진 않은 것 같은데 뭔가 다른 특별한 이유가 있어서 인가요?
    Verilog HDL 강의라서, 사용을 안했습니다.
    현업에서도 SV 로 RTL 설계를 하고있고요. 말씀해주신 내용이 맞습니다.
    SV 는 Verilog 의 super set 이라서, Verilog 를 알아야 SV 를 할 수 있다 생각하고 있어요.
    SV 강의도 계획중에 있어서, (언제 나온다 말씀은 못드리지만) 그때 알려주신 이야기를 해볼 수 있을 것 같아요.

  • (=혹시 맛비님은 현업에서 logic이나 always_comb, always_ff을 사용하는데 Vivado simulation에서는 sv가 지원하지 않아서 강의용으로 코드에 사용하시지 않는 것인지.. 아니면 정말 뭔가 이유가 있어서 사용하지 않는 것인지가 궁금합니다.)
    SV 지원합니다. 이유는 위에서 말씀드렸어요.
    다음은 저희가 갖고있는 vivado xsim 환경의 SV 빌드 예제입니다.
    -sv 추가하시면 됩니다.
    xvlog -sv ./design/*.sv ./testbench/testbench.sv

즐공하세요 🙂

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