




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、跨越鴻溝:同步世界中的異步信號頁碼,5/7跨越鴻溝:同步世界中的異步信號作者:Mike Stein , Paradigm Works開欄的話從本期起,EDN CHINA電子設計技術(shù)將正式推岀 技術(shù)論壇”這個新欄目。通過這個欄目,我們將向廣大讀者定期 推介來自業(yè)界領(lǐng)先的技術(shù)供應商的充滿了設計靈思的、最前沿的、高質(zhì)量的技術(shù)文章;同時也會采用一系列創(chuàng)新的形式促 進設計工程師與技術(shù)供應商的溝通與互動。這樣以來,當每個月讀者拿到EDN CHINA雜志時,就好象是足不岀戶參加了一 個技術(shù)研討會,享受了一頓豐盛的信息 大餐”雖說是新”欄目,但實際上作為它前身的 技術(shù)交流”一原先技術(shù)縱橫”中的子欄目一一已經(jīng)與
2、讀者相伴很多年了,這 種對新技術(shù)的傳播方式也已經(jīng)得到了讀者和技術(shù)供應商雙方的認同。技術(shù)交流"中的文章在www.EDNC上的點擊 率排名總是名列前茅就是一個很好的例證?,F(xiàn)在我們將 技術(shù)交流”升格為一個獨立的技術(shù)論壇”欄目,其最主要的用意就是 給這個欄目一個更廣闊、更自由的發(fā)展空間。而對于技術(shù)交流”欄目所開創(chuàng)的刊網(wǎng)互動”的形式,我們?nèi)詫⒀赜?。同時我們也將充分利用網(wǎng)絡平臺為讀者提供更富于 想象力的交互式的信息服務,比如讀者可以將基于某篇文章的啟發(fā)所迸發(fā)岀的靈感火花發(fā)布到 EDNC網(wǎng)站上,經(jīng) 過我們的編輯整理則可以刊登在雜志上與更多的業(yè)內(nèi)同仁分享。新的欄目是一種新的嘗試,當然其發(fā)展也需要讀者
3、熱心的支持。而實際上你會發(fā)現(xiàn),你的參與意識越強,技術(shù)論壇”所給予你的越豐富一一這也正是我們的編輯理想所在。只有最初級的邏輯電路才使用單一的時鐘。大多數(shù)與數(shù)據(jù)傳輸相關(guān)的應用都有與生俱來的挑戰(zhàn),即跨越多個時鐘域的 數(shù)據(jù)移動,例如磁盤控制器、CDROM/DVD控制器、調(diào)制解調(diào)器、網(wǎng)卡以及網(wǎng)絡處理器等。當信號從一個時鐘域傳送到另一個時鐘域時,岀現(xiàn)在新時鐘域的信號是異步信號。在現(xiàn)代IC、ASIC以及FPGA設計中,許多軟件程序可以幫助工程師建立幾百萬門的電路,但這些程序都無法解決信 號同步問題。設計者需要了解可靠的設計技巧,以減少電路在跨時鐘域通信時的故障風險?;A(chǔ)從事多時鐘設計的第一步是要理解信號穩(wěn)定
4、性問題。當一個信號跨越某個時鐘域時,對新時鐘域的電路來說它就是一 個異步信號。接收該信號的電路需要對其進行同步。同步可以防止第一級存儲單元(觸發(fā)器)的亞穩(wěn)態(tài)在新的時鐘域里傳 播蔓延。亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定時間段內(nèi)達到一個可確認的狀態(tài)。當一個觸發(fā)器進入亞穩(wěn)態(tài)時,既無法預測該單元 的輸岀電平,也無法預測何時輸岀才能穩(wěn)定在某個正確的電平上。在這個穩(wěn)定期間,觸發(fā)器輸岀一些中間級電平,或者可 能處于振蕩狀態(tài),并且這種無用的輸岀電平可以沿信號通道上的各個觸發(fā)器級聯(lián)式傳播下去。對任何一種觸發(fā)器,在時鐘觸發(fā)沿前后的一個小時間窗口內(nèi),輸入信號必須穩(wěn)定。這一時間窗口是多種因素的函數(shù), 包括觸發(fā)器設計、實現(xiàn)
5、技術(shù)、運行環(huán)境以及無緩沖輸岀上的負載等。輸入信號陡峭的邊沿可以將此窗口減至最小。隨著時 鐘頻率的升高,會岀現(xiàn)更多有問題的時間窗口,而隨著數(shù)據(jù)頻率的提升,這種窗口的命中概率則會增加。FPGA制造商和IC晶片廠用“ MTBF來標識合格的觸發(fā)器,并且確定它們的特性。“ MTBF (平均無故障時間)用統(tǒng)計方法描述了一個觸發(fā)器的亞穩(wěn)態(tài)特性,即確定某個觸發(fā)器岀現(xiàn)故障的概率。在計算MTBF時,制造商部分基于輸入信號改變導致觸發(fā)器不穩(wěn)定期間的時間窗口長度。另外,MTBF的計算還使用了輸入信號的頻率以及驅(qū)動觸發(fā)器的時鐘頻率。在一個ASIC或FPGA庫中,每種觸發(fā)器都有時序要求,以幫助你確定容易出問題的窗口。建立
6、時間” (Setup time)是指在時鐘沿到來之前,觸發(fā)器輸入信號必須保持穩(wěn)定的時間。保持時間” (Hold time)則是指在時鐘沿之后,信號必須保持穩(wěn)定的時間。這些指標通常比較保守,以應對電源電壓、工作溫度、信號質(zhì)量以及制造工藝等各種可能的差異。如果一個設 計滿足了這些時序要求,則觸發(fā)器岀現(xiàn)錯誤的可能性可以忽略不計。現(xiàn)代IC與FPGA設計中使用的綜合工具可以保證設計能滿足每個數(shù)字電路觸發(fā)器對建立與保持時間的要求。然而, 異步信號卻給軟件提岀了難題。對新的時鐘域來說,從其它時鐘域傳來的信號是異步的。大多數(shù)綜合工具在判定異步信號 是否滿足觸發(fā)器時序要求時遇到了麻煩。因為它們不能確定觸發(fā)器處于
7、非穩(wěn)態(tài)的時間,所以它們也就不能確定從一個觸發(fā) 器通過組合邏輯到達下一個觸發(fā)器的總延遲時間。所以,最好的辦法是使用一些電路來減輕異步信號的影響。信號同步信號同步的目的是防止新時鐘域中第一級觸發(fā)器的亞穩(wěn)態(tài)信號對下級邏輯造成影響。簡單的同步器由兩個觸發(fā)器串聯(lián)而成,中間沒有其它組合電路。這種設計可以保證后面的觸發(fā)器獲得前一個觸發(fā)器輸岀時,前一個觸發(fā)器已退岀了亞穩(wěn) 態(tài),并且輸出已穩(wěn)定。設計中要注意將兩個觸發(fā)器放得盡可能近,以確保兩者間有最小的時滯(clock skew)。IC制造廠提供同步單元,幫助完成信號同步工作。這些單元通常包括一個有非常高增益的觸發(fā)器,它比普通觸發(fā)器耗 電更高,也比較大。這種觸發(fā)器
8、降低了對輸入信號建立-保持時間的要求,并且當輸入信號導致亞穩(wěn)態(tài)時,它可以防止岀現(xiàn)振蕩。另一種同步器單元包括兩個觸發(fā)器,省去了將兩個單獨觸發(fā)器靠近放置的工作,也防止設計人員誤在兩個觸發(fā)器間 加入任何其它的組合邏輯。為了使同步工作能正常進行,從某個時鐘域傳來的信號應先通過原時鐘域上的一個觸發(fā)器,然后不經(jīng)過兩個時鐘域間 的任何組合邏輯,直接進入同步器的第一個觸發(fā)器中(圖1)。這一要求非常重要,因為同步器的第一級觸發(fā)器對組合邏輯所產(chǎn)生的毛刺非常敏感。如果一個足夠長的信號毛刺正好滿足建立-保持時間的要求,則同步器的第一級觸發(fā)器會將其放行,給新時鐘域的后續(xù)邏輯送岀一個虛假的信號。rr uni町h v(nr
9、,rrqrClJXK1 CXWIXD SET QCLOCK1 - I :圖1,在一個全同步器電路中,從某個時鐘域傳來的信號應先通過原時鐘域上的一個觸發(fā)器,然后不經(jīng)過原觸發(fā)器和同步器的第一個觸發(fā)器兩個時鐘域間的任何組合邏輯,直接進入同步器的第一個觸發(fā)器中。一個經(jīng)同步后的信號在兩個時鐘沿以后就成為新時鐘域中的有效信號。信號的延遲是新時鐘域中的一到兩個時鐘周 期。一種粗略的估算方法是同步器電路在新時鐘域中造成兩個時鐘周期的延遲,設計者需要考慮同步延遲將對跨時鐘域的 信號時序造成的影響。同步器有許多種設計方法,因為一種同步器不能滿足所有應用的需求。同步器的類型基本上有三種:電平、邊沿檢測 和脈沖(表1
10、)。雖然還存在著其它類型的同步器,但這三種類型的同步器可以解決設計者遇到的多數(shù)應用問題。在電平 同步器中,跨時鐘域的信號在新時鐘域中要保持高電平或低電平兩個時鐘周期以上。這種電路的要求是,在再次成為有效 信號前,信號需要先變成無效狀態(tài)。每一次信號有效時,接收邏輯都會把它看作一個單個事件,而不管信號的有效狀態(tài)保 持了多久。這種電路是所有同步器電路的核心。表1 口多時的類旦與應出wzraBVuTznnUrtiiMihips wi 誕陽ai 鮭i ewckxk 轉(zhuǎn)佃dcman,EmIi lira oiqii 鼻血 倦 Id 陌 fa眉1訶姻f出Lewicr pulwperiMidcmvfi tSjr
11、dwcrt% single dodMldEpLtePuhBftpULspuhe-rBral tme cttsi Tmj dst perods tefHBHiIn teriew Mmun表i邊沿檢測同步器在電平同步器的輸岀端增加了一個觸發(fā)器(圖2)。新增觸發(fā)器的輸岀經(jīng)反相后和電平同步器的輸岀進行與操作。這一電路會檢測同步器輸入的上升沿,產(chǎn)生一個與時鐘周期等寬、高電平有效的脈沖。如果將與門的兩個輸 入端交換使用,就可以構(gòu)成一個檢測輸入信號下降沿的同步器。將與門改為與非門可以構(gòu)建一個產(chǎn)生低電平有效脈沖的電 路。圖2,邊沿檢測同步器在電平同步器的輸岀端增加了一個觸發(fā)器。當一個脈沖進入更快的時鐘域中時,
12、邊沿檢測同步器可以工作得很好。這一電路會產(chǎn)生一個脈沖,用來指示輸入信號 上升或下降沿。這種同步器有一個限制,即輸入脈沖的寬度必須大于同步時鐘周期與第一個同步觸發(fā)器所需保持時間之 和。最保險的脈沖寬度是同步器時鐘周期的兩倍。如果輸入是一個單時鐘寬度脈沖進入一個較慢的時鐘域,則這種同步器 沒有作用,在這種情況下,就要采用脈沖同步器。脈沖同步器的輸入信號是一個單時鐘寬度脈沖,它觸發(fā)原時鐘域中的一個翻轉(zhuǎn)電路(圖3)。每當翻轉(zhuǎn)電路接收到一個脈沖時,它就會在高、低電平間進行轉(zhuǎn)換,然后通過電平同步器到達異或門的一個輸入端,而另一個信號經(jīng)一個時鐘周 期的延遲進入異或門的另一端,翻轉(zhuǎn)電路每轉(zhuǎn)換一次狀態(tài),這個同步
13、器的輸岀端就產(chǎn)生一個單時鐘寬度的脈沖。圖3,脈沖同步器的輸入信號是一個單時鐘寬度脈沖,它觸發(fā)原時鐘域中的一個翻轉(zhuǎn)電路脈沖同步器的基本功能是從某個時鐘域取岀一個單時鐘寬度脈沖,然后在新的時鐘域中建立另一個單時鐘寬度的脈 沖。脈沖同步器也有一個限制,即輸入脈沖之間的最小間隔必須等于兩個同步器時鐘周期。如果輸入脈沖相互過近,則新 時鐘域中的輸岀脈沖也緊密相鄰,結(jié)果是輸岀脈沖寬度比一個時鐘周期寬。當輸入脈沖時鐘周期大于兩個同步器時鐘周期 時,這個問題更加嚴重。這種情況下,如果輸入脈沖相鄰太近,則同步器就不能檢測到每個脈沖。握手與FIFO在許多應用中,跨時鐘域傳送的不只是簡單的信號,數(shù)據(jù)總線、地址總線和
14、控制總線都會同時跨域傳輸。工程師們用 一些其它的手段來處理這些情況,如握手協(xié)議和 FIFO等。當幾個電路不能預知相互的響應時間時,握手方法能讓數(shù)字電路間實現(xiàn)有效的通信。例如,仲裁總線結(jié)構(gòu)可以讓一個以上的電路請求使用單個的總線,用仲裁方法來決定哪個電路可以獲得總線的訪問權(quán),例如PCI或AMBA (高級微控制器總線架構(gòu))。每個電路都發(fā)岀一個請求信號,由仲裁邏輯決定誰是贏家”獲勝的電路會收到一個應答,表示它可以訪問總線。該電路于是中斷請求,開始使用總線。不同時鐘域電路使用的握手協(xié)議有兩種基本類型:全握手 (Full-handshake)和部分握手(partial-handshake)。每種類型 的握
15、手都要用同步器,每種都各有自己的優(yōu)缺點。對全握手信號,雙方電路在聲明或中止各自的握手信號前都要等待對方 的響應(圖4)。首先,電路 A聲明它的請求信號,然后,電路B檢測到該請求信號有效后,聲明它的響應信號。當電路A檢測到響應信號有效后,中止自己的請求信號。最后,當電路B檢測到請求無效后,它中止自己的響應信號。除非電路A檢測到無效的響應信號,否則它不會再聲明新的請求信號。圖4,對全握手信號,雙方電路在聲明或中止各自的握手信號前都要等待對方的響應。B)需要告知請求電路(電這種類型的握手使用了電平同步器。設計人員將這種技術(shù)用在如下情況:響應電路(電路 路A)它可以處理請求。這種握手方法要求請求電路延
16、遲它的下一個請求,直到它檢測到響應信號無效??梢杂媒?jīng)驗估算 法判斷這個協(xié)議的時序:信號跨越一個時鐘域要花兩個時鐘周期的時間,信號在跨越多個時鐘域前被電路寄存。全部的時 間序列是:A時鐘域中最多五個周期加上 B時鐘域最多六個周期。全握手類型很強健,因為通過檢測請求與響應信號,每 個電路都清楚地知道對方的狀態(tài)。這種方式的不足之處是完成所有交互的整個過程要花費很多時鐘周期。另一種類型是部分握手,它可以縮短這些事件的過程。使用部分握手信號時,通信雙方的電路都不等對方的響應就中 止各自的信號,并繼續(xù)執(zhí)行握手命令序列。部分握手類型比全握手類型在健壯性方面稍弱,因為握手信號并不指示各自電 路的狀態(tài),每一電路
17、都必須保存狀態(tài)信息(在全握手信號里這個信息被送岀去)。但是,由于無需等待其它電路的響應, 完整的事件序列花費時間較少。當使用部分握手信號方式時,響應的電路必須以正確的時序產(chǎn)生它的信號。如果響應電路要求先處理完一個請求,然 后才能處理下一個請求,則響應信號的時序就很重要。電路用它的響應信號來指示它的處理任務何時完成。一種部分握手 方法混合了電平與脈沖信號,而其它的方法則只使用脈沖信號。在第一種部分握手方法中,電路A以有效電平聲明其請求信號,電路B則以一個單時鐘寬度脈沖作為響應。此時,電路B并不關(guān)心電路 A何時中止它的請求信號。但為了使這種方法成立,電路A中止請求信號至少要有一個時鐘周期長,否則,
18、電路 B就不能區(qū)別前一個請求和新的請求。在這種握手方式下,電路B為請求信號使用一個電平同步器,電路A為響應信號使用一個脈沖同步器。只有當電路B檢測到請求信號時才發(fā)出響應脈沖。這種情況可以使電路A通過控制其請求信號的時序,控制同步器接收到的脈沖間隔(圖5)。同樣可以用經(jīng)驗估算法確定時序,即信號跨越一個時鐘域file:/D:跨越鴻溝:同步世界中的異步信號跨越鴻溝:同步世界中的異步2005-5-13跨越鴻溝:同步世界中的異步信號頁碼,#/7file:/D:跨越鴻溝:同步世界中的異步信號跨越鴻溝:同步世界中的異步2005-5-13跨越鴻溝:同步世界中的異步信號頁碼,#/7要花兩個時鐘周期并且在跨越時鐘
19、域前被電路寄存。file:/D:跨越鴻溝:同步世界中的異步信號跨越鴻溝:同步世界中的異步2005-5-13跨越鴻溝:同步世界中的異步信號頁碼,#/7file:/D:跨越鴻溝:同步世界中的異步信號跨越鴻溝:同步世界中的異步2005-5-13跨越鴻溝:同步世界中的異步信號頁碼,9/7B則以一個單時鐘寬度脈沖作為響應。圖5,在一種部分握手方法中,電路A發(fā)出它的請求信號,電路全部的序列為 A時鐘域最多三個周期加上 B時鐘域最多五個周期。這種部分握手方法比全握手方法在A、B兩個時鐘域分別少用了兩個和一個時鐘周期。如果采用第二種部分握手方法可以再減少一些時鐘周期,此時電路A用一個單時鐘寬度脈沖發(fā)出它的請求
20、,而電路B也用一個單時鐘寬度脈沖響應這個請求。這種情況下,兩個電路都需要保存狀態(tài),以指示請求正待處理。圖6,這種握手類型使用的是脈沖同步器,但如果其中一個電路時鐘比另一個電路時鐘快兩倍,則可以用邊沿檢測同步器來 代替。這種握手類型使用的是脈沖同步器,但如果其中一個電路時鐘比另一個電路時鐘快兩倍,則可以用邊沿檢測同步器來 代替(圖6)。完整的時序是:A時鐘域最多兩個周期加上 B時鐘域最多三個周期。所以這種部分握手技術(shù)與全握手方法 相比,在 A時鐘域少用三個時鐘周期,在B時鐘域也少用三個時鐘周期。同時,也比第一種部分握手方法分別在A、B時鐘域快了一個和兩個周期(表2)。這些握手協(xié)議針對的都是跨越時
21、鐘域的單一信號。但當幾組信號要跨越時鐘域時,設計人員就需要使用更加復雜的信號傳送方法。OrwHllrWftiPMairLnd阪MbLfKly 杓 w ibb g trwamiIlfW皿*rv b- iPTil hr i & wi etiwFWallKill AIndMidCnut A dud amckQnrtflhtnAwdshCKKl pHUArviAiiiSiOFl A 出kPUveT4DHHA1Mr veiMr-MtH BH PffBVIQlIteWbeMhjhfeoi皿證IMHub ibfNw ue 血與4表2數(shù)據(jù)路徑設計在進行信號同步時有一個重要的規(guī)則,那就是不應當在設計中的
22、多個地方對同一信號進行同步,即單個信號扇出至多 個同步器。因為同步要花一到兩個時鐘周期,設計者不能確切地預測到每個信號何時跨越一個時鐘域。此外,在新時鐘域 中一組經(jīng)同步后的信號其時序是不定的,因為同步延遲可以是一到兩個時鐘周期,這與輸入信號到達同步器的時間有關(guān)。 這種情況會在各個同步信號間形成一種競爭狀況”。這種競爭狀況在需要跨越時鐘域傳輸?shù)亩嘟M信號間也會發(fā)生,例如數(shù)據(jù)總線、地址總線和控制總線等。因此,不能對組中的每個信號單獨使用同步器,也不能對數(shù)據(jù)或地址總線的每一位單獨使 用同步器,因為在新的時鐘域中,要求每個信號同時有效。一種解決總線同步問題的方法是使用一個保持寄存器和握手信號。這種電路包
23、括一個保持信號總線的寄存器,以及一 個握手機制(圖7)。握手信號指示新時鐘域的電路何時可以對總線采樣,以及源電路何時可以更換當前寄存器中保存的 內(nèi)容。菴 QtJd;x.iORCLIT AHOU)K耳4 MJrfn:fl1圖7,一種數(shù)據(jù)路徑同步器設計使用一個保持寄存器和握手信令。在這種設計中,傳輸電路將數(shù)據(jù)(信號總線)存儲在保持寄存器,同時發(fā)岀請求信號。這兩個動作可以同時發(fā)生,因 為請求信號至少要花一個時鐘周期才能讓接收電路檢測到它(最小的握手-同步延遲)。當接收電路采樣到數(shù)據(jù)(信號總線)時,它發(fā)岀一個響應信號。這種設計使用了全握手方法,所以要花較長時間才能完成整個傳輸。對接收電路而言,使 用全
24、握手信號的設計有較大的時間窗口用于對信號總線采樣,因而效率較低。如用部分握手方法代替全握手方法則可以加 快傳輸速度。用這種總線同步方式,你可以同步握手信號,但不能同步信號總線。信號總線來自于保持寄存器,它在接收電路采樣 前一直保持穩(wěn)定。注意,如果傳輸電路向接收電路提交數(shù)據(jù)太快以致來不及處理,則應用中的總線同步可能不起作用。高級數(shù)據(jù)路徑設計在許多情況下,數(shù)據(jù)在跨越時鐘域時需要堆積”起來,因此使用單個保持寄存器無法完成工作。例如一種情況是某個傳輸電路猝發(fā)式發(fā)送數(shù)據(jù),接收電路來不及采樣。另一種情況是接收電路采樣速度超出傳輸電路發(fā)送數(shù)據(jù)的速度,但采樣的 數(shù)據(jù)寬度不夠。這些情況就要使用FIFO 了?;?/p>
25、上,設計者使用 FIFO有兩個目的:速度匹配或數(shù)據(jù)寬度匹配。在速度匹配時,F(xiàn)IFO較快的端口處理猝發(fā)的數(shù)據(jù)傳輸,而較慢的端口則維持恒定的數(shù)據(jù)流。但是,雖然訪問方式和速度不同,但進岀FIFO的平均數(shù)據(jù)速率必須是相同的,否則FIFO就會出現(xiàn)上溢(overflow)或下溢(underflow)問題。與單寄存器設計相同,F(xiàn)IFO將數(shù)據(jù)保存在寄存器或存儲器中,同時同步狀態(tài)信號,判斷何時可以把數(shù)據(jù)寫入FIFO或從FIFO中讀出。在速度匹配應用中,每個端口(讀或?qū)懀┑臅r鐘不同。FIFO中的寄存器使用寫端口時鐘,就像保持寄存器使用電路時鐘來改變寄存器內(nèi)容一樣。信號同步發(fā)生在指針邏輯中,而且比握手信號要復雜得多
26、?,F(xiàn)在指針邏輯的設計有多種方法。第一種方法是將讀、寫選通進行同步,同時在各個時鐘域使用計數(shù)器來跟蹤FIFO中可用的項。計數(shù)器反映出可用于讀寫的FIFO項目號,計數(shù)器也與相應的端口同步。讀計數(shù)器跟蹤包含有效數(shù)據(jù)的項數(shù),而寫計數(shù)器則跟蹤可以存儲數(shù)據(jù)的項數(shù)。當對指針邏輯進行復位時,由于沒有數(shù)據(jù)可讀,讀計數(shù)器從零起始。寫計數(shù) 器則從FIFO中項的總數(shù)開始計數(shù),即所有項均可用來存儲數(shù)據(jù)。讀選通信號累減讀計數(shù)器,并與寫時鐘域同步,因為它同時也累加寫計數(shù)器。寫選通信號則累減寫計數(shù)器,并與讀時 鐘域同步,因為它同時也累加讀計數(shù)器。這種設計需要單時鐘寬度脈沖以及用于讀、寫選通的脈沖同步器,因為當一個電平信號從一
27、個時鐘域跨越到另一個更 快的時鐘域時,在較快時鐘域中它能在更多的時鐘周期中保持有效。由于只要讀或?qū)懶盘柺怯行У模總€計數(shù)器就會發(fā)生 變化,因此較快的時鐘域就檢測到更多的讀、寫,超岀較慢時鐘域?qū)嶋H發(fā)生的數(shù)量。脈沖同步器可以將一個時鐘域的時鐘 寬度脈沖轉(zhuǎn)換為新時鐘域的時鐘寬度脈沖,每個脈沖都表示一次FIFO的讀或?qū)?。這種FIFO狀態(tài)技術(shù)對讀、寫狀態(tài)都不太有利。當FIFO中所有項均充滿時,寫端口狀態(tài)指示為滿,并在讀選通觸發(fā)后繼續(xù)指示FIFO滿,因為同步過程會使選通信號延遲送給寫計數(shù)器。讀端口為空時也會出現(xiàn)這種情況,因為同步過程會 使寫選通信號延遲到達讀計數(shù)器。這種設計的另一種考慮是及時檢測全滿/全空
28、狀態(tài)。如果 FIFO還有一項可用,并且有寫選通觸發(fā),則FIFO必須立即置為全滿狀態(tài)。這樣才能提前一個時鐘給出全滿標志,使FIFO有足夠時間防止下一個數(shù)據(jù)寫入而產(chǎn)生溢出。對FIFO的讀端口也是這樣。這種情況下,如果FIFO里只有一個數(shù),并且有讀選通觸發(fā),則必須置全空狀態(tài),以給讀電路足夠的時間防止讀空 FIFO。這種指針邏輯限制電路在每個時鐘周期中訪問FIFO,即使在慢速時鐘域中也是這樣。這一功能的優(yōu)點在于訪問FIFO的電路至少有一個時鐘周期來評估FIFO的狀態(tài)。FIFO可以將所有項都填滿數(shù)據(jù),而不會岀現(xiàn)數(shù)據(jù)被覆蓋或全空無數(shù)據(jù)可讀的情況。這種設計的另一個優(yōu)點是每一端都可以讀其相應的計數(shù)器,來判斷F
29、IFO中還有多少項可用。設計者可以將這種FIFO設計用在進行多次數(shù)據(jù)讀/寫的電路中,而不會造成上溢或下溢的情況。這種設計的不足之處是由計數(shù)器來判斷狀態(tài),而不是直接比較讀、寫指針。對大型FIFO來說,這些計數(shù)器也很大。而且,由于使用脈沖同步時,來自較快時鐘域的讀、寫脈沖在較慢時鐘域的脈沖間至少必須有兩個時鐘周期,因此平均數(shù) 據(jù)速率為最低時鐘頻率的一半。解決這些問題的一種方法是采用直接指針比較法。在這種FIFO設計中,讀、寫指針的比較決定了FIFO的狀態(tài)。異步設計中的指針比較更富有挑戰(zhàn)性,因為每個指針位于不同的時鐘域中,對信號總線的同步要求在同步握手信號期間總線不發(fā)生改變。將這種技術(shù)用于指針同步的
30、FIFO設計可能會很慢。要解決這個問題,F(xiàn)IFO指針邏輯使用了格雷碼,代替指針使用的二進制碼。格雷碼在每一次計數(shù)增減時只改變其中的一位(表3)。你可以在格雷碼總線上使用同步器,因為每一次總線改變時只有一根信號線有變化,于是就消除了格雷碼總線各位通過不同同步器時的競爭情況。這種設計的指針為格雷碼計數(shù)器。使用二進制指針時需要將其變換成格雷碼后的同步指針,而使用變換邏輯會違反對同步信號的限制,即同步的信號在跨越 時鐘域前要來自觸發(fā)器。S3格雷碼與二進制碼比牡D«cinw) 0Binary001112T13竹1041001105H3111161T0xrt111w10001100mnmmimi11X>111110壯1100imo131MJ1101114m10OT15m表3格雷碼計數(shù)器是一個二進制累加器,在累加器前、后各帶有一個轉(zhuǎn)換
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外貿(mào)英語函電與實務練習題
- 《學生個人電腦硬件操作培訓教案》
- 土地綜合開發(fā)合作協(xié)議
- 從一本好書中學到的道理讀后感類作文(15篇)
- 六一親子誦讀活動方案
- 六一兒童節(jié)比武活動方案
- 六一公司團委活動方案
- 醫(yī)學營養(yǎng)考試試題及答案
- 六一套圈圈活動方案
- 醫(yī)學考試試題庫及答案
- 江蘇省戲劇學校輔導員招聘考試真題2022
- 紅河縣年產(chǎn)50噸珍珠棉建設項目環(huán)評報告
- 術(shù)中大出血的搶救及護理配合
- 四川甘孜州遴選(考調(diào))公務員39人2024年國家公務員考試考試大綱歷年真題420筆試歷年難易錯點考題薈萃附帶答案詳解
- 商務英語聽說-對外經(jīng)濟貿(mào)易大學中國大學mooc課后章節(jié)答案期末考試題庫2023年
- 水利水電工程投標書
- Python語言編程基礎(chǔ)PPT完整全套教學課件
- 第十二講 建設社會主義生態(tài)文明PPT習概論2023優(yōu)化版教學課件
- 2023年杭州中考科學(word版及詳細答案)
- 安徽諾全藥業(yè)有限公司年產(chǎn)105噸醫(yī)藥中間體及原料藥項目環(huán)境影響報告書
- 2022年鹽城市大豐區(qū)事業(yè)單位考試真題及答案
評論
0/150
提交評論