資料介紹
??如果在具有多個時鐘的非同步系統中使用FPGA,或者系統中的時鐘頻率或相位與FPGA所使用時鐘頻率或相位不同,那么設計就會遇到亞穩態問題。不幸的是,如果設計遇到上述情況,是沒有辦法完全解決亞穩態問題的,不過還是有一些方法可降低系統出現亞穩態問題的幾率。
??先來深入研究一下引起亞穩態的原因,再談談用哪些方法加以應對。
??什么是亞穩態
??在FPGA等同步邏輯數字器件中,所有器件的寄存器單元都需要預定義信號時序以使器件正確地捕獲數據,進而產生可靠的輸出信號。當另一器件將數據發送給FPGA時,FPGA的輸入寄存器必須在時鐘脈沖邊沿前保證最短的建立時間和時鐘脈沖邊沿后的保持時間,從而確保正常完整地 接收信號。
??在一定的延遲后,寄存器輸出端隨后將信號發送到FPGA的其他部分。不過,如果信號傳輸違反了指定時間要求,那么輸出寄存器可能就會進入所謂的亞穩態,這就導致寄存器輸出值會在高低狀態之間波動,且這種狀態的時間不確定,從而使穩定輸出狀態無法達到寄存器指定的時間,進而造成性能略有延遲或邏輯行為的副效應。
??解決問題
??一般來說,將FPGA連接到另一個具有不同時鐘域的數字器件時,必須給FPGA的輸入部分添加一級同步,使FPGA時鐘域中的第一個寄存器充當同步寄存器。為了實現這一目的,可在FPGA器件的輸入級中使用一系列寄存器或同步寄存器鏈。該鏈可在輸入寄存器將信號發送到FPGA的其他區域之前,允許 能有更多的時間解決潛在的亞穩態信號問題。亞穩態信號的穩定時間通常比一個時鐘周期要短得多,因此即便延遲半個時鐘周期,亞穩態出現的概率也會按數量級減少。
??為了降低亞穩態問題的出現概率,在設計中實現的一系列寄存器(連接成移位寄存器)必須滿足以下標準要求:
??所有寄存器必須由同一時鐘,或與同一時鐘相位相關的時鐘控制。
??鏈中每個寄存器的扇出都僅針對相鄰的寄存器。
??由于不能完全消除亞穩態問題,因此必須做好解決問題的準備。為此,設計人員采用平均故障間隔時間(MTBF)這個指標來估算從問題出現并導致故障的兩個事件間的平均時間。MTBF值越高,說明設計的穩定性越高。如果發生了“故障”,只是說明沒有解決亞穩態問題,并不是系統本身真的出現了故障。
??可用以下方程式計算出寄存器的MTBF:
??
??在本例中,C1和C2代表寄存器技術相關常數,tMET代表亞穩態的穩定時間。
??可根據每個寄存器的MTBF,確定總的MTBF值。同步器的故障率為1/MTBF,則將每個同步器的故障率相加,就能計算出整個設計的故障率:
??
??從上式可以明顯看出,通過改進寄存器單元的架構,優化設計以延長同步寄存器的tMET,甚至增加鏈中寄存器的數量等多種方法來改進MTBF。
??高層代碼與布局圖
??如果發現輸入信號存在潛在的亞穩態問題,只需創建與同一時鐘有相位關系的時鐘驅動的寄存器鏈就能解決此問題。這需要提供如圖1所示的電路。
??
??圖1 同步器鏈的默認布置圖
??圖中,將寄存器鏈放置在兩個單元中:第一個為ILOGIC單元,而另外兩個寄存器放置在SLICE單元中(選擇具有相同時鐘的3個寄存器和鏈)。這是減少亞穩態問題的一種快速且非常簡單的方法,還有其他一些方法不但可減少亞穩態問題,還可優化性能。
??使用賽靈思邏輯塊的IDDR方法
??在Virtex-4和Virtex-5 FPGA中,賽靈思將其ILOGIC模塊直接放置在I/O驅動器和接收器的后面。該模塊包括4個存儲元件寄存器和1個可編程絕對延遲元件。
??Virtex-4與Virtex-5器件均采用這4個寄存器來實現雙倍數據率輸入(IDDR)寄存器,功能設計師只需例化IDDR原語便能實現。這將使 受益匪淺。
??這種原語的其中一個模式稱為SAME_EDGE_PIPELINED。圖2顯示了采用這種模式的DDR輸入寄存器及相關信號。綠色矩形框顯示了一系列最優的寄存器,可用其解決亞穩態問題。此外,使用 IDDR 方法還有一個優勢,即能使用兩三倍之多的主時鐘,同時又不會造成任何設計時延問題。
??
??圖2 SAME_EDGE_PIPELINED模式中的輸入DDR
??只需少量代碼
??在《Virtex-4用戶指南》的328~329頁,舉例說明采用VHDL和Verilog語言編寫的IDDR原語的例化。以下采用Verilog語言的IDDR原碼例化的典型實例:
??defparam IDDR_INT2.DDR_CLK_EDGE = “SAME_EDGE_PIPELINED”;
??defparam IDDR_INT2.INIT_Q1 = 1‘b1;
??defparam IDDR_INT2.INIT_Q2 = 1’b1;
??defparam IDDR_INT2.SRTYPE = “SYNC”;
??IDDR IDDR_INT2( .Q1(sync_data),
??.Q2(signal_noload), .C(CLK_2X),
??.CE(1‘b1), .D(async_data),.R(), .S());
??在圖3中看到全新的布局圖。 用這種方法將寄存器鏈放置在兩個單元:前兩個寄存器放置在ILOGIC單元中,另一個寄存器則放置在SLICE單元中(這里選擇的鏈具有3個寄存器和2個不同的時鐘,其中一個時鐘速度是另一個的兩倍)。
??
??圖3 顯示IDDR替代的同步器鏈
??整體而言,亞穩態問題會給設計帶來不便,但采用一些快速便捷的解決方案(如以一種新的方式使用IDDR原語)就能大幅降低設計發生亞穩態問題的幾率。大家應在創建設計時就采用上述方法,而不應事后亡羊補牢,這樣就能創建出既能靈活應對亞穩性問題,而且所占面積、性能和成本又得到優化的架構。
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 單穩態觸發器74123資料 20次下載
- 基于MATLAB的數值方法英文資料下載 0次下載
- 基于Matlab的機構與機器人分析資料下載 13次下載
- 什么是高壓LED資料下載
- 什么是移動 USB?資料下載
- 瞬態、穩態測量儀器常見的波形采集方法資料下載
- 雙穩態開關電路圖資料下載
- 亞穩態的原理、起因、危害、解決辦法資料下載
- 正弦穩態電路的分析學習課件免費下載 17次下載
- 控制系統的穩態特性穩態誤差分析詳細課件免費下載 7次下載
- 單穩態電路EWB電路仿真的詳細資料免費下載 4次下載
- 555定時器單穩態觸發器EWB電路仿真圖免費下載 79次下載
- 基于FPGA的亞穩態參數測量方法 0次下載
- 一種消除異步電路亞穩態的邏輯控制方法 55次下載
- 同步與亞穩態相關問題探討 42次下載
- 數字電路中的亞穩態是什么 1347次閱讀
- 數字電路中的亞穩態產生原因 1927次閱讀
- FPGA設計中的亞穩態解析 1936次閱讀
- D觸發器與亞穩態的那些事 1360次閱讀
- 跨時鐘域處理的亞穩態與同步器 1075次閱讀
- 跨時鐘域的亞穩態的應對措施 1197次閱讀
- 亞穩態與設計可靠性的關系 792次閱讀
- 亞穩態產生原因、危害及消除方法 9648次閱讀
- 亞穩態理論介紹 2011次閱讀
- FPGA系統復位過程中的亞穩態原理 1439次閱讀
- 基于FPGA的異步FIFO設計架構 3571次閱讀
- 如何解決觸發器亞穩態問題? 9178次閱讀
- FPGA系統中三種方式減少亞穩態的產生 1w次閱讀
- 亞穩態的定義和在設計中的問題分析 3925次閱讀
- 亞穩態的原理、起因、危害、解決辦法及影響和消除仿真詳解 4.4w次閱讀
下載排行
本周
- 1A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 2PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 3PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 4dsPIC33EDV64MC205電機控制開發板用戶指南
- 5.78MB | 8次下載 | 免費
- 5STC15系列常用寄存器匯總免費下載
- 1.60 MB | 7次下載 | 5 積分
- 6模擬電路仿真實現
- 2.94MB | 4次下載 | 免費
- 7PCB圖繪制實例操作
- 2.92MB | 2次下載 | 免費
- 8零死角玩轉STM32F103—指南者
- 26.78 MB | 1次下載 | 1 積分
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 452次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 141次下載 | 1 積分
- 3基于STM32單片機智能手環心率計步器體溫顯示設計
- 0.10 MB | 137次下載 | 免費
- 4A7159和A7139射頻芯片的資料免費下載
- 0.20 MB | 55次下載 | 5 積分
- 5PIC12F629/675 數據手冊免費下載
- 2.38 MB | 36次下載 | 5 積分
- 6如何正確測試電源的紋波
- 0.36 MB | 19次下載 | 免費
- 7PIC16F716 數據手冊免費下載
- 2.35 MB | 18次下載 | 5 積分
- 8Q/SQR E8-4-2024乘用車電子電器零部件及子系統EMC試驗方法及要求
- 1.97 MB | 8次下載 | 10 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多