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

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

3天內不再提示

同步電路設計:將系統(tǒng)狀態(tài)的變化與時鐘信號同步

e9Zb_gh_8734352 ? 來源:FPGA技術聯(lián)盟 ? 作者:FPGA技術聯(lián)盟 ? 2020-10-21 11:56 ? 次閱讀

同步電路設計將系統(tǒng)狀態(tài)的變化與時鐘信號同步,并通過這種理想化的方式降低電路設計難度。同步電路設計是 FPGA 設計的基礎。

01

觸發(fā)器

觸發(fā)器(Flip Flop,F(xiàn)F)是一種只能存儲1個二進制位(bit,比特)的存儲單元,并且具備記憶功能,可以用作時序邏輯電路的記憶元件。FPGA邏輯單元內的D觸發(fā)器(D-FF)具有兩個穩(wěn)定狀態(tài),即"0"和"1",在一定的外界信號作用下,可以從一個穩(wěn)定狀態(tài)翻轉到另一個穩(wěn)定狀態(tài),就是一種在時鐘的上升沿(或下降沿)將輸入信號的變化傳送至輸出的邊沿觸發(fā)器。D-FF的符號和真值表如圖1所示。D-FF在CLK信號(時鐘)的上升沿將輸入值傳送至輸出Q。

圖 1 D 觸發(fā)器

02

建立時間和保持時間

時鐘是整個電路最重要、最特殊的信號,系統(tǒng)內大部分器件的動作都是在時鐘的跳變沿上進行,這就要求時鐘信號時延差要非常小, 否則就可能造成時序邏輯狀態(tài)出錯;因而明確FPGA設計中決定系統(tǒng)時鐘的因素,盡量較小時鐘的延時對保證設計的穩(wěn)定性有非常重要的意義。

建立時間(Tsu:set up time)是指在時鐘沿到來之前數(shù)據(jù)從不穩(wěn)定到穩(wěn)定所需的時間,如果建立的時間不滿足要求那么數(shù)據(jù)將不能在這個時鐘上升沿被穩(wěn)定的打入觸發(fā)器;

保持時間(Th:hold time)是指數(shù)據(jù)穩(wěn)定后保持的時間,如果保持時間不滿足要求那么數(shù)據(jù)同樣也不能被穩(wěn)定的打入觸發(fā)器。

CMOS 工藝下的D-FF結構如圖2所示,先由傳輸門和兩個反相器組成一個循環(huán)電路(鎖存器),再由前后兩級鎖存器按主從結構連接而成。這里的傳輸門起開關的作用,隨著CLK的狀態(tài)變化切換開關。只看輸出的話,前級鎖存器的值會將時鐘輸入的變化井然有序地傳入后級鎖存器。為了防止時鐘信號變化時輸入信號發(fā)生冒險,從而使穩(wěn)定的輸入信號進入前級鎖存器,前級鎖存器的時鐘相位應該與產生輸入信號的電路時鐘反向。圖3 為 D-FF 的原理圖。

圖 2D-FF 的電路結構

圖 3D-FF 的原理

當CLK=0主鎖存器工作)時,位于前級的主鎖存器將輸入D的值保存進來,后級的從鎖存器則維持上一時鐘周期的數(shù)據(jù)。由于此時前級和后級反相器環(huán)路之間的傳輸門是關閉狀態(tài),所以前級的信號不會傳送到后級。當CLK=1(從鎖存器工作)時,前級反相器環(huán)路中保存的數(shù)據(jù)會傳輸?shù)胶蠹?,同時輸入D的信號會被隔離在外。此時如果前級反相器環(huán)路中的信號沒有循環(huán)一圈以上,就會出現(xiàn)如圖4所示的在 0 和 1 之間搖擺的中間電位,這就是所謂的亞穩(wěn)態(tài)(metastable)。由于亞穩(wěn)態(tài)時間比延遲時間長,在該階段讀取數(shù)據(jù)可能會引入錯誤,所以我們引入建立時間(setup time)來約束在時鐘上升沿到來前輸入 D 保持穩(wěn)定 的時間。

當 CLK=1 時,如果輸入 D 在傳輸門關閉前就發(fā)生變化,那么本該 在下一周期讀取的數(shù)據(jù)就會提前進入鎖存器,從而引起反相器環(huán)路振蕩 或產生亞穩(wěn)態(tài)。因此在 CLK=1 之后也需要輸入 D 維持一定的時間,我 們稱之為保持時間(hold time)約束。

為了正確地從輸入讀取數(shù)據(jù),并正確地將數(shù)據(jù)輸出,F(xiàn)PGA 內所有 的 FF 都要遵守建立時間和保持時間等時序上的約束。

圖4建立時間和保持時間

03

時序分析

從硬件描述語言(Hardware Description Language,HDL)編寫的RTL(Register Transfer Level,寄存器傳輸級)設計代碼生成網(wǎng)表(邏輯門間的配線信息)的過程稱為邏輯綜合。最終決定邏輯綜合所生成的電路網(wǎng)表在FPGA中以何種方式實現(xiàn)的兩道工序稱為布局和布線。FPGA內部規(guī)則地擺放著大量設計好的電路及電路間配線,用以實現(xiàn)用戶設計。所謂 FPGA 的設計流程,就是決定專為FPGA綜合生成的電路擺放在哪兒、電路之間以什么樣的布線路徑相連的過程。

為了保證設計好的電路能夠正常工作,不單要保證功能(邏輯)正確,還必須要確保時序正確。而時序分析是以分析時間序列的發(fā)展過程、方向和趨勢,預測將來時域可能達到的目標的方法。此方法運用概率統(tǒng)計中時間序列分析原理和技術,利用時序系統(tǒng)的數(shù)據(jù)相關性,建立相應的數(shù)學模型,描述系統(tǒng)的時序狀態(tài),以預測未來。在 FPGA 的設計流程中,從邏輯綜合到布局布線,每一步都會對生成的電路進行評估分析。由于基于仿真的方式分析每個邏輯值并進行動態(tài)時序分析的方法過于耗時,所以 FPGA 的性能評估主要采用靜態(tài)時序分析(Static Timing Analysis,STA)。STA只需要提供電路網(wǎng)表就可以進行全面的評估驗證,并且原理上只需遍歷一次電路的拓撲結構,因此也具有分析速度快的優(yōu)點。最近,隨著電路規(guī)模不斷增大,不僅FPGA其他 EDA 工具也采用 STA 的方式來驗證電路是否能夠按照要求的速度正確工作。時序分析包含對設計電路的建立時間分析和保持時間分析,并能夠以此進行時序驗證。時序驗證主要是評估 FPGA 上設計電路的延遲是否滿足時序約束(時序上的設計需求)。布線的延遲取決于 FPGA 設計電路的擺放位置和所使用的布線,也就是說取決于布局布線工具的編譯結果。當 FPGA 的性能和邏輯門資源富余時編譯過程較為容易;相反,當設計電路的規(guī)模和 FPGA 片上資源相當時,布局布線過程所需時間可能會很長。時序分析必須檢查所有路徑上邏輯延遲和布線延遲的時序余裕,確保它們滿足建立時間和保持時間的時序約束。

04

單相時鐘同步電路

布局布線上具有一定自由度的 FPGA 都以同步電路設計方式為主, 而同步電路可以使用STA進行時序分析和驗證。STA具有驗證速度高的優(yōu)點,但對電路結構有一定的要求:延遲分析的起點和終點必須是基于同一時鐘的FF,從而可以通過累加起點和終點間的延遲來計算、驗證每條路徑的總延遲。因為各條路徑上的布線長度長短不一,所以信號的延遲會不同,輸出數(shù)據(jù)變化的時間點也會有所差別。因此如圖5所示,F(xiàn)PGA設計中的輸入信號會先被送到FF,輸出信號則必須從FF引出,并且所有FF都由同相的時鐘驅動。這種設計屬于由同一時鐘的同一邊沿同步動作的電路類型,而反相時鐘(相位反轉的時鐘或反方向的邊沿)不屬于此類?;旧?,采用單一時鐘進行同步是較為理想的選擇。

同步設計的一個前提是所有FF都必須同時接收到時鐘信號,而現(xiàn)實中時鐘信號的布線非常長,時鐘信號驅動的負荷(扇出數(shù))、布線延遲等原因會導致出現(xiàn)時間差,因此很難嚴格地滿足上述條件。這種時鐘信號到達時間的錯位稱為時鐘偏移(skew)。另外,由于時鐘振蕩器的 變動或信號變形,時鐘邊沿會偏離平均位置,這種情況稱為時鐘抖動(jitter)。為了保證所有 FF 的輸入時鐘信號同步,需要將時鐘偏移和時 鐘抖動控制在一定范圍之內。

圖5 單相時鐘同步電路

時鐘偏移和邏輯門電路的延遲一樣,會對時鐘周期的設定產生影響。因此時鐘設計是集成電路時序設計的重要一環(huán)。而 FPGA 上已經(jīng)提前實現(xiàn)好了多層時鐘樹結構,并且通過驅動能力強的專用布線(global buffer)將時鐘低偏移地連接到整個芯片的FF 上,因此在時鐘設計上要 比 ASIC 容易很多。

責任編輯:xj

原文標題:理解FPGA的基礎知識——同步電路設計

文章出處:【微信公眾號:FPGA技術聯(lián)盟】歡迎添加關注!文章轉載請注明出處。

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

    關注

    1630

    文章

    21777

    瀏覽量

    604733
  • 同步電路
    +關注

    關注

    1

    文章

    60

    瀏覽量

    13322

原文標題:理解FPGA的基礎知識——同步電路設計

文章出處:【微信號:gh_873435264fd4,微信公眾號:FPGA技術聯(lián)盟】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    北斗衛(wèi)星同步時鐘系統(tǒng):精準時間的秘密

    辦公樓中,所有的電腦、時鐘甚至是樓宇的自動化系統(tǒng),都顯示著同一個時間。這個時間均來源于北斗衛(wèi)星同步時鐘系統(tǒng)。這個
    的頭像 發(fā)表于 12-03 14:19 ?233次閱讀
    北斗衛(wèi)星<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b><b class='flag-5'>系統(tǒng)</b>:精準時間的秘密

    京準電鐘解讀:PTP時鐘同步系統(tǒng)及應用是什么?

    京準電鐘解讀:PTP時鐘同步系統(tǒng)及應用是什么?
    的頭像 發(fā)表于 10-31 09:35 ?306次閱讀
    京準電鐘解讀:PTP<b class='flag-5'>時鐘</b><b class='flag-5'>同步</b><b class='flag-5'>系統(tǒng)</b>及應用是什么?

    鋸齒波同步信號的觸發(fā)電路有哪些

    鋸齒波同步信號的觸發(fā)電路是電子學中一個重要的概念,它涉及到多種不同的電路設計和技術。 1. 鋸齒波同步
    的頭像 發(fā)表于 09-25 16:58 ?1305次閱讀

    RobustRIO-E模塊 時鐘同步&分發(fā),實現(xiàn)聲音與振動板卡間及跨機箱時鐘同步

    同步時鐘發(fā)生器 + 同步時鐘分發(fā)器
    的頭像 發(fā)表于 09-14 15:00 ?309次閱讀
    RobustRIO-E模塊 <b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>&分發(fā),實現(xiàn)聲音與振動板卡間及跨機箱<b class='flag-5'>時鐘</b><b class='flag-5'>同步</b>

    怎么判斷同步清零和異步清零

    在數(shù)字電路設計中,清零操作是一種常見的操作,用于寄存器或計數(shù)器的值清零。清零操作可以分為同步清零和異步清零兩種方式,它們在電路設計中有著不同的應用場景和特點。
    的頭像 發(fā)表于 07-23 11:11 ?4017次閱讀

    同步電路和異步電路怎么判斷正負極

    統(tǒng)一的時鐘信號進行工作,各個部分的輸出與輸入之間存在固定的時序關系。同步電路通常用于數(shù)據(jù)傳輸、存儲器、處理器等高速電子系統(tǒng)中。 異步
    的頭像 發(fā)表于 07-22 17:37 ?536次閱讀

    同步電路和異步電路的優(yōu)缺點

    同步電路和異步電路是數(shù)字電路設計中的兩種基本類型。它們在設計方法、性能、功耗、可靠性等方面存在顯著差異。 同步
    的頭像 發(fā)表于 07-22 17:35 ?1547次閱讀

    同步電路和異步電路的優(yōu)缺點有哪些

    同步電路和異步電路是數(shù)字電路設計中的兩種基本類型,它們在設計方法、性能特點和應用領域等方面存在顯著差異。 同步
    的頭像 發(fā)表于 07-22 17:01 ?1285次閱讀

    同步整流的優(yōu)缺點有哪些

    同步整流是一種在數(shù)字電路設計中常用的技術,它通過電路中的所有信號同步到一個共同的
    的頭像 發(fā)表于 07-09 09:09 ?1173次閱讀

    如何選擇適合自己需求的衛(wèi)星同步時鐘設備?

    衛(wèi)星同步時鐘設備是一種利用衛(wèi)星信號進行時間同步的設備,具有精度高、可靠性強等特點,廣泛應用于電力、通信、交通等領域。 在選擇衛(wèi)星同步
    的頭像 發(fā)表于 03-19 10:50 ?484次閱讀
    如何選擇適合自己需求的衛(wèi)星<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b>設備?

    如何解決同步時鐘系統(tǒng)中的常見問題和故障?

    同步時鐘系統(tǒng) 在電力、通信、交通等領域中應用廣泛,為保證其正常運行,需要進行系統(tǒng)的維護和保養(yǎng)。下面是述泰時鐘總結的
    的頭像 發(fā)表于 03-19 10:42 ?1733次閱讀
    如何解決<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b><b class='flag-5'>系統(tǒng)</b>中的常見問題和故障?

    GPS衛(wèi)星同步時鐘的工作原理及應用場景介紹

    GPS衛(wèi)星同步時鐘是一種基于全球定位系統(tǒng)(GPS)的授時系統(tǒng),它利用GPS衛(wèi)星原子鐘的高精度時間信息,對地面接收設備進行時間同步。該
    的頭像 發(fā)表于 03-19 10:28 ?1971次閱讀
    GPS衛(wèi)星<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b>的工作原理及應用場景介紹

    觸發(fā)電路同步電壓與同步信號有何區(qū)別

    。觸發(fā)電路通常由一個或多個觸發(fā)器、邏輯門和其他輔助元件構成。在數(shù)字系統(tǒng)和計算機系統(tǒng)中,觸發(fā)電路常用于時序控制、計數(shù)器和寄存器等模塊的設計。 同步
    的頭像 發(fā)表于 01-31 10:57 ?1265次閱讀

    什么是時鐘信號?數(shù)字電路時鐘信號是怎么產生呢?

    什么是時鐘信號?數(shù)字電路時鐘信號是怎么產生呢? 時鐘信號
    的頭像 發(fā)表于 01-25 15:40 ?1.1w次閱讀

    同步通信是怎么讓時鐘同步的?

    兩個支持相同協(xié)議的設備通過同步通信串口連接,怎么保證兩個通信串口的時鐘信號同步啟動的呢?這一步是靠軟件實現(xiàn)還是硬件實現(xiàn),如果在建立完成之
    發(fā)表于 01-19 14:55