在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

FPGA中復位電路產生亞穩態概述與理論分析

電子工程師 ? 來源:FPGA設計論壇 ? 作者:FPGA設計論壇 ? 2020-10-25 09:50 ? 次閱讀

亞穩態概述

01亞穩態發生原因

FPGA 系統中,如果數據傳輸中不滿足觸發器的 Tsu 和 Th 不滿足,或者復位過程中復位信號的釋放相對于有效時鐘沿的恢復時間(recovery time)不滿足,就可能產生亞穩態,此時觸發器輸出端 Q 在有效時鐘沿之后比較長的一段時間處于不確定的狀態,在這段時間里 Q 端在 0 和 1 之間處于振蕩狀態,而不是等于數據輸入端 D 的值。這段時間稱為決斷時間(resolution time)。經過 resolution time 之后 Q 端將穩定到 0 或 1 上,但是穩定到 0 或者 1,是隨機的,與輸入沒有必然的關系。

02 亞穩態發生場合

只要系統中有異步元件,亞穩態就是無法避免的,亞穩態主要發生在異步信號檢測、跨時鐘域信號傳輸以及復位電路等常用設計中。

03 亞穩態危害

由于產生亞穩態后,寄存器Q 端輸出在穩定下來之前可能是毛刺、振蕩、固定的某一電壓值。在信號傳輸中產生亞穩態就會導致與其相連其他數字部件將其作出不同的判斷,有的判斷到“1”有的判斷到“0”,有的也進入了亞穩態,數字部件就會邏輯混亂。在復位電路中產生亞穩態可能會導致復位失敗。怎么降低亞穩態發生的概率成了FPGA設計需要重視的一個注意事項。

理論分析

01 信號傳輸中的亞穩態

在同步系統中,輸入信號總是系統時鐘同步,能夠達到寄存器的時序要求,所以亞穩態不會發生。亞穩態問題通常發生在一些跨時鐘域信號傳輸以及異步信號采集上。

它們發生的原因如下:

在跨時鐘域信號傳輸時,由于源寄存器時鐘和目的寄存器時鐘相移未知,所以源寄存器數據發出數據,數據可能在任何時間到達異步時鐘域的目的寄存器,所以無法保證滿足目的寄存器 Tsu 和 Th 的要求;

在異步信號采集中,由于異步信號可以在任意時間點到達目的寄存器,所以也無法保證滿足目的寄存器 Tsu 和 Th 的要求;

當數據在目的寄存器 Tsu-Th 時間窗口發生變化,也即當數據的建立時間或者保持時間不滿足時,就可能發生亞穩態現象。如圖 3.1 所示。

圖 3.1 亞穩態產生示意圖

由圖可知,當產生亞穩態后 Tco 時間后會有 Tmet(決斷時間)的振蕩時間段,當振蕩結束回到穩定狀態時為“0”或者“1”,這個是隨機的。因此,會對后續電路判斷造成影響。

02 復位電路的亞穩態

(1)異步復位電路

在復位電路設計中,復位信號基本都是異步的,常用異步復位電路 Verilog 描述如下:

always @(posedge clk or negedge rst_n)
begin
if(!rst_n) a <= 1’b0;
else a <= b;
end

綜合出來復位電路模型如圖 3.2 所示:

圖 3.2 異步復位電路模型

如圖 3.3 所示,為復位電路復位時序圖。如果異步復位信號的撤銷時間在 Trecovery(恢復時間)和 Tremoval(移除時間)之內,那勢必造成亞穩態的產生,輸出在時鐘邊沿的 Tco 后會產生振蕩,振蕩時間為 Tmet(決斷時間),最終穩定到“0”或者“1”,就會可能造成復位失敗。

圖 3.3 異步復位時序

(2)同步復位電路

在復位電路中,由于復位信號是異步的,因此,有些設計采用同步復位電路進行復位,并且絕大多數資料對于同步復位電路都認為不會發生亞穩態,其實不然,同步電路也會發生亞穩態,只是幾率小于異步復位電路。

如下面 verilog 代碼對同步復位電路的描述:

always @(posedge clk)
begin
if(!rst_n) a <= 1’b0;
else a <= b;
end


綜合出硬件電路如圖 3.4 所示。

圖 3.4 同步復位電路

在此,我們不討論同步復位的消耗資源問題,只討論同步復位的亞穩態產生情況。

當輸入端 Din 為高電平,而且復位信號的撤銷時間在 clk 的 Tsu 和 Th 內時候,亞穩態就隨之產生了。如圖 3.5 時序所示,當復位撤銷時間在 clk 的 Tsu 和 Th 內,輸入數據為“1”,通過和輸入數據相與后的數據也在 clk 的 Tsu 和 Th 內,因此,勢必會造成類似異步信號采集的亞穩態情況。

圖 3.5 同步復位電路時序圖

03 亞穩態產生概率以及串擾概率

在實際的FPGA電路設計中,常常人們想的是怎么減少亞穩態對系統的影響,很少有人考慮怎么才能減少亞穩態發生幾率,以及亞穩態串擾的概率問題。

(1)亞穩態發生概率

由上面分析得知,系統亞穩態發生的都是由于 clk 的 Tsu 和 Th 不滿足,又或者是復位信號的移除和恢復時間不滿足。常用 FPGA 器件的 Tsu+Th 約等于 1ns,復位移除和恢復時間相加約等于 1ns。

當異步信號不是一組數據,或者信號量較少,那就需要對異步信號進行同步處理,例如對一個異步脈沖信號進行采集,只要脈沖信號變化發生在時鐘 Tsu 和 Th 窗口內,那就很可能會產生亞穩態,亞穩態產生的概率大概為:

概率=(建立時間+保持時間)/ 采集時鐘周期

(公式 3-1)

由公式 3-1 可以看出,隨著 clk 頻率的增加,亞穩態發生的幾率是增加的。

例如,為系統采用 100M 時鐘對一個外部信號進行采集,采集時鐘周期為 10ns,那采集產生亞穩態的概率為:1ns/10ns=10%

同理采用 300M 時鐘對一個外部信號進行采集,那產生亞穩態的概率為:1ns/3.3ns=30%

如果采用三相相位差為 120°的時鐘對一個外部信號進行采集,那產生亞穩態的概率接近 90%

所以在異步信號采集過程中,要想減少亞穩態發生的概率:

降低系統工作時鐘,增大系統周期,亞穩態概率就會減小;

采用工藝更好的 FPGA,也就是 Tsu 和 Th 時間較小的 FPGA 器件、

(2)亞穩態的串擾概率

使用異步信號進行使用的時候,好的設計都會對異步信號進行同步處理,同步一般采用多級 D 觸發器級聯處理,如圖 3.6 所示,采用三級 D 觸發器對異步信號進行同步處理。

圖 3.6 三級寄存器同步

這種模型大部分資料都說的是第一級寄存器產生亞穩態后,第二級寄存器穩定輸出概率為 90%,第三極寄存器穩定輸出的概率為 99%,如果亞穩態跟隨電路一直傳遞下去,那就會另自我修護能力較弱的系統直接崩潰。接下來我們分析這種串擾的概率問題。

如圖 3.7 所示為一個正常第一級寄存器發生了亞穩態,第二級、第三極寄存器消除亞穩態時序模型。

圖 3.7 三級寄存器消除亞穩態

由上圖可以看出,當第一個寄存器發生亞穩態后,經過 Tmet 的振蕩穩定后,第二級寄存器能采集到一個穩定的值。但是為什么第二級寄存器還是可能會產生亞穩態呢?

由于振蕩時間 Tmet 是受到很多因素影響的,所以 Tmet 時間又長有短,所以當 Tmet 時間長到大于一個采集周期后,那第二級寄存器就會采集到亞穩態。如圖 3.8 所示。

圖 3.8 二級寄存器亞穩態

由上圖可知,第二級也是一個亞穩態,所以在這種情況下,亞穩態產生了串擾,從第一級寄存器傳到了第二級寄存器,同樣也可能從第二級寄存器串擾到第三級寄存器。這樣會讓設計邏輯判斷出錯,產生亞穩態傳輸,可能導致系統死機奔潰。

(3)亞穩態振蕩時間 Tmet

亞穩態震蕩時間 Tmet 關系到后級寄存器的采集穩定問題,Tmet 影響因素包括:器件的生產工藝、溫度、環境以及寄存器采集到亞穩態離穩定態的時刻等。甚至某些特定條件,如干擾、輻射等都會造成 Tmet 增長。

消除亞穩態的辦法

有亞穩態產生,我們就要對亞穩態進行消除,常用對亞穩態消除有三種方式:

對異步信號進行同步處理;

采用 FIFO 對跨時鐘域數據通信進行緩沖設計;

對復位電路采用異步復位、同步釋放方式處理。

01 對異步信號進行同步提取邊沿

在異步通信或者跨時鐘域通信過程中,最常用的就是對異步信號進行同步提取邊沿處理。對一個異步信號進行提取上升沿通常采用程序清單 4.1 所示。

程序清單 4.1 雙極寄存器提取邊沿


input sig_nsyn;
wire sig_nsyn_p;
reg[1:0] sig_nsyn_r;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n) sig_nsyn_r <= 2’d0;
else sig_nsyn_r <= { sig_nsyn_r [0], sig_nsyn };
end
assign sig_nsyn_p = sig_nsyn_r[0] & ~sig_nsyn_r[1];


這種邊沿提取方式對于一個穩定的系統是不合適的,例如:當第一級寄存器采集到亞穩態,那勢必造成 sig_nsyn_p 輸出亞穩態,這樣就會對采用 sig_nsyn_p 的信號進行判斷的電路造成影響,甚至判斷出錯誤的值。

根據 3.3.1 小節的亞穩態產生概率,如果在 100M 時種下那第一級寄存器產生亞穩態的概率約為 10%,隨著系統采集頻率升高,那產生亞穩態的概率也會隨之上升。因此,在進行異步信號跨頻提取邊沿時候,一般采用多進行一級寄存器消除亞穩態,可能在系統穩定性要求高的情況下,采用更多級寄存器來消除亞穩態,如程序清單 4.2 所示,即為采用 4 級寄存器消除亞穩態,相應的邊沿信號產生的時間就晚了兩個時鐘周期。

程序清單 4.2 多級寄存器提取邊沿信號


input sig_nsyn;
wire sig_nsyn_p;
reg[3:0] sig_nsyn_r;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n) sig_nsyn_r <= 2’d0;
else sig_nsyn_r <= { sig_nsyn_r [2::0], sig_nsyn };
end
assign sig_nsyn_p = sig_nsyn_r[2] & ~sig_nsyn_r[3];

02FIFO 進行異步跨頻數據處理

當數據流從一個時鐘域到另一個時鐘域的時候,絕大多數情況下都采用 FIFO 來作為中間緩沖,采用雙時鐘對數據緩沖,就可以避免亞穩態的發生。

03 異步復位,同步釋放

對于復位情況下的亞穩態,常常是由于恢復時間和移除時鐘不滿足造成的,因此,最常用的處理方式是采用異步復位、同步釋放。常用電路模型如所示。采用第二級寄存器輸出作為全局復位信號輸出。

程序清單 4.3 異步復位處理


wire sys_rst_n;
reg [1:0] rst_r;
always @(posedge clk or negedge rst_n)
begin
if(!rst_n) rst_r <= 2’d0;
else rst_r <= {rst_r[0], 1’b1};
end
assign sys_rst_n = rst_r[1];

通過上面三種方式處理異步信號、異步數據、以及異步復位可有效的提高系統的穩定性。減少亞穩態的產生。

責任編輯:xj

原文標題:詳解 | FPGA中復位電路產生亞穩態的原因

文章出處:【微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1629

    文章

    21750

    瀏覽量

    604103
  • 亞穩態
    +關注

    關注

    0

    文章

    46

    瀏覽量

    13304
  • 復位電路
    +關注

    關注

    13

    文章

    322

    瀏覽量

    44609

原文標題:詳解 | FPGA中復位電路產生亞穩態的原因

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA復位的8種技巧

    FPGA 設計復位起到的是同步信號的作用,能夠將所有的存儲元件設置成已知狀態。在數字電路設計,設計人員一般把全局
    的頭像 發表于 11-16 10:18 ?339次閱讀
    <b class='flag-5'>FPGA</b><b class='flag-5'>復位</b>的8種技巧

    復位電路的設計問題

    都有異步復位端口,因此采用異步復位可以節約資源。 ⑵設計相對簡單。 ⑶異步復位信號識別方便,而且可以很方便地使用fpga的全局復位端口。 缺
    的頭像 發表于 11-15 11:13 ?179次閱讀
    <b class='flag-5'>復位</b><b class='flag-5'>電路</b>的設計問題

    復位電路介紹 復位電路的原理及作用

    電路概述 復位電路是一種用于控制電子系統啟動或恢復到初始狀態的電路。當系統通電或者按下復位按鈕時
    的頭像 發表于 10-18 16:44 ?2156次閱讀

    FPGA Verilog HDL有什么奇技巧?

    設計的正確性。 然而,在實際綜合的電路(特別是對于 ASIC),一般不存在“初值”的概念,只有“復位值”。對于 ASIC 而言,在聲明 reg 時賦初值是沒有意義的,因為數字電路并沒
    發表于 09-12 19:10

    STM32復位電路復位芯片和阻容復位電路區別

    系統復位電路是保證系統正常工作的重要部分。當系統出現異常或需要重新啟動時,復位電路能夠迅速將系統恢復到初始狀態。STM32微控制器的
    的頭像 發表于 08-06 10:26 ?1612次閱讀

    FPGA同步復位和異步復位

    FPGA(Field-Programmable Gate Array,現場可編程門陣列)復位操作是設計過程不可或缺的一環,它負責將電路
    的頭像 發表于 07-17 11:12 ?1619次閱讀

    數字電路亞穩態是什么

    在數字電路的設計與實現亞穩態是一個不可忽視的現象。它可能由多種因素引發,對電路的穩定性和可靠性產生嚴重影響。本文將深入探討數字
    的頭像 發表于 05-21 15:29 ?1300次閱讀

    FPGA設計添加復位功能的注意事項

    本文將回顧使用重置輸入對給定功能進行編碼的一些基本注意事項。設計者可能會忽視使用復位輸入的后果,但不正確的復位策略很容易造成嚴重處罰。復位功能會對 FPGA 設計的速度、面積和功耗
    發表于 05-03 09:49 ?223次閱讀
    向<b class='flag-5'>FPGA</b>設計添加<b class='flag-5'>復位</b>功能的注意事項

    電容在復位電路的作用(復位電路具體要怎么設計)

    數字電路寄存器和 RAM 在上電之后默認的狀態和數據是不確定的,如果有復位,我們可以把寄存器復位到初始狀態,RAM 的數據可以通過復位來觸
    發表于 03-13 12:16 ?1507次閱讀
    電容在<b class='flag-5'>復位</b><b class='flag-5'>電路</b><b class='flag-5'>中</b>的作用(<b class='flag-5'>復位</b><b class='flag-5'>電路</b>具體要怎么設計)

    穩態多諧振蕩器電路圖分享

    穩態多諧振蕩器是一種電子電路,也被稱為單穩態脈沖發生器。其原理是利用電容充電和放電的時間常數不同,通過控制電容充電和放電的時間的不同,實現在電路
    的頭像 發表于 02-12 13:07 ?2113次閱讀
    單<b class='flag-5'>穩態</b>多諧振蕩器<b class='flag-5'>電路</b>圖分享

    什么是單穩態觸發電路穩態觸發電路有哪些特點?有哪些應用

    穩態觸發電路(Monostable Multivibrator Circuit)也被稱為單穩態多諧振電路或單搖擺電路,是一種
    的頭像 發表于 02-06 11:13 ?2484次閱讀

    穩態電路和雙穩態電路的區別 單穩態電路的主要功能

    穩態電路和雙穩態電路是電子電路中常見的兩種類型電路,它們在功能和特性上存在一些顯著差異。下面我
    的頭像 發表于 02-06 11:04 ?3092次閱讀

    為什么需要復位電路?漫談復位reset

    在IC設計,把復位和時鐘電路稱為最重要的兩個電路一點也不為過。前者復位電路把IC設計的
    的頭像 發表于 01-19 16:41 ?2386次閱讀
    為什么需要<b class='flag-5'>復位</b><b class='flag-5'>電路</b>?漫談<b class='flag-5'>復位</b>reset

    兩級觸發器同步,就能消除亞穩態嗎?

    兩級觸發器同步,就能消除亞穩態嗎? 兩級觸發器同步可以幫助消除亞穩態。本文將詳細解釋兩級觸發器同步原理、亞穩態的定義和產生原因、以及兩級觸發器同步如何消除
    的頭像 發表于 01-16 16:29 ?1266次閱讀

    復位信號存在亞穩態,有危險嗎?

    復位信號存在亞穩態,有危險嗎? 復位信號在電子設備起著重要的作用,它用于使設備回到初始狀態,以確保設備的正常運行。然而,我們有時會發現復位
    的頭像 發表于 01-16 16:25 ?501次閱讀
    主站蜘蛛池模板: se94se最新网站| 国产成人亚洲影视在线| 成人免费看毛片| v片视频| 午夜黄大色黄大片美女图片| 仙踪林欧美另类视频| 天天天操天天天干| 天天干夜夜想| 人人九九精品| 天天狠狠| 免费观看欧美成人1314w色| 国产精品资源| 国产农村乱色xxxx| 亚洲夂夂婷婷色拍ww47| 抽搐一进一出gif免费男男| 中文字幕在线资源| 亚洲色图欧美视频| 日本视频网站在线www色| 久久青草91免费观看| 成人看的一级毛片| 天天爱天天操| 亚洲午夜一区| 国产色婷婷精品综合在线| 综综综综合网| 日本美女黄网站| 色爱区综合激月婷婷激情五月| 亚a在线| 无毒三级| 两性色午夜视频免费网| 第四色激情| 美女被草视频| 亚洲一区在线免费观看| 亚洲ol| 久久久精品免费国产四虎| 在线视频一本| 99插插插| 直接在线观看的三级网址| 起碰成人免费公开网视频| 97影院理论| va国产| 亚洲欧美日韩综合一区|