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

김상준님의 프로필 이미지
김상준

작성한 질문수

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

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

counter 질문입니다

작성

·

339

1

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

  1. 강의에서 다룬 내용들의 질문들을 부탁드립니다!! (설치과정, 강의내용을 듣고 이해가 안되었던 부분들, 강의의 오류 등등)

  2. 이런 질문은 부담스러워요.. (답변거부해도 양해 부탁드려요)

    1. 개인 과제, 강의에서 다루지 않은 내용들의 궁금증 해소, 영상과 다른 접근방법 후 디버깅 요청, 고민 상담 등..

  3. 글쓰기 에티튜드를 지켜주세요 (저 포함, 다른 수강생 분들이 함께보는 공간입니다.)

    1. 서로 예의를 지키며 존중하는 문화를 만들어가요.

    2. 질문글을 보고 내용을 이해할 수 있도록 남겨주시면 답변에 큰 도움이 될 것 같아요. (상세히 작성하면 더 좋아요! )

  4. 먼저 유사한 질문이 있었는지 검색해보세요.

  5. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

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

강의의 코드에서 #100 reset가 되기전

clk이 #5마다 바뀐다면

always문이 돌아가고 그때의 o_cnt나 o_cnt_always는 x값이라고 표시가 됩니다 그렇다면 +1계산은 되고 있으나 X값인건가요 아니면 +1계산 자체를 하지않나요?(애초에 필요가 없으니 하지않을수도 있다는 생각이들어서요)

답변 1

0

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

안녕하세요 :)
Verilog HDL 강의의 3장에서 reset 에 대해 이야기 한적이 있고요.

"x" : unknown 으로 0 인지 1 인지 모르는 상태를 뜻합니다.

unknown 상태에서 +1 을 하면, unknown 이죠. 이는 logic 이 어떻게 동작할지 모른다라는 뜻입니다.

always문이 돌아가고 그때의 o_cnt나 o_cnt_always는 x값이라고 표시가 됩니다 그렇다면 +1계산은 되고 있으나 X값인건가요 아니면 +1계산 자체를 하지않나요?(애초에 필요가 없으니 하지않을수도 있다는 생각이들어서요)

코드로 접근하기 보다는 회로로 접근하는 것이 다음을 이해하기 위해서, 중요해보입니다.

HDL 은 HW 로직을 설계하는 언어 입니다. 즉, Logic 이 깔리고 전기가 인가되면 동작합니다.

시뮬레이션 상에서는 +1 을 하나 안하나 unknown 임으로 안하는 것처럼 보이겠죠.

하지만 실제 로직은 전기가 인가된다면 +1 을 합니다. 다만 reset 을 하지 않았기에, 어떤 값을 +1 해서 어떤 값이 나올지는 아무도 모릅니다.

질문의 결론 : simulation 에서는 +1 안하는 것 처럼 보이나, 실제로직에서는 한다. reset 은 초기값을 정해줌으로 정말 중요하다.

즐공하세요 :)

김상준님의 프로필 이미지
김상준

작성한 질문수

질문하기