《電子技術應用》
您所在的位置:首頁 > 微波|射頻 > 業界動態 > 采用IDDR的亞穩態問題解決方案

采用IDDR的亞穩態問題解決方案

2010-12-03
作者:Primitivo Matas Sanz

  什么是亞穩態

  在FPGA同步邏輯數字器件中,所有器件的寄存器單元都需要預定義信號時序以使器件正確地捕獲數據,進而產生可靠的輸出信號。當另一器件將數據發送給FPGA時,FPGA的輸入寄存器必須在時鐘脈沖邊沿前保證最短的建立時間和時鐘脈沖邊沿后的保持時間,從而確保正常完整地 接收信號。

  在一定的延遲后,寄存器輸出端隨后將信號發送到FPGA的其他部分。不過,如果信號傳輸違反了指定時間要求,那么輸出寄存器可能就會進入所謂的亞穩態,這就導致寄存器輸出值會在高低狀態之間波動,且這種狀態的時間不確定,從而使穩定輸出狀態無法達到寄存器指定的時間,進而造成性能略有延遲或邏輯行為的副效應。

  解決問題

  一般來說,將FPGA連接到另一個具有不同時鐘域的數字器件時,必須給FPGA的輸入部分添加一級同步,使FPGA時鐘域中的第一個寄存器充當同步寄存器。為了實現這一目的,可在FPGA器件的輸入級中使用一系列寄存器或同步寄存器鏈。該鏈可在輸入寄存器將信號發送到FPGA的其他區域之前,允許 能有更多的時間解決潛在的亞穩態信號問題。亞穩態信號的穩定時間通常比一個時鐘周期要短得多,因此即便延遲半個時鐘周期,亞穩態出現的概率也會按數量級減少。

  為了降低亞穩態問題的出現概率,在設計中實現的一系列寄存器(連接成移位寄存器)必須滿足以下標準要求:

  所有寄存器必須由同一時鐘,或與同一時鐘相位相關的時鐘控制。

  鏈中每個寄存器的扇出都僅針對相鄰的寄存器。

  由于不能完全消除亞穩態問題,因此必須做好解決問題的準備。為此,設計人員采用平均故障間隔時間(MTBF)這個指標來估算從問題出現并導致故障的兩個事件間的平均時間。MTBF值越高,說明設計的穩定性越高。如果發生了“故障”,只是說明沒有解決亞穩態問題,并不是系統本身真的出現了故障。

  可用以下方程式計算出寄存器的MTBF:

  


 

  在本例中,C1和C2代表寄存器技術相關常數,tMET代表亞穩態的穩定時間。

  可根據每個寄存器的MTBF,確定總的MTBF值。同步器的故障率為1/MTBF,則將每個同步器的故障率相加,就能計算出整個設計的故障率:

  

 

  從上式可以明顯看出,通過改進寄存器單元的架構,優化設計以延長同步寄存器的tMET,甚至增加鏈中寄存器的數量等多種方法來改進MTBF。

  高層代碼與布局圖

  如果發現輸入信號存在潛在的亞穩態問題,只需創建與同一時鐘有相位關系的時鐘驅動的寄存器鏈就能解決此問題。這需要提供如圖1所示的電路。

  

 同步器鏈的默認布置圖 www.elecfans.com

 

  圖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原語)就能大幅降低設計發生亞穩態問題的幾率。大家應在創建設計時就采用上述方法,而不應事后亡羊補牢,這樣就能創建出既能靈活應對亞穩性問題,而且所占面積、性能和成本又得到優化的架構。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 久久午夜夜伦鲁鲁片无码免费| 亚洲精品99久久久久中文字幕| 顶级欧美色妇xxxxx| 国产精品自产拍高潮在线观看| loveme动漫在线观看免费| 拍拍拍无挡视频免费观看1000| 久久精品成人一区二区三区| 欧美人与动zooz| 亚洲欧美日韩小说| 特级毛片a级毛片在线播放www | 亚洲精品伊人久久久久| 国产观看精品一区二区三区| aa级黄色毛片| 女人扒开双腿让男人捅| 一级毛片不收费| 成人黄色在线观看| 久久一本精品久久精品66| 日本黄网站动漫视频免费| 久草视频免费在线| 最近中文字幕完整版免费| 亚洲中文字幕久久精品无码va| 欧美日韩一区二区三区自拍 | 男女一对一免费视频| 初尝黑人巨砲波多野结衣| 美女视频黄a视频全免费网站色| 国产丰满眼镜女在线观看| 青青草原视频在线观看| 国产成人久久精品一区二区三区| 日本网址在线观看| 老师…好紧开裆蕾丝内裤| 天仙tv在线视频一区二区| 一二三四日本高清社区5| 成人亚洲欧美日韩中文字幕| 中文字幕电影在线观看| 日本pissjapantv厕所自| 久久亚洲私人国产精品va| 日本精品αv中文字幕| 久久亚洲精品中文字幕三区| 日本在线色视频| 久久久久久久久人体| 日本三人交xxx69视频|