設計は「FPGA設計実践演習(上級編)」から引用しています。
同期リセットと非同期リセットを活用し、それぞれのデメリットを回避してください。同期非同期リセット回路を設計し、同期リセットと非同期リセットの長所と短所を示し、回路図と Verilog コードを示します。
1. 同期リセット
利点: タイミング解析とシミュレーションが簡単
短所: リセット クロック エッジのリセット信号が有効であることを保証するには、リセット信号のパルス幅が特定の要件を満たす必要があり、非同期リセットよりも遅いです。
2. 非同期リセット
利点: ロジックリソースに非同期リセットポートがあり、リソースを最大限に活用できます。早い反応
短所: ノイズに敏感、準安定の問題がある、
3. 非同期リセット同期
非同期リセットはレジスタの CLR ポートに直接接続されているため、リセットはすぐに有効になります。リセットが解除されると、ロジック「1」がシンクロナイザーからクロック出力され、後続のレジスタのリセットが同期的に解除されます。そのため、この構造では、デザインの非同期リセットが同期的に解除されます。
module reset(
input clock,
input reset_n,
input data_a,
input data_b,
output out_a,
output out_b
);
reg reg1,reg2;
reg reg3,reg4;
wire rst_n;
assign out_a = reg1;
assign out_b = reg2;
assign rst_n = reg4;
always@(posedge clock or negedge reset_n)
begin
if(!reset_n)
begin
reg3 <= 1'b0;
reg4 <= 1'b0;
end
else
begin
reg3 <= 1'b1;
reg4 <= reg3;
end
end
always@(posedge clock or negedge rst_n)
begin
if(rst_n)
begin
reg1 <= 1'b0;
reg2 <= 1'b0;
end
else
begin
reg1 <= data_a;
reg2 <= data_b;
end
end
endmodule