亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA跨時鐘域信號同步設計方法研究

        2018-09-07 02:31:50,
        關鍵詞:亞穩(wěn)態(tài)同步器觸發(fā)器

        (1.工業(yè)和信息化部電子第五研究所,廣州 510610;2.重慶賽寶工業(yè)技術研究院)

        引 言

        隨著電子自動化設計(EDA)技術的發(fā)展,現(xiàn)場可編程門陣列(FPGA)已經在許多方面得到廣泛應用[1],比如將FPGA應用于通信領域,實現(xiàn)數(shù)字調制解調、編碼解碼,F(xiàn)PGA還在實現(xiàn)通信系統(tǒng)中的各種接口中起著重要作用,如PCI總線、SPI總線、429總線等。在FPGA接口設計中,同步決定了系統(tǒng)的穩(wěn)定性與接收數(shù)據(jù)的準確性。但是在實際的工程中,純粹單時鐘同步系統(tǒng)設計的情況很少,特別是在設計模塊與外圍芯片的通信中,跨時鐘域的情況經常不可避免??鐣r鐘域信號處理不當就會產生亞穩(wěn)態(tài)、采樣數(shù)據(jù)錯誤、采樣丟失和重聚合錯誤等一系列問題,從而使系統(tǒng)無法正常運行。本文就此討論了在FPGA設計中跨時鐘域設計中的常見問題,信號及數(shù)據(jù)同步的常見方法[2],在此基礎上說明了進行跨時鐘域分析時的方法和步驟。

        1 跨時鐘域信號常見問題

        1.1 亞穩(wěn)態(tài)問題

        在FPGA系統(tǒng)中,如果數(shù)據(jù)傳輸中觸發(fā)器的建立時間Tsu和保持時間Th不滿足,或者復位過程中復位信號的釋放相對于有效時鐘沿的恢復時間(recovery time)和撤離時間(removal time)不滿足,就可能產生亞穩(wěn)態(tài),此時觸發(fā)器輸出端Q在有效時鐘沿之后比較長的一段時間處于不確定的狀態(tài)。在這段時間里,Q端在0和1之間處于振蕩狀態(tài),而不是等于數(shù)據(jù)輸入端D的值,這段時間稱為決斷時間(resolution time)。經過resolution time之后,Q端將穩(wěn)定到0或1上,但是穩(wěn)定到0還是1,是隨機的,與輸入沒有必然的關系[3-5]。亞穩(wěn)態(tài)示意圖如圖1所示。

        圖1 亞穩(wěn)態(tài)示意圖

        圖3 多信號聚合問題示意圖

        亞穩(wěn)態(tài)產生的原因是觸發(fā)器Tsu和Th時間不滿足。對于同時鐘域的信號,可以采用時序約束來保證滿足Tsu和Th時間的要求,采用靜態(tài)時序分析工具測試是否滿足要求。但對于異步信號,源時鐘和目的時鐘相位關系完全不可控,而且會隨時間發(fā)生變化,這就必然會存在亞穩(wěn)態(tài)的問題。亞穩(wěn)態(tài)的危害主要是破壞系統(tǒng)的穩(wěn)定性、邏輯誤判和亞穩(wěn)態(tài)傳播。由于輸出在穩(wěn)定前可能有毛刺、振蕩、不固定的電壓值,因此亞穩(wěn)態(tài)將導致邏輯誤判,嚴重的情況,輸出0~1之間的電壓值還會使下一級產生亞穩(wěn)態(tài),即亞穩(wěn)態(tài)的傳播。邏輯誤判導致功能性錯誤,而亞穩(wěn)態(tài)傳播則擴大了故障面[6]。

        1.2 數(shù)據(jù)丟失

        數(shù)據(jù)丟失現(xiàn)象經常發(fā)生在跨時鐘域信號進入快時鐘域的信號持續(xù)時間太短,如果異步信號的長度小于目的時鐘周期,作為采集方的慢時鐘域有可能采集不到該信號,造成數(shù)據(jù)丟失。為了安全起見,通常異步信號保持目的時鐘域兩個時鐘周期長度。

        1.3 數(shù)據(jù)聚合錯誤

        圖2 單信號重聚合問題示意圖

        數(shù)據(jù)聚合是指信號在通過不同路徑傳輸后重新聚合到一起使用。通常有幾種情況:

        ① 單個信號多路扇出。如果信號從一個時鐘域分多路進入另外一個時鐘域,那么很有可能會導致功能上的錯誤。如圖2所示,由于Td的存在,DA1和DA2到達CLKB的時間不同,最終導致fsm1_en和fsm2_en這兩個本應該同時有效的信號實際上相差一個CLKB的周期。這很可能會影響到后繼的電路功能。

        ② 多個信號的重聚合。如果多個信號從一個時鐘域進入另外一個時鐘域,然后這些信號在目的時鐘域中又聚合到一起,那么就有可能因為信號的重新聚合導致電路功能上的異常。如圖3所示,原本EN1和EN2轉換時鐘域后,期望得到的值是0b00和0b11,但由于EN1和EN2到達CLKB時鐘域的時間有差異,實際得到的值是0b00、0b10和0b11,最終導致后繼電路功能出現(xiàn)問題。

        2 跨時鐘域信號同步方案

        2.1 信號同步

        2.1.1 單個信號

        單個信號跨時鐘域同步常用電路是兩拍同步,見圖4。

        圖4 兩拍DFF信號同步電路

        理論上,采用這種方法可以有效地減少亞穩(wěn)態(tài)繼續(xù)傳播的概率,但是并不能保證第2級輸出的穩(wěn)態(tài)電平就是正確電平。兩拍同步是大部分同步處理措施的基礎,如下面介紹到多位相關信號處理是對多個信號之間相互關系進行分析后,采用合并、抽取特征信號、增加指示信號等形式變?yōu)橐粋€信號或邏輯獨立再進行兩拍同步。同樣,數(shù)據(jù)同步的基礎也是兩拍同步,如握手協(xié)議的請求和應答信號、異步FIFO的地址信號。

        2.1.2 多位相關信號

        當跨時鐘域傳輸多個相互關聯(lián)信號時,不能采樣簡單的兩拍同步,因為數(shù)據(jù)傳輸時多位數(shù)據(jù)之間的傳輸延遲不同,有可能造成多位數(shù)據(jù)在目的時鐘域不同周期被采樣,這種多位數(shù)據(jù)傳輸時由于數(shù)據(jù)之間的skew所引起的不能被目的時鐘在同一個周期采樣的現(xiàn)象,稱為多位數(shù)據(jù)的跨時鐘域問題。為簡便起見,以兩個信號為例。

        (1)傳輸兩個需要同時有效的信號

        目的時鐘需要源時鐘的兩個同時有效的控制信號,這兩個控制信號來自于同一個源時鐘,有可能會出現(xiàn)時鐘之間的偏移,從而導致兩個控制信號在目的時鐘域的不同周期被采樣,在此情形下兩個本應該同時起控制作用的信號在目的時鐘域失去了作用。

        此種問題產生的原因是,兩個來自于同一個時鐘的需同時有效的控制信號在目的時鐘發(fā)生作用時產生了多位信號傳輸。在邏輯設計中,通??蓪⑦@兩個信號在源時鐘中整合為一個信號,然后通過同步邏輯傳送到目的時鐘,從而消除多位信號的跨時鐘傳輸問題[7]。

        (2)傳遞兩個順序控制的信號

        此種問題產生的原因是,兩個來自于同一個時鐘的有順序關系的控制信號在目的時鐘發(fā)生作用時產生了多位信號傳輸。在邏輯設計中,可以對前序邏輯進行分析,觀察是否在一個信號有效后,其他信號一定會達到有效狀態(tài),這時可將該信號作為特征信號而僅傳輸該信號,那么經過同步邏輯傳送到目的時鐘,從而消除多位信號的跨時鐘傳輸問題。

        (3)傳遞兩個編碼控制信號

        當具有編碼關系的多位數(shù)據(jù)在不同的時鐘之間進行傳遞時,不同編碼信號之間具有skew導致目的時鐘采樣數(shù)據(jù)的不一致性,從而導致解碼的錯誤。

        考慮到目的時鐘在接收多位信號時,無非是個別的信號在接收時晚一個時鐘周期或者多位信號撤銷時晚撤銷一個時鐘周期。所以可以得出以下解決方案:傳輸數(shù)據(jù)時增加一位ready_flag的寄存器。源時鐘必須在產生需傳輸?shù)亩辔粩?shù)據(jù)一個周期之后產生該read_flag信號,同時在需要傳輸?shù)亩辔恍盘柍蜂N之前一個周期撤銷ready_flag信號。該read_flag的使能信號需在目的時鐘至少保持兩個目的時鐘周期。

        2.2 數(shù)據(jù)同步

        2.2.1 握手協(xié)議

        根據(jù)不同的設計需求和不同的設計標準,利用兩到三個握手信號可以實現(xiàn)數(shù)據(jù)在不同時鐘之間的傳遞,圖5給出了握手信號傳遞數(shù)據(jù)的機制。采用的握手信號越多,從一個時鐘到另外一個時鐘所需要的延遲也越多,同時數(shù)據(jù)傳遞也越準確。對于許多沒有限制的傳輸,兩個握手信號足以使數(shù)據(jù)在兩個時鐘之間準確地傳遞。

        圖5 握手機制傳遞數(shù)據(jù)示意圖

        與兩級同步器相比,異步握手同步器的信號切換過程很慢,需要很多個時鐘周期才能完成一組數(shù)據(jù)的傳遞,但這種通信方式能夠精確傳遞指定數(shù)目的數(shù)據(jù)。數(shù)據(jù)信號會有效持續(xù)一段時間,可以用于多比特數(shù)據(jù)的傳輸,適合于連續(xù)處理。當幾個電路不能預知相互的響應時間時,握手方法能讓數(shù)字電路間實現(xiàn)有效的通信。

        2.2.2 異步FIFO

        當主機端的數(shù)據(jù)連續(xù)放入總線時,握手寫方式則可能無法正確進行數(shù)據(jù)同步,可以采用異步FIFO解決這一問題。異步FIFO的讀寫可以工作在不同的時鐘域內,將需要同步的數(shù)據(jù)利用寫時鐘暫存在FIFO內部的一個雙口RAM里,然后利用讀時鐘讀取暫存在雙口RAM里的數(shù)據(jù)。FIFO的典型結構圖如圖6所示,它由FIFO讀控制邏輯、FIFO寫控制邏輯、空/滿狀態(tài)判斷模塊和一個雙端口RAM四部分組成[8]。空滿狀態(tài)的判斷由于存在讀寫地址跨時鐘域的問題,容易產生錯誤,所以FIFO設計的關鍵是空滿標志的產生,一般會將地址通過Gray碼編碼后傳給對方。

        圖6 異步FIFO結構框圖

        3 跨時鐘域信號驗證方法

        由于跨時鐘域設計不當會引入較多的問題,除在設計階段由開發(fā)工程師對跨時鐘域信號進行同步設計外,在設計完成后應由驗證工程師對設計進行跨時鐘域的分析。跨時鐘域分析可借助工具或由人工將跨時鐘域信號提取出來,然后再進行分析和驗證,主要包含兩個階段:一是協(xié)議檢查,二是仿真測試。

        3.1 協(xié)議檢查

        在對跨時鐘域信號進行協(xié)議檢查時,應按照邏輯梳理各信號相互之間的關系,按照關系選擇是否應該進行同步化處理,判斷同步化處理措施采用的同步協(xié)議是否合理。下面給出兩拍同步器、握手協(xié)議、異步FIFO等同步協(xié)議的原理、應用場景和注意事項等[9-10]。

        3.1.1 兩拍同步

        在兩拍同步器中,觸發(fā)器到觸發(fā)器路徑上的時序裕量可以為潛在的亞穩(wěn)態(tài)信號到達設計的其他部分提供一定的判決時間,以便達到穩(wěn)定的值。在應用兩拍同步器時,為了確??鐣r鐘域信號能夠安全傳輸至目的時鐘域,應注意以下幾點[11]:

        ① 跨時鐘域信號在源時鐘域盡量直接由寄存器驅動,直接輸入給同步器的第一級觸發(fā)器,不經過任何組合邏輯。因為數(shù)據(jù)傳輸很重要的一點就是進入接收時鐘域的第一級觸發(fā)器的輸入信號不能出現(xiàn)毛刺,而組合邏輯電平不穩(wěn)定,極易使得同步器采樣到不穩(wěn)定的信號。

        ② 兩拍同步器采樣到源時鐘域的信號,經過目的時鐘兩個周期后,才能輸出到目的時鐘域的邏輯電路中,因此,同步信號傳遞到新時鐘域時存在兩個目的時鐘周期的延時,這是需要注意的。

        ③ 兩拍同步器常應用于單個異步數(shù)據(jù)的同步,而在同步多位異步數(shù)據(jù)時,如果多位異步數(shù)據(jù)存在同時變化的情況,則應考慮過渡虛假數(shù)據(jù)的產生。

        ④ 不能對一個信號在多個地方進行同步,如果進入亞穩(wěn)態(tài),它們可能輸出不同的值,即使輸出同一個數(shù)值,時間上也會有差別,如此產生的競爭會對后續(xù)電路有影響。

        3.1.2 握手協(xié)議

        為了降低系統(tǒng)故障率就需要盡量減少跨時鐘域信號數(shù)目,使用握手協(xié)議可以僅僅對請求信號和應答信號進行同步,使得并行數(shù)據(jù)有足夠的時間滿足建立時間和保持時間的要求,所以握手協(xié)議能夠滿足并行數(shù)據(jù)安全傳輸?shù)男枰N帐謪f(xié)議常應用于解決并行總線信號的同步問題。

        3.1.3 異步FIFO

        異步FIFO的工作原理是先由寫時鐘把異步數(shù)據(jù)存儲到RAM,穩(wěn)定后再由讀時鐘讀取數(shù)據(jù),從而抑制亞穩(wěn)態(tài)??偩€數(shù)據(jù)同步、高速數(shù)據(jù)傳輸、數(shù)據(jù)在跨越時鐘域時需要存儲容量大的緩沖時,則可以采用異步FIFO[12-14]。

        需要著重指出的是,在實際設計中,有時設計人員不會對跨時鐘域信號進行同步處理。由于目的時鐘域對跨時鐘域進行捕獲時,除可能引起的亞穩(wěn)態(tài)傳播外,帶來的影響無非是信號早一個時鐘出現(xiàn)或者晚一個時鐘出現(xiàn),又或者早一個時鐘消失或者晚一個時鐘消失,對于很多持續(xù)時間比較長的信號,一般不會造成影響。對于亞穩(wěn)態(tài)傳播的問題,由于芯片工藝的改進,決斷時間越來越短,如果采用同步設計,一般會產生亞穩(wěn)態(tài)傳播的問題。這時應該具體分析不進行同步是否會對目的時鐘域邏輯產生影響。

        3.2 仿真測試

        對于復雜的信號關系,僅僅借助靜態(tài)的協(xié)議檢查不能確認是否沒有問題,這時需要使用時序仿真測試的手段針對跨時鐘域信號進行專門的測試,可使用隨機測試的形式測試信號再聚合時產生的問題[15]。

        結 語

        宋文強(工程師),主要從事軟件可靠性測試和FPGA驗證技術研究。

        猜你喜歡
        亞穩(wěn)態(tài)同步器觸發(fā)器
        2016年門源MS6.4地震前跨斷層短水準短期異常的機理探討
        地震研究(2020年4期)2020-09-26 10:08:11
        汽車同步器齒環(huán)鍛壓工藝的神經網絡優(yōu)化研究
        FPGA設計中跨時鐘域的問題與方法
        主從JK觸發(fā)器邏輯功能分析
        電子世界(2017年22期)2017-12-02 03:03:45
        使用觸發(fā)器,強化安全性
        考考你
        多錐鎖環(huán)式同步器的應用
        汽車零部件(2014年1期)2014-09-20 02:35:00
        新型多錐鎖銷同步器
        非對稱反饋神經網絡中亞穩(wěn)態(tài)的位置與穩(wěn)定性
        對觸發(fā)器邏輯功能轉換的分析
        亚洲精品www久久久| 少妇av免费在线播放| 国产一区二区一级黄色片| 国产精品久久婷婷六月丁香| 久久99精品久久久久久琪琪| 国产麻豆md传媒视频| 久久国产成人精品国产成人亚洲| 亚洲电影一区二区三区| 日本嗯啊在线观看| 中文字幕日本av网站| 手机看片自拍偷拍福利| 国产激情视频一区二区三区| 亚洲国产18成人中文字幕久久久久无码av | 免费的小黄片在线观看视频| 免费观看a级片| 亲子乱aⅴ一区二区三区下载| 一本一本久久a久久| 白色橄榄树在线阅读免费| 美女脱了内裤露出奶头的视频| 国产ww久久久久久久久久| 亚洲av无码之日韩精品| 国产成年无码aⅴ片在线观看| 熟女人妻一区二区中文字幕| 精品人妻av一区二区三区| 性生交大全免费看| 性做久久久久久久| 在线不卡精品免费视频| 国产福利一区二区三区在线视频| 国产一区二区三区在线av| 97丨九色丨国产人妻熟女| 特黄a级毛片免费视频| 99亚洲乱人伦精品| 亚洲第一女人的天堂av| 免费人妻精品一区二区三区| 97超在线视频免费| 中文片内射在线视频播放| 亚洲av成人综合网成人| 麻豆一区二区99久久久久| 日韩av中出在线免费播放网站| 能看不卡视频网站在线| 7194中文乱码一二三四芒果|