時鐘和復位是FPGA中關鍵,下面是特權寫的,復制以備找工作~~~
同步復位:
1.復位信號只有在時鐘上升沿到來時,才能有效。
2.代碼為:
always@(posedge clk)
if ( !rst_n )
....
else
....
異步復位:
1.無論時鐘沿是否來到,只要復位信號有效就對系統復位。
2.代碼為:
always@ ( posedge clk or negedge rst_n )
if ( !rst_n )
....
else
....
優缺點:
同步復位優點:
1. 有利于仿真 2. 100%為同步電路 3. 可以濾除高于時鐘的毛刺
缺點:
1. 復位信號有效時長要大于時鐘周期,同時還要考慮電路延時
2. 大多數的邏輯器件只有異步復位接口,使用同步復位需要耗費較多的邏輯資源
異步復位優點:
1. 節省資源 2. 設計簡單 3. 可以使用專用的復位端口CLR
缺點:
1. 在復位信號釋放時,如果在時鐘沿附近容易導致寄存器輸出出現亞穩態
2. 復位信號容易受毛刺的影響
同時獲得兩者的優點:異步復位,同步釋放
代碼為:
always@(poseedge clk or negedge rst_in)
if ( ! rst_in )
begin
rst_buf <= 1'b0;
rst_n <= 1'b0;
end
else
begin
rst_buf <= 1'b1;
rst_n <= rst_buf ;
end