인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

ksllee2001님의 프로필 이미지
ksllee2001

작성한 질문수

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

[HDL 5장] D FlipFlop 과 Reset 실습 (Reset 의 중요성은 여러번 말해도 됩니다.)

D 플립플롭 실습 질문 있습니다.

작성

·

213

1

맨 처음 DUT 모듈에서 터미널 리스트로 input/output port를 다 선언하시고 괄호까지 닫으신다음 reg 타입으로 내부 선언을  해주신 이유가 궁금합니다. 내부에서 선언은 무엇 때문에 하는건가요?

답변 1

0

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

안녕하세요 :)

input/output port 선언시 wire / reg 를 별도로 선언하지 않는다면, Default 로 wire 입니다.

즉, port list 의 

input A;

output B;

input wire A;

output wire B;

와 같습니다.

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

위의 내용을 연장해서,

port 선언 이후에,

reg B;

를 사용하는 것은

port 선언시,

output reg B;

와 같습니다.

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

내부에서 선언은 무엇 때문에 하는건가요?

선언한 변수를 필요에 의해 사용하려고 선언합니다. (당연한 이야기지만)

Reg 로 사용의 의미는 

case 1. Combinational logic 사용 always (*)

case 2. Clock Synchronous 저장소자 사용 (설계독학에서는 D F/F 으로 사용합니다)

D F/F 리셋 실습코드를 보시고 질문을 하신 것 같은데, (맞죠?)

위 case 1,2번 중에서는 2번에 해당하겠습니다.

즐공하세요 :)

 

ps. 혹시 문법 자체를 여쭤보신거라면,

맨 처음 DUT 모듈에서 터미널 리스트로 input/output port를 다 선언하시고 괄호까지 닫으신다음 reg 타입으로 내부 선언을  해주신 이유가 궁금합니다.

다음 링크가 이해에 도움이 되실 것 같아요.

https://www.chipverify.com/verilog/verilog-ports

 

ksllee2001님의 프로필 이미지
ksllee2001

작성한 질문수

질문하기