인프런 커뮤니티 질문&답변
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
혹시나 서운해? 하실까봐?!
여기까지 들으셨으면 충분히 스스로 확인이 가능한 부분이라 판단됩니다.
그 전제하에 답변드리는 거에요.
정말 모르겠다. 하시면 다시 남겨주세요. 저도 확인해볼께요 :)





