강의

멘토링

커뮤니티

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

wpdltms8765님의 프로필 이미지
wpdltms8765

작성한 질문수

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

[FPGA 5장] LED 깜박이기 (PL 영역을 사용해보자 + Clock Frequency 를 이해하고 계신가요?) - 실습편

Verilog If문 관련 질문좀 드리겠습니다

작성

·

534

1

안녕하세요 Verilog if문 관련해서 질문 좀 드리겠습니다!

제가 지금까지 Verilog if문법을 좀 착각했던 것 같은데 if문 같은 경우에 검사하는 변수가 섞여도 상관이 없는건가요?

그러니까

저는 지금껏 reset_n을 사용해야한다고하면 

    always @ (posedge clk or negedge reset) begin

      if (reset == 0) begin

            matrix_full <= 0;     

      end else begin

        if ((row == 7) && (col == 7)) begin

          matrix_full <= 1;       

        end

        else if 

            matrix_full <= 0;

      end

    end

다음과 같은 방식으로 reset_n만 평가하는 if문을 따로 둬서 사용했는데요 

선생님처럼 코딩하면

    always @ (posedge clk or negedge reset) begin

      if (reset == 0) begin

            matrix_full <= 0;     

      end else if((row == 7) && (col == 7)) begin

            matrix_full <= 1;  

      end else being

            matrix_full <= 0; 

       end

   end

 

이런식으로 if문 하나만 써서 변수를 섞여서 평가하는 것 같은데 혹시 전자 후자의 방식에 따라 합성이 다르게 된다던지 동작이 전혀 다르다던지 그렇지는 않는걸까요? 늘 친절하게 답변해주셔서 감사합니다!!

답변 1

0

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

안녕하세요 :)

두개의 합성 결과가 같으냐? 라는 질문의 답은 저도 말씀드리기 어렵습니다. (Tool 마다 다른 결과를 만들기 때문)

Functional 적으로 동일하다면, 동일한 회로를 만들어야 한다. 가 제 지론입니다. :)

다르다면, 한쪽이 과한 로직을 사용했겠죠. 그 부분을 찾으시는게 공부에 도움이 되실거에요.

 

이 부분은 직접 확인해보실 수 있구요.

FPGA 영상 1장에서 확인해보시면 됩니다. (Schematic 을 적극 활용해주세요)

https://youtu.be/PolHorMOLek?t=418

즐공하세요 :)

 

PS 

혹시나 서운해? 하실까봐?!

여기까지 들으셨으면 충분히 스스로 확인이 가능한 부분이라 판단됩니다.

그 전제하에 답변드리는 거에요. 

정말 모르겠다. 하시면 다시 남겨주세요. 저도 확인해볼께요 :)

wpdltms8765님의 프로필 이미지
wpdltms8765

작성한 질문수

질문하기