FPGA異步時鐘設計中的同步策略

2020-12-06 OFweek維科網

  1 引言

 

  基於FPGA的數字系統設計中大都推薦採用同步時序的設計,也就是單時鐘系統。但是實際的工程中,純粹單時鐘系統設計的情況很少,特別是設計模塊與外圍晶片的通信中,跨時鐘域的情況經常不可避免。如果對跨時鐘域帶來的亞穩態、採樣丟失、潛在邏輯錯誤等等一系列問題處理不當,將導致系統無法運行。本文總結出了幾種同步策略來解決跨時鐘域問題。

 

  2 異步設計中的亞穩態

 

  觸發器是FPGA設計中最常用的基本器件。觸發器工作過程中存在數據的建立(setup)和保持(hold)時間。對於使用上升沿觸發的觸發器來說,建立時間就是在時鐘上升沿到來之前,觸發器數據端數據保持穩定的最小時間。而保持時間是時鐘上升沿到來之後,觸發器數據端數據還應該繼續保持穩定的最小時間。我們把這段時間成為setup-hold時間(如圖1所示)。在這個時間參數內,輸入信號在時鐘的上升沿是不允許發生變化的。如果輸入信號在這段時間內發生了變化,輸出結果將是不可知的,即亞穩態 (Metastability)。

 

  

 

  一個信號在過渡到另一個時鐘域時,如果僅僅用一個觸發器將其鎖存,那麼採樣的結果將可能是亞穩態。這也就是信號在跨時鐘域時應該注意的問題。如圖2所示。

 

  

 

  信號dat經過一個鎖存器的輸出數據為a_dat。用時鐘b_clk進行採樣的時候,如果a_dat正好在b_clk的setup-hold時間內發生變化,此時b_ dat就既不是邏輯「1」,也不是邏輯「0」,而是處於中間狀態。經過一段時間之後,有可能回升到高電平,也有可能降低到低電平。輸出信號處於中間狀態到恢復為邏輯「1」或邏輯「0」的這段時間,我們稱之為亞穩態時間。

  觸發器進入亞穩態的時間可以用參數MTBF(Mean Time Between Failures)來描述,MTBF即觸發器採樣失敗的時間間隔,表示為:

  

  其中fclock表示系統時鐘頻率,fdata代表異步輸入信號的頻率,tmet代表不會引起故障的最長亞穩態時間,C1和C2分別為與器件特性相關的常數。如果MTBF很大,就認為這個設計在實際工作中是能夠正常運行的,不會因為亞穩態導致整個系統的失效。當觸發器處於亞穩態,且處於亞穩態的時間超過了一個時鐘周期,這種不確定的狀態還會影響到下一級的觸發器,最終導致連鎖反應,從而使整個系統功能失常。

 

  3 同步策略

 

  在異步設計中,完全避免亞穩態是不可能的。因此,設計的基本思路應該是:首先儘可能減少出現亞穩態的可能性,其次是儘可能減少出現亞穩態並給系統帶來危害的可能性。以下是根據實際工作總結出來的幾種同步策略。

  3.1 雙鎖存器法

  為了避免進入亞穩態,應當使參數MTBF儘可能大。通常採用的方法是雙鎖存器法,即在一個信號進入另一個時鐘域之前,將該信號用兩個鎖存器連續鎖存兩次(如圖3所示)。理論研究表明這種設計可以將出現亞穩態的機率降低到一個很小的程度,但這種方法同時帶來了對輸入信號的一級延時,需要在設計時鐘的時候加以注意。

 

  

 

  對於上面的雙鎖存器法,如果a_clk的頻率比b_clk的頻率高,將可能出現因為dat變化太快,而使b_clk無法採樣的問題。即在信號從快時鐘域向慢時鐘域過渡的時候,如果信號變化太快,慢時鐘將可能無法對該信號進行正確的採樣,所以在使用雙鎖存器法的時候,應該使原始信號保持足夠長的時間,以便另一個時鐘域的鎖存器可以正確地對其進行採樣。

相關焦點

  • FPGA/CPLD設計小技巧
    這是一個在設計中常犯的錯誤列表這些錯誤常使得你的設計不可靠或速度較慢為了提高你的設計性能和提高速度的可靠性你必須確定你的設計通過所有的這些檢查 。本文引用地址:http://www.eepw.com.cn/article/201710/365644.htm可靠性為時鐘信號選用全局時鐘緩衝器BUFG不選用全局時鐘緩衝器的時鐘將會引入偏差 。
  • 十年FPGA開發經驗工程師教你的絕密設計技巧
    補充:但是在一般的設計中,不提倡用FPGA/CPLD的片內資源配置成大量的存儲器,這是處於成本的考慮。所以儘量採用外接存儲器。8、善用晶片內部的PLL或DLL資源完成時鐘的分頻、倍頻率、移相等操作,不僅簡化了設計,並且能有效地提高系統的精度和工作穩定性。
  • 基於FPGA與有限狀態機的高精度測角系統的設計與實
    1 方案設計1.1 系統組成雷射跟蹤測量系統的核心處理模塊主要由ARM處理器,FPGA組成。為了充分利用ARM9微處理器的運算能力和FPGA的高速邏輯處理能力,在設計中對功能的實現進行了劃分。ARM9 用於運動控制平臺的控制並且與FPGA一起形成一個完整的應用平臺。
  • 基於DSP和FPGA的機器人聲控系統設計與實現
    而tlv320aic23有7位地址和9位數據,也就是說,需要把數據項上面的最高位補充到第二個8 b中的最後一位。 mcbsp串口通過6個引腳clkx,clkr,fsx,fsr,dr和cx與tlv320aic23相連。數據經mcbsp串口與外設的通信通過dr和dx引腳傳輸,控制同步信號則由clkx,clkr,fsx,fsr四個引腳實現。
  • 賽靈思Verilog(FPGA/CPLD)設計小技巧
    以下是一個在設計中常犯的錯誤列表這些錯誤常使得你的設計不可靠或速度較慢為了提高你的設計性能和提高速度的可靠性你必須確定你的設計通過所有的這些檢查。  可靠性  **為時鐘信號選用全局時鐘緩衝器BUFG  • 不選用全局時鐘緩衝器的時鐘將會引入偏差 。
  • 基於DSP和FPGA的磁浮列車同步485通信方式研究
    同步485的FPGA設計主要是基於Verilog硬體描述語言,所使用的EDA工具包括ISE(含其內部集成工具)、Modelsim。 時鐘及定時信號的的產生 車載無線電控制單元需要產生速率為512k的時鐘信號與20ms一次的ANF信號。另外,該單元在串行接收定位數據時接收時鐘應為512k(波特率時鐘)的16倍,即8M。
  • 基於FPGA的RCN226絕對式編碼器通信接口設計
    目前國內外高端交流伺服系統中普遍採用FPGA+DSP結構。DSP用來實現矢量變換和其它算法流程;FPGA用以實現解碼、A、B、 Z信號輸出、I/O擴展等功能,FPGA中尚有很多資源沒有得到充分利用。本文研製了一種用於交流伺服系統中的基於FPGA的絕對式編碼器智能接口,實現與絕對式編碼器的雙工通信,接收高速數據流,同時在FPGA內部開闢RAM空間,將收到的編碼器數據存入RAM中,DSP可以以訪問內存的方式讀取數據,提高了工作速度。同時,該接口還具有奇偶校驗等糾錯功能,完全可以替代廠家提供的接收晶片,大幅度降低了產品成本。
  • 基於FPGA的同步測周期高精度數字頻率計的設計
    關鍵詞:頻率計;VHDL;FPGA;周期測量在現代數字電路設計中,採用FPGA結合硬體描述語言VHDL可以設計出各種複雜的時序和邏輯電路,具有設計靈活、可編程、高性能等優點。本文將介紹一種基於FPGA,採用同步測周期的方法來實現寬頻段高精度數字頻率計的設計。
  • 一種基於FPGA的全光纖電流互感器控制電路設計
    此外,階梯波臺階高度數據經數字濾波後由異步串行收發器(UART)傳輸到控制計算機,由於該階梯臺階高度與待測電流大小有關,上層軟體通過簡單處理就可以得出被測電流大小。整個系統的時序控制由FPGA內完成,且要求方波調製、A/D採集、數字階梯波反饋、數據輸出等的時序控制具有嚴格的同步關係。
  • 基於FPGA的永磁同步電機控制器設計
    摘要:提出一種基於FPGA的永磁同步電機控制器的設計方案,該設計可應用於具有高動態性能要求的永磁同步電機伺服控制系統。關鍵詞:同步電機控制;FPGA;NiosII;SignalTaplI本文引用地址:http://www.eepw.com.cn/article/191771.htm1 引言 國內普遍採用TM320系列的DSP器件作為永磁同步電機控制系統的主控制器,因CPU負載過重導致系統實時性降低的問題日益顯著。
  • 基於FPGA+MATLAB的串行多階FIR濾波器設計
    文中主要使用FPGA實現高速時鐘下的串行FIR濾波器結構,達到速度和邏輯資源情況下的最佳均衡。1 FIR的特點有限長單位衝激響應(FIR)濾波器的特點:(1)系統的單位衝激響應h(n)在有限個n值處不為零。(2)系統函數H(z)在|z|>0處收斂,極點全部在z=0處。(3)結構上主要是非遞歸結構,沒有輸出到輸入的反饋,但有些結構中也包含有反饋的遞歸部分。
  • 一種基於FPGA的實時紅外圖像預處理方法
    關鍵詞:FPGA;紅外圖像預處理;非均勻校正;空間濾波;直方圖統計0 引言 在紅外圖像系統設計中,多採用高速DSP+FPGA的方式對紅外圖像進行處理。在早期的設計中,DSP承擔了大部分的圖像處理工作,FPGA只做一些邏輯解碼和簡單運算的功能。但DSP運算是相當耗時的,當在圖像較大、實時性要求較高的場合,用DSP進行處理就有相當的難度了。
  • 異步計數器真值表
    由於 n 觸發器可實現的最大模數為 2 n ,這意味著當你設計截斷的異步計數器時,你應該確定2的最低功率大於或等於你想要的模數。 讓我們說希望計數從0到39,或mod-40並重複。然後所需的觸發器數量最多為6, n = 6 給出最大MOD為64,因為五個觸發器是不夠的,因為這隻給我們一個MOD-32。
  • GPS時鐘系統(GPS同步時鐘)技術方案
    在電力系統、CDMA2000、DVB、DMB等系統中,高精度的GPS時鐘系統(GPS同步時鐘本文引用地址:http://www.eepw.com.cn/article/197597.htm  那如何利用GPS OEM來進行二次開發,產生高精度時鐘發生器是一個研究的熱點問題。  如在DVB-T單頻網(SFN)中,對於時間同步的要求,同步精度達到幾十個ns,對於這樣高精度高穩定性的系統,如何進行商業級設計?
  • 基於Spartan-6 FPGA的Sinc3 Filter設計
    fs調製器的時鐘頻率即採樣頻率fs、抽取率M和輸出數據的頻率fdata之間的關係為:        濾波器相關文章:濾波器原理 fpga
  • 永磁同步電機與感應異步電機的差異化在哪?
    永磁同步電機主要是由轉子、端蓋及定子組成,它的定子結構與普通感應電機的結構非常相似,不過,它的轉子結構設計非常獨特,轉子上面放有高質量的永磁體磁極,通電可產生旋轉磁場。至於異步電動機的結構可以分為定子、轉子兩大部分,當然,除了這些還有端蓋、風扇等附屬部分。
  • 同步電機與異步電機的區別
    異步電機(感應電機)的工作原理是通過定子的旋轉磁場在轉子中產生感應電流,產生電磁轉矩,轉子中並不直接產生磁場。同步電機和異步電機的區別:本文引用地址:http://www.eepw.com.cn/article/201612/329740.htm三相交流電通過一定結構的繞組時,要產生旋轉磁場.在旋轉磁場的作用下,轉子隨旋轉磁場旋轉.如果轉子的轉速同旋轉磁場的轉速完全一致,就是同步電機;如果轉子的轉速小於磁場轉速,也就是說兩者不同步,就是異步電機.異步電機結構簡單,應用廣泛.同步電機要求轉子有固定的磁極
  • GPS時鐘發生器(GPS同步時鐘)的相關討論
    在電力系統、CDMA2000、DVB、DMB等系統中,高精度的GPS時鐘發生器(GPS同步時鐘)對維持系統正常運轉有至關重要的意義。那如何利用GPS OEM來進行二次開發,產生高精度時鐘發生器是一個研究的熱點問題。
  • AES音頻數據流之間的異步採樣率轉換
    ASRC作為一種ASSP晶片實現的功能,可以被集成到 Xilinx FPGA 中。  同樣,免費提供的Xilinx 應用指南和參考設計,同樣可以滿足客戶對集成複雜算法的需求。ASRC 參考設計正確地處理了同步採樣率轉換和大多數音/視頻產品所需要的更複雜的ASRC。
  • 純電動汽車搭載的交流異步電機與永磁同步電機有何區別?
    了解完工作原理後我們就直接進入今天的主題,2019款特斯拉Model S長續航版前軸搭載的是永磁同步電機,後軸搭載的是交流異步電機,同步電機與異步電機的最大區別就在於兩者轉子速度是不是與定子旋轉的磁場速度一致,如果轉子的旋轉速度與定子是一樣的,那就叫同步電機,如果不一致,就叫異步電動機,具體到性能參數以及應用,兩者有很大的區別。