f/f 동작원리에대해서 궁금증이 있습니다.
157
작성한 질문수 1
안녕하세요
학습을하다가 궁금증이 생겨서 질문드립니다.
module d_ff_asyn_rst_en(
input wire clk, d, rst_b, en,
output reg q
);
always @(posedge clk or negedge rst_b or negedge en)
begin
if (!rst_b)
q <= 0;
else if (!en)
q <= 0;
else
q <= d;
end
endmodule이렇게 async rst, en F/F 설계를 했습니다.
여기서 궁금한게 있습니다.( rst_b로 말씀드리면)
여기서 rst_b가 negedge일때 always문이 동작하고 rst_b ==0 일떄 q <=0 이라고 했는데 negedege일때 rst_b의 값이 0인지 1인지 어떻게 판별을 하나요?
시뮬레이션상에서는 negedge rst_b 트리거가 발생하는 시점에서 rst_b의 값은 0으로판단하고 리셋시키는데 1에서 0으로 바뀌는순간은 기울기가 무한대라서 0인지 1인지 판별할 수 없다고 생각이듭니다...
답변 1
0
안녕하세요 🙂
실제 저희가 waveform 을 보고 있는대로, 1 -> 0 으로 변하는 순간 (edge) 의 기울기 무한대는 눈으로 확인가능합니다. 하지만 이 edge 의 기울기를 현재 저희가 사용하는 simulation tool 의 waveform 상에서는 불가능 한것으로 알고있습니다. 저희는 아날로그가 아닌, 디지털을 설계하고 있죠. 아날로그 설계라면 이런 기울기가 중요한 요소겠지만, 디지털은 edge 라는 표현으로 충분히 커버된다고 생각합니다.
=====================================
Verilog 에서의 always 블록의 동작에 대해 이해하는 것이 중요합니다. 특히 @(posedge clk or negedge rst_b or negedge en) 구문은 세 가지 조건 중 하나가 발생할 때마다 항상 블록이 트리거된다는 것을 의미합니다. 이 세 가지 조건은 다음과 같습니다:
clk의 상승 에지 (posedge)rst_b의 하강 에지 (negedge)en의 하강 에지 (negedge)
negedge rst_b는 rst_b가 1에서 0으로 변하는 순간을 의미합니다. 이 순간에 항상 블록이 트리거되고, 블록 내부의 조건문이 실행됩니다.
if (!rst_b)
q <= 0;이 부분은 rst_b가 0일 때 q를 0으로 설정하라는 의미입니다. 즉, rst_b의 하강 에지가 발생( 1-> 0)하면 rst_b가 0이 되었음을 의미하므로 조건문이 참이 되고, q가 0으로 설정됩니다.
Verilog 시뮬레이션에서 negedge rst_b는 rst_b가 1에서 0으로 변하는 순간을 정확히 인식하며, 이 순간 rst_b는 0으로 간주됩니다. 따라서, 에지가 발생한 후 조건문 if (!rst_b)는 rst_b가 0임을 정확히 판단하고, q를 0으로 설정합니다.
즐공하세요 🙂
latency 개념 구현
1
84
3
비바도 all os버전
1
67
2
초기화를 reset_n 이 '1'일 때가 아닌 '0' 일 때 실행시키는 이유 질문
1
68
2
다운로드용량
1
68
2
비바도리눅스설치
1
79
2
전체path복사넣기
1
60
2
Vivado 2025.2 리눅스 설치 후 실행 에러와 솔루션 (libxv_commontasks.so)
1
142
2
explorer.exe오류
1
99
3
mobaxterm설치오류
1
84
2
./build시, waveform 'divide color' 사용
1
51
2
Latch와 관련하여 (Time borrowing, Latch-based design)
1
122
2
clean 명령어가 안되는데, 따로 저장해줘야 하는지 궁금합니다.
0
57
1
안녕하세요 설치 관련 질문 드립니다.
1
60
3
16장 mealy 설계.
1
71
2
14장 Cycle 관련, Testbench 코드.
1
63
2
21강(16장) 초기값 설정이 적용되는 시점 질문
1
59
1
20강(15장) - 밀리 머신 관련하여 질문 드립니다.
1
63
2
build에러 질문
0
54
2
1장 ./build에서 에러가 나요
1
70
2
FPGA 강의 보드 문의 드립니다.
1
104
2
5장 DFF특성에 대한 질문
1
73
3
vivado linux 사용 이유.
1
135
2
메모리의 형태가 전체설계에 미치는 영향이 궁금합니다.
1
102
2
디스코드 멤버쉽 등업 관련 문제
1
92
2





