인프런 커뮤니티 질문&답변

infinite7477님의 프로필 이미지
infinite7477

작성한 질문수

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

[HDL 1장] Testbench 에서 Clock 생성하기 ( Clock 이 없는 디지털 회로 설계를 논하지 말라. )

clock 신호 발생 질문 있습니다.

작성

·

130

1

[1. 질문 챕터] : HDL 1장 clock 생성하기 부분 입니다

[2. 질문 내용] :

강의 내용만으로 보았을 때에는 always를 통해서 clock을 무한정으로 생성을 한다음 initial begin을 통해 clock 신호가 시작하는 지점을 설정하고, 내가 보고싶은 구간만큼 잘라다가 쓰는것으로 이해했습니다

만약, 무한정으로 클락신호를 발생시키는것을 보고싶다면, 어떤식으로 변경이되어야하는지 알고싶습니다

[3. 시도했던 내용, 그렇게 생각하는 이유] : 실습을 하면서 문득 들었던 생각이 always가 무한으로 반복하는 구문이라면, 이후의 initial begin구문이 빠지게 되면 clock이 무한정으로 생성되지 않을까? 하는 생각이 들어서 시도해보았습니다. 결과적으로는 그렇게 생성되지 않더라구요 (하기 이미지 참고)

image.png

#2.5 clk = ~clk로 설정하였으니 주기는 5ns가 되어야 할겁니다.. 근데 반전이 되는시점도 없고 그냥 clock신호가 1에만 머물러 있더라구요


clock의 시작점을 0이나 1로 지정하지 않아서 발생한것인가? 해서 clk=0;만을 추가해 보았더니 compile이되지 않더라구요

답변 1

0

설계독학맛비님의 프로필 이미지
설계독학맛비
지식공유자

안녕하세요 🙂

Verilog HDL 문법 같은데요.

test bench 는 $finish; 라는 system 함수를 만날 때 까지 시뮬레이션이 진행됩니다.

초기값이 없기 때문에 x 상태로 always 문에 bit 반전 되고 있는 것이고요.

x 의 반전은 x 겠죠?

초기값을 적어주시면 될 것 같아요.

기존에 전달드린 실습 코드와 비교해보시는 것도 도움이 되실 것 같습니다.

즐공하세요 🙂

infinite7477님의 프로필 이미지
infinite7477

작성한 질문수

질문하기