작성
·
213
답변 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