最近看 advanced fpga 以及 fpga 設(shè)計(jì)實(shí)戰(zhàn)演練中有講到復(fù)位電路的設(shè)計(jì),才知道復(fù)位電路有這么多的門道,而不是簡單的外界信號輸入系統(tǒng)復(fù)位。
流程:
1. 異步復(fù)位:
優(yōu)點(diǎn):⑴大多數(shù) DFF 都有異步復(fù)位端口,因此采用異步復(fù)位可以節(jié)約資源。
⑵設(shè)計(jì)相對簡單。
⑶異步復(fù)位信號識別方便,而且可以很方便地使用 fpga 的全局復(fù)位端口。
缺點(diǎn):⑴在復(fù)位信號釋放時(shí)容易出現(xiàn)問題,亞穩(wěn)態(tài)。
⑵復(fù)位信號容易受到毛刺的影響。這是由于時(shí)鐘抖動或按鍵觸發(fā)時(shí)的硬件原因造成的。
代碼:一個(gè) 4bit 的計(jì)數(shù)器。
1 always @(posedge clk or negedge sys_rst_n) begin
2 if (~sys_rst_n) begin
3 count <= 0;
4 end //if
5 else begin
6 count <= count + 1'b1; ? ?
7 end //else
8 end //always
復(fù)位信號低電平時(shí)候,系統(tǒng)立刻進(jìn)入復(fù)位態(tài);
2. 同步復(fù)位:
優(yōu)點(diǎn):⑴降低亞穩(wěn)態(tài)出現(xiàn)的概率。
⑵使所設(shè)計(jì)的系統(tǒng)成為 100%的同步時(shí)序電路,有利于時(shí)序分析,綜合出來的 Fmax 一般較高。
⑶只有在時(shí)鐘有效沿才有效,可以濾除高于時(shí)鐘頻率的毛刺。
缺點(diǎn):⑴復(fù)位信號的有效時(shí)長必須大于時(shí)鐘周期,才能真正被系統(tǒng)識別并完成復(fù)位任務(wù)。
⑵大多數(shù)的 Dff 只有異步復(fù)位端口,會浪費(fèi)較多的邏輯資源。
代碼:
1 always @(posedge clk) begin
2 if (~sys_rst_n) begin
3 count <= 0;
4 end //if
5 else begin
6 count <= count + 1'b1; ? ?
7 end //else
8 end //always
時(shí)鐘上升沿如果復(fù)位信號為低電平,復(fù)位開始,時(shí)鐘上升沿若復(fù)位信號為高電平,復(fù)位結(jié)束。
3. 異步復(fù)位同步釋放:(推薦使用)
優(yōu)點(diǎn):結(jié)合了同步復(fù)位與異步復(fù)位的優(yōu)點(diǎn)。
缺點(diǎn):容易受到噪聲與宰脈沖的干擾。如果可能,最好對輸入到 fpga 的異步復(fù)位信號先進(jìn)行濾波與去抖動。
代碼:
1 module rstn_as (
2 //input;
3 input wire clk,
4 input wire sys_rst_n,
5 //output;
6 output reg rst_n
7 );
8 reg rst_n_reg;
9 always @(posedge clk or negedge sys_rst_n) begin
10 if (~sys_rst_n) begin
11 rst_n <= 1'b0;
12 rst_n_reg <= 1'b0;
13 end //if
14 else begin
15 rst_n_reg <= 1'b1;
16 rst_n <= rst_n_reg; ? ?
17 end //else
18 end //always
19
20 endmodule
wire rst_n;
rstn_as u1(
.clk (clk),
.sys_rst_n (sys_rst_n),
.rst_n (rst_n)
);
always @(posedge clk or negedge rst_n) begin
if (~rst_n) begin
count <= 0;
end //if
else begin
count <= count + 1'b1; ? ?
end //else
end //always
當(dāng)復(fù)位信號低電平時(shí),系統(tǒng)立即復(fù)位;當(dāng)時(shí)鐘上升沿檢測到復(fù)位信號失效后,在下一個(gè)時(shí)鐘上升沿拉高 rst_n。新的 rst_n 是已經(jīng)同步化了的復(fù)位信號。
以上。
審核編輯 黃昊宇
-
FPGA
+關(guān)注
關(guān)注
1629文章
21736瀏覽量
603421
發(fā)布評論請先 登錄
相關(guān)推薦
評論