비동기 클리어로 포지티브 에지 트리거 T 플립 플롭 모델링
Aug 19 2020
비동기 클리어로 포지티브 에지 트리거 T 플립 플롭을 모델링하고 있습니다. 다음은 코드입니다.
module t_flip_flop_exam (q,clk,clear,t);
input t ;
input clk;
input clear;
output reg q ;
reg internal_t;
always @ (clear)begin
if (clear==1)
q=0;
else
q=q;
end
always @ (posedge clk)begin
if (t==1)
q=~q;
else
q=q;
end
endmodule
이것은 효율적인 코드입니까? always
블록 을 분리해야 하나요? 아니면 단일 블록 에 신호 동작 코드 clear
와 clk
신호를 모두 포함 할 수있는 방법이 always
있습니까?
답변
1 toolic Aug 19 2020 at 17:33
다음은 always
블록 을 결합하는 일반적인 방법입니다 .
module t_flip_flop_exam (q,clk,clear,t);
input t;
input clk;
input clear;
output reg q;
always @(posedge clk or posedge clear) begin
if (clear)
q <= 0;
else if (t)
q <= ~q;
end
endmodule
단일 always
블록 의 신호에 할당하는 것이 좋습니다 .
을 트리거 always
상의 블록 posedge
의 clear
합성이 원하는 로직을 추론 할 수 있도록 (비동기 명확한 동기 전환).
<=
순차 논리 에는 비 차단 할당 ( )을 사용합니다 .
q=q
암시 적이므로 명시 적으로 수행 할 필요가 없습니다 .