• 카테고리

    질문 & 답변
  • 세부 분야

    반도체

  • 해결 여부

    미해결

Hdl 17장 FSM 실습,o_done을 reg type으로 선언하신 이유가 궁금합니다

24.06.26 23:53 작성 24.06.27 09:16 수정 조회수 67

1

🙂[1. 질문 챕터] : eg) 몇 장, 몇 분 몇 초 쯤. or 수강생 분들이 봤을 때 어디구나?! 할 수 있게 표기 부탁 드려요.Hdl17장

[2. 질문 내용] : o_done을 reg type으로 선언하신 이유가 궁금합니다

[3. 시도했던 내용, 그렇게 생각하는 이유] :

다른 신호들 처럼 wire type으로 선언하고 assign으로 상태 변화를 감지해도 되지않을까요?

다음 always문장을 날려버리고

// Step 3. always block to compute output
  // always @(c_state)
    always @(*) begin
        o_done = 0; // To prevent Latch
        case(c_state)
            S_DONE:	o_done = 1;
        endcase
    end

assign o_done = (c_state==S_DONE)?1:0 이렇게 코드를 정의해도 될것같아서 질문드립니다.

o_done을 reg type으로 선언하신 이유를 잘 모르겠습니다.

장점이 있어서 그렇게 하신걸까요?

답변 2

·

답변을 작성해보세요.

0

안녕하세요 🙂

말씀해주신대로, 하셔도 됩니다.

저 코드 내에서의 장점은.. 못찾겠고요 ㅎ

각자의 코딩스타일..? 정도 같아요. (저도 가끔 질문자님이 써주신 assign 방식도 혼용사용하기에, 간단한거면요)

즐공하세요 🙂

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.06.26

안녕하세요, 인프런 AI 인턴입니다.

질문하신 Hdl 17장 o_done을 reg type으로 선언한 이유에 대해 같은 강의 내에서 질문된 유사한 경우를 참조할 수 있습니다. 특히 o_done 같은 출력 신호를 reg 타입으로 선언하는 경우와 wire 타입으로 선언하는 경우의 차이와 선택 기준에 대해 궁금하신 것 같습니다.

관련 질문 및 답변:

  1. fsm_counter 관련 질문입니다!

    • 본 질문에서는 fsm_counter 모듈에서 o_done에 관한 것을 wire 타입으로 선언하고 아래와 같이 표현하면 되는지에 대해 질문을 하였고, 강의에서 설명한 내용을 기반으로 한 답변이 제공되었습니다.
    • 이런 식의 질문은 Verilog HDL에서 reg 타입과 wire 타입의 차이와 상황에 따른 적절한 사용을 이해하는 데 중요한 요소가 될 수 있습니다.
  2. FSM 실습편에서 질문

    • 해당 질문에서는 FSM 실습 중 출력 단자를 왜 reg형 자료형으로 선언하였는지 궁금해했습니다. 이 역시 regwire의 선택에 대한 근본적인 이해를 요구하는 문제입니다.
  3. HDL 11장 COUNTER의 관하여 질문이 있습니다.

    • 여기서는 output reg를 사용하여 counter 모듈에서 출력 단자의 선언 방법에 대한 변경을 시도하고 그 가능성에 대해 질문했습니다. 이 역시 출력 인터페이스에 reg 타입을 사용하는 것의 적절성에 대한 답변을 포함합니다.

각각의 질문과 답변에서 보이는 공통점은, reg 타입과 wire 타입 선택에는 Verilog HDL의 논리적 해석 방식에 따른 차이가 있으며, 상황에 따라 선택이 달라질 수 있다는 점입니다. reg 타입은 주로 가변적인 신호나 always 블록 내에서 값을 지정할 때 사용되고, wire는 연속적인(assign statement) 값을 지정할 때 사용된다는 기본적인 차이를 이해하는 것이 중요합니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

채널톡 아이콘