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

윤동욱님의 프로필 이미지
윤동욱

작성한 질문수

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

[HDL 11장] 설계능력 향상을 위한 Counter 제대로 이해해보기 (실습편)

질문입니다

작성

·

257

1

안녕하세요

맛비님의 코드 습관?을 보면 매번 reg 데이터를 assign으로 할당하여 wire로 데이터를 내보내는데요(즉, output) 

저는 공부할 때 데이터를 내보낼땐 reg 데이터로 내보내는 것이 좋다고 알고 있습니다. 

물론 reg 데이터를 바로 assign문에 할달이 되서 로직이 생긴다거나 그러진 않을 것 같지만 (제 눈엔 assign으로 코에서에 o_cnt로 내보내나 cnt로 내보내나 차이가 없다고 보입니다) 어떤 코드 스타일에 습관을 들이는게 좋을지 궁금하여 질문드립니다.(저의 경우는 cnt를 바로 내보내는 스타일입니다)

좀 질문이 횡설수설한거 같아 질문이 이해가 안된다면 제가 다시 질문하겠습니다. 

 

감사합니다

답변 2

1

윤동욱님의 프로필 이미지
윤동욱
질문자

image

제 질문이 제대로 전달이 되었을지 걱정이었는데

제가 알고싶은걸 딱 알려주셔서 정말 감사합니다. 다음 강의를 이어 학습하여 이론을 좀더 보강할게요

0

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

안녕하세요 :)

알고계신대로 별도의 logic 이 생성되진 않습니다.

 

결국 제 코드도 reg output 인거죠?

reg output 을 내보내면, Timing 관점에서 유리합니다. (pipeline 이론강의편 참고. reg 를 중간에 넣음으로써 Timing 이 유리해지죠?)

이게 또.... 참고로 세상에 무조건 이라는 것은 없습니다.

Top 모듈 관점에서는 알고계신 reg output 이 중요하고요.

내부 모듈 관점에서는 필수는 아닙니다. (이거는 실제로 설계해보시면서 알아가시면 됩니다. 글로적기에는 너무 힘드네요 ㅎ)

우선 reg output 을 사용한다는 습관이면 충분합니다.

 

Coding 스타일일 뿐이에요. 정답은 없습니다. 

만약에 현업가시면 코딩 가이드 룰이 있을 수 있으니 맞춰서 하시면 됩니다. (룰북 없다면 알아서)

 

즐공하세요 :)

 

윤동욱님의 프로필 이미지
윤동욱

작성한 질문수

질문하기