吴忠躺衫网络科技有限公司

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

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

3天內(nèi)不再提示

多時鐘域的同步時序設(shè)計和幾種處理異步時鐘域接口的方法

牽手一起夢 ? 來源:電子設(shè)計應用 ? 作者:張渠,李平 ? 2020-07-24 09:52 ? 次閱讀

引言

數(shù)字電路設(shè)計中,大部分設(shè)計都是同步時序設(shè)計,所有的觸發(fā)器都是在同一個時鐘節(jié)拍下進行翻轉(zhuǎn)。這樣就簡化了整個設(shè)計,后端綜合、布局布線的時序約束也不用非常嚴格。但是在設(shè)計與外部設(shè)備的接口部分時,大部分外部輸入的信號與本地時鐘是異步的。在SoC設(shè)計中,可能同時存在幾個時鐘域,信號的輸出驅(qū)動和輸入采樣在不同的時鐘節(jié)拍下進行,可能會出現(xiàn)一些不穩(wěn)定的現(xiàn)象。本文分析了在跨時鐘域信號傳遞時可能會遇見的問題,并介紹了幾種處理異步時鐘域接口的方法。

圖1 多時鐘域的信號傳遞

圖2 異步信號傳輸通過不同路徑

圖3 同步器的構(gòu)建和使用

圖4 兩級采樣的同步器

圖5 一級采樣的同步器故障

圖6 兩級采樣的同步器

亞穩(wěn)態(tài)

當觸發(fā)器的建立時間和保持時間要求沒有得到滿足時,觸發(fā)器就會進入一個界于邏輯1和邏輯0之間的第三種狀態(tài),即亞穩(wěn)態(tài)。

理想的觸發(fā)器是在時鐘邊沿到達的那個時刻采樣數(shù)據(jù)。但是在實際電路中,時鐘的跳變具有一定的斜率,電路采樣、保存、傳遞數(shù)據(jù)也需要一定的時間。如果在數(shù)據(jù)還未穩(wěn)定時進行采樣,就可能會導致亞穩(wěn)態(tài)的發(fā)生。

平均無故障時間MTBF(Mean time between failures)是指任意兩次故障出現(xiàn)的間隔時間的期望值。一個系統(tǒng)亞穩(wěn)態(tài)的MTBF是和系統(tǒng)頻率、器件速度相關(guān)的指數(shù)函數(shù):

公式中的tr是有效的亞穩(wěn)態(tài)最大分辨時間,是指觸發(fā)器能夠保持亞穩(wěn)態(tài)輸出,并不會引起故障的時間。f是觸發(fā)器的時鐘頻率。是異步輸入每秒變化的次數(shù)。To和是由觸發(fā)器的電氣特性決定的參數(shù),可用于表征觸發(fā)器翻轉(zhuǎn)速度的快慢。增加tr,或者減小To、或f都可以加大MTBF,即使兩次故障出現(xiàn)的時間間隔加大。但在一般情況下,系統(tǒng)中的tr和f是固定的,故只能通過減小To、t或a來改善系統(tǒng)。降低輸入信號的變化頻率a可以滿足建立時間和保持時間的要求。而To、t是器件的固有性質(zhì),只有用速度更快的器件才能減小它們。

多時鐘域下同步器的設(shè)計與分析

當在某個時鐘邊沿采樣一個變化的數(shù)據(jù)信號時,時鐘邊沿和數(shù)據(jù)變化這兩個事件出現(xiàn)的先后順序?qū)Q定結(jié)果。這兩個事件出現(xiàn)先后的差異越小,判斷哪個事件先到來所花的時間就越多。當兩個事件到來太接近時,就會使判決所花的時間超過規(guī)定的分辨時間,從而導致故障發(fā)生。

異步信號傳輸?shù)膯栴}分析

如果信號跨越不同的時鐘域,就有可能會出現(xiàn)不滿足建立時間和保持時間的情況。如圖1所示,信號A經(jīng)過組合邏輯傳遞到模塊B中的觸發(fā)器,若信號A到達時間與模塊B的時鐘邊沿非常接近,模塊B中的觸發(fā)器就會工作在不確定的亞穩(wěn)態(tài)。如果這個亞穩(wěn)態(tài)持續(xù)了一個周期,就會影響到下一級的觸發(fā)器,最終產(chǎn)生連鎖反應,使整個芯片的功能發(fā)生混亂。

另外一種可能出現(xiàn)的現(xiàn)象如圖2所示,由于在實際電路中存在延時,圖中采樣同一個異步信號的兩個D觸發(fā)器無法按理想狀況接收到時鐘信號和輸入信號。因此,當異步輸入在時鐘邊沿發(fā)生變化時,會出現(xiàn)在一段時間內(nèi),兩個觸發(fā)器的輸出值SYN1和SYN2不一致的情況。這種不一致將會導致系統(tǒng)出現(xiàn)不正確的操作。

另外,圖2中組合邏輯電路中的不同通路不可避免的具有不同的延時,因此,產(chǎn)生不一致結(jié)果的可能性就更大,這種情況在有異步信號輸入的狀態(tài)機里特別普遍。例如,某個VME總線接口芯片,用于完成VME總線時序到MC6000系列CPU時序的轉(zhuǎn)換。CPU時鐘是50MHz,VME總線系統(tǒng)的時鐘是64MHz。VME總線是異步總線,存在很多跨越時域的握手信號,如果不使用同步器對與狀態(tài)機的狀態(tài)變量相關(guān)的信號進行同步化處理,就會出現(xiàn)故障。

同步器在多時鐘域設(shè)計中的應用

同步器的功能是采樣異步輸入信號,并使產(chǎn)生的輸出信號滿足同步系統(tǒng)的建立時間和保持時間的要求。簡單的同步器一般采用D觸發(fā)器來構(gòu)成。圖3中,D觸發(fā)器的每一個時鐘觸發(fā)沿采樣異步輸入信號,并產(chǎn)生一個同步后的輸出信號。要構(gòu)建更好的同步器可以采用更快速的觸發(fā)器,減小采樣保持時間,使器件能夠更快地采樣到信號;或者增加MTBF方程中的tr值,等信號穩(wěn)定后再采樣,這可以通過延時采樣來實現(xiàn)。

圖4為最常用的一種同步器,與一級同步相比,兩級同步能夠更可靠地避免亞穩(wěn)態(tài)的出現(xiàn),而三級以上同步器的效果并不能提高多少。

同步器故障分析

如果同步器的建立時間和保持時間得不到滿足,那么觸發(fā)器同樣會進入亞穩(wěn)態(tài)。這個亞穩(wěn)態(tài)通過不同的延時傳到組合邏輯中,一部分電路把這個信號識別為邏輯1,一部分又將其識別為邏輯0,也會導致系統(tǒng)邏輯的混亂。

下面將比較一下一級同步器和兩級采樣同步器的差異。

一級同步器如圖5所示,aclk時鐘域產(chǎn)生的信號adat的變化與bclk時鐘域時鐘的邊沿采樣太接近,未滿足采樣保持時間。同步器故障導致輸出出現(xiàn)亞穩(wěn)態(tài),且在下一個時鐘邊沿到來之前,不會變成穩(wěn)態(tài)。此輸出傳遞到后面的組合邏輯中,導致系統(tǒng)混亂。

兩級同步器如圖6所示,當?shù)谝患売|發(fā)器采樣異步輸入之后,允許輸出出現(xiàn)的亞穩(wěn)態(tài)可以長達一個周期,在這個周期內(nèi),亞穩(wěn)態(tài)特性減弱。在第二個時鐘沿到來時,第二級同步器采樣,之后才把該信號傳遞到內(nèi)部邏輯中去。第二級輸出是穩(wěn)定且已被同步了的。如果在第二級采樣時第一級的輸出仍然處于很強的亞穩(wěn)態(tài),將會導致第二級同步器也進入亞穩(wěn)態(tài),但這種故障出現(xiàn)的概率比較小。

兩級同步器總體的故障概率是一級同步器故障概率的平方。例如,對74LS74系列器件來說, TO=0.4s,t=1.5ns,建立時間ts=20ns。設(shè)時鐘頻率為10MHz,則同步器分辨時間tr=80ns。若異步信號變化頻率a=100kHz,則一級同步器的平均無故障時間為:

兩級同步器的MTBF為[MTBF(80ns)]2=1.296×1023s。在大部分的同步化設(shè)計中,兩級同步器足以消除所有可能的亞穩(wěn)態(tài)了。

結(jié)語

在異步設(shè)計時,同步化和亞穩(wěn)態(tài)的問題是難以避免的。本文對該類問題做了較為詳細的分析。文中介紹的同步器解決亞穩(wěn)態(tài)和同步化的方案簡單、可行性較高,能夠滿足絕大部分的邏輯設(shè)計。

責任編輯:gt

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

    關(guān)注

    9

    文章

    777

    瀏覽量

    84428
  • 布局
    +關(guān)注

    關(guān)注

    5

    文章

    272

    瀏覽量

    25056
  • 觸發(fā)器
    +關(guān)注

    關(guān)注

    14

    文章

    2003

    瀏覽量

    61347
收藏 人收藏

    評論

    相關(guān)推薦

    FPGA設(shè)計中有多個時鐘時如何處理

    FPGA設(shè)計中有多個時鐘時如何處理?跨時鐘的基本設(shè)計方法是:(1)對于單個信號,使用雙D觸發(fā)
    發(fā)表于 02-24 15:47

    關(guān)于異步時鐘的理解問題:

    關(guān)于異步時鐘的理解的問題: 這里面的count[25]、和count[14]和count[1]算是多時鐘吧?大俠幫解決下我的心結(jié)呀,我
    發(fā)表于 02-27 15:50

    多時鐘的設(shè)計和綜合技巧系列

    1、純粹的單時鐘同步設(shè)計純粹的單時鐘同步設(shè)計是一種奢望。大部分的ASIC設(shè)計都由多個異步時鐘驅(qū)動
    發(fā)表于 04-11 17:06

    IC設(shè)計中多時鐘處理的常用方法相關(guān)資料推薦

    1、IC設(shè)計中的多時鐘處理方法簡析我們在ASIC或FPGA系統(tǒng)設(shè)計中,常常會遇到需要在多個時鐘
    發(fā)表于 06-24 16:54

    討論一下在FPGA設(shè)計中多時鐘異步信號處理有關(guān)的問題和解決方案

    。雖然這樣可以簡化時序分析以及減少很多與多時鐘有關(guān)的問題,但是由于FPGA外各種系統(tǒng)限制,只使用一個時鐘常常又不現(xiàn)實。FPGA時常需要在兩個不同
    發(fā)表于 10-14 15:43

    高級FPGA設(shè)計技巧!多時鐘異步信號處理解決方案

    減少很多與多時鐘有關(guān)的問題,但是由于FPGA外各種系統(tǒng)限制,只使用一個時鐘常常又不現(xiàn)實。FPGA時常需要在兩個不同時鐘頻率系統(tǒng)之間交換數(shù)據(jù),在系統(tǒng)之間通過多I/O
    發(fā)表于 06-02 14:26

    基于多時鐘異步FIFO設(shè)計

    在大規(guī)模集成電路設(shè)計中,一個系統(tǒng)包含了很多不相關(guān)的時鐘信號,當其目標時鐘與源時鐘不同時,如何在這些不同
    發(fā)表于 12-14 10:19 ?14次下載

    時鐘信號的幾種同步方法研究

    時鐘信號的同步方法應根據(jù)源時鐘與目標時鐘的相位關(guān)系、該信號的時間寬度和多個跨
    發(fā)表于 05-09 15:21 ?63次下載
    跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b>信號的<b class='flag-5'>幾種</b><b class='flag-5'>同步</b><b class='flag-5'>方法</b>研究

    如何解決異步FIFO跨時鐘亞穩(wěn)態(tài)問題?

    時鐘的問題:前一篇已經(jīng)提到要通過比較讀寫指針來判斷產(chǎn)生讀空和寫滿信號,但是讀指針是屬于讀時鐘的,寫指針是屬于寫時鐘
    的頭像 發(fā)表于 09-05 14:29 ?6100次閱讀

    如何將一種異步時鐘轉(zhuǎn)換成同步時鐘

     本發(fā)明提供了一種將異步時鐘轉(zhuǎn)換成同步時鐘方法
    發(fā)表于 12-21 17:10 ?5次下載
    如何將一種<b class='flag-5'>異步</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>轉(zhuǎn)換成<b class='flag-5'>同步</b><b class='flag-5'>時鐘</b><b class='flag-5'>域</b>

    解析多時鐘異步信號處理解決方案

    減少很多與多時鐘有關(guān)的問題,但是由于FPGA外各種系統(tǒng)限制,只使用一個時鐘常常又不現(xiàn)實。 FPGA時常需要在兩個不同時鐘頻率系統(tǒng)之間交換數(shù)據(jù),在系統(tǒng)之間通過多I/O
    的頭像 發(fā)表于 05-10 16:51 ?4019次閱讀
    解析<b class='flag-5'>多時鐘</b><b class='flag-5'>域</b>和<b class='flag-5'>異步</b>信號<b class='flag-5'>處理</b>解決方案

    FPGA中多時鐘異步信號處理的問題

    減少很多與多時鐘有關(guān)的問題,但是由于FPGA外各種系統(tǒng)限制,只使用一個時鐘常常又不現(xiàn)實。FPGA時常需要在兩個不同時鐘頻率系統(tǒng)之間交換數(shù)據(jù),在系統(tǒng)之間通過多I/O
    的頭像 發(fā)表于 09-23 16:39 ?3122次閱讀

    時鐘處理方法(一)

    理論上講,快時鐘的信號總會采集到慢時鐘傳輸來的信號,如果存在異步可能會導致出現(xiàn)時序問題,所以
    的頭像 發(fā)表于 03-28 13:50 ?2199次閱讀
    跨<b class='flag-5'>時鐘</b><b class='flag-5'>域</b><b class='flag-5'>處理</b><b class='flag-5'>方法</b>(一)

    關(guān)于FPGA設(shè)計中多時鐘異步信號處理有關(guān)的問題

    減少很多與多時鐘有關(guān)的問題,但是由于FPGA外各種系統(tǒng)限制,只使用一個時鐘常常又不現(xiàn)實。FPGA時常需要在兩個不同時鐘頻率系統(tǒng)之間交換數(shù)據(jù),在系統(tǒng)之間通過多I/O
    的頭像 發(fā)表于 08-23 16:10 ?667次閱讀

    為什么異步fifo中讀地址同步在寫時鐘時序分析不通過?

    為什么異步fifo中讀地址同步在寫時鐘時序分析不通過? 異步FIFO中讀地址
    的頭像 發(fā)表于 10-18 15:23 ?809次閱讀
    大发888注册送钱| 蒙城县| bet365资讯网| 资中县| 澳门百家乐官网怎么才能赢钱| 百家乐官网微笑不倒| 百合百家乐官网的玩法技巧和规则 | 澳门百家乐官网赌技术| 百家乐官网大眼仔小路| 百家乐官网tt娱乐场| 属鸡和属猪做生意好吗| 百家乐必知技巧| 大发888娱乐城大发888大发网| 八大胜开户| 百家乐官网优博娱乐城| 24山向方位| 百家乐真人玩下载| 青鹏棋牌官网下载| 百家乐官网神算子| 怎么玩百家乐官网的玩法技巧和规则 | 太阳城管理| 网络真人赌场| 哪里有百家乐官网投注网| 鑫鑫百家乐官网的玩法技巧和规则| 百家乐官网规律和方法| 豪华百家乐桌子| bet365地址| 百家乐官网赌博租| 百家乐怎样捉住长开| 宝马会百家乐娱乐城| 澳门百家乐有限公司| 玩百家乐澳门368娱乐城| 百家乐闲和庄| 荷规则百家乐的玩法技巧和规则| 百家乐平玩法这样| 大发888大发888官网| 沙龙娱乐| 百家乐官网技术秘籍| 百家乐官网二十一点游戏| 百家乐官网游乐园 | 百家乐单机游戏免费下|