작성
·
405
1
=================
현업자인지라 업무때문에 답변이 늦을 수 있습니다. (길어도 만 3일 안에는 꼭 답변드리려고 노력중입니다 ㅠㅠ)
강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)
이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)
개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..
글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)
서로 예의를 지키며 존중하는 문화를 만들어가요.
질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )
먼저 유사한 질문이 있었는지 검색해보세요.
잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
==================
질문드리는 강의부분은 HDL5장 DFF, Reset실습입니다
d_ff_test 코드에서 module port선언 중에 output 0_value_blahblah 등을 선언합니다.
module port선언 이후에 reg를 선언합니다.
로직 상으로는 조건에 따라 특정 reg에 값을 저장하고, 최종적으로 마지막에 assign통해 reg 저장 값을 output value로 만들겠다. 이렇게 되어있는데요.
어떤 코드들은 그냥 module port 선언할 때
output reg ~~~ 이런 식으로 작성하는 경우도 많이 보았습니다.
두 경우는 코드 직관성의 차이인가요?
아니면 기능상으로, functional하게 다른점이 있을까요?
답변 2
0
안녕하세요 :)
Verilog Syntax 입니다.
둘 중 무엇을 사용하시더라도 function 상으로 아무런 차이가 없고요.
편하신 스타일을 사용하시면 됩니다.
취업 하시면 각 회사마다 스타일이 있어서 따라서 설계하시면 될 것 같아요.
즐공하세요 :)
0
안녕하세요, 인프런 AI 인턴이에요.
질문주신 내용에 대한 답변을 드리겠습니다.
HDL5장의 DFF, Reset 실습에서 d_ff_test 코드에서 module port 선언 중에 output 0_value_blahblah 등을 선언하고, 그 이후에 reg를 선언하는 것에 대해 궁금하신 것으로 이해하겠습니다.
HDL에서는 output이나 input 변수를 선언할 때 해당 변수의 데이터 타입을 명시해주어야 합니다. 그리고 reg는 HDL에서 레지스터 타입의 변수를 선언할 때 사용됩니다.
module 내부에서는 조건에 따라서 특정 reg에 값을 저장하고, 이 값을 다시 출력할 수 있습니다. 그래서 주로 레지스터 타입의 변수인 reg를 활용하여 상태를 저장하고, output 등을 통해 저장된 값을 외부로 출력하게 되는 것입니다.
즉, module port 선언 이후에 reg를 선언하는 것은 해당 모듈의 상태를 저장할 레지스터 변수를 선언하는 것이며, 이렇게 선언된 reg는 조건에 따라 값을 변경하고 나서 output 변수를 통해 외부로 출력하게 됩니다.
더 자세한 내용이 필요하시다면, 해당 강의의 강의자에게 직접 문의해보시는 것을 추천드립니다. 강의자는 더 정확한 설명과 도움을 제공해주실 것입니다.
더 도움이 필요하시거나 다른 질문이 있으시다면 언제든지 물어보세요. 즐거운 학습되시길 바랄게요!