<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 牛人業(yè)話 > 跨越鴻溝:同步世界中的異步信號

          跨越鴻溝:同步世界中的異步信號

          作者: 時(shí)間:2015-01-26 來源:網(wǎng)絡(luò) 收藏

            現(xiàn)在指針邏輯的設(shè)計(jì)有多種方法。第一種方法是將讀、寫選通進(jìn)行同步,同時(shí)在各個(gè)時(shí)鐘域使用計(jì)數(shù)器來跟蹤 中可用的項(xiàng)。計(jì)數(shù)器反映出可用于讀寫的 項(xiàng)目號,計(jì)數(shù)器也與相應(yīng)的端口同步。讀計(jì)數(shù)器跟蹤包含有效數(shù)據(jù)的項(xiàng)數(shù),而寫計(jì)數(shù)器則跟蹤可以存儲數(shù)據(jù)的項(xiàng)數(shù)。當(dāng)對指針邏輯進(jìn)行復(fù)位時(shí),由于沒有數(shù)據(jù)可讀,讀計(jì)數(shù)器從零起始。寫計(jì)數(shù)器則從 中項(xiàng)的總數(shù)開始計(jì)數(shù),即所有項(xiàng)均可用來存儲數(shù)據(jù)。

          本文引用地址:http://www.ex-cimer.com/article/268638.htm

            讀選通信號累減讀計(jì)數(shù)器,并與寫時(shí)鐘域同步,因?yàn)樗瑫r(shí)也累加寫計(jì)數(shù)器。寫選通信號則累減寫計(jì)數(shù)器,并與讀時(shí)鐘域同步,因?yàn)樗瑫r(shí)也累加讀計(jì)數(shù)器。

            這種設(shè)計(jì)需要單時(shí)鐘寬度脈沖以及用于讀、寫選通的脈沖同步器,因?yàn)楫?dāng)一個(gè)電平信號從一個(gè)時(shí)鐘域跨越到

            另一個(gè)更快的時(shí)鐘域時(shí),在較快時(shí)鐘域中它能在更多的時(shí)鐘周期中保持有效。由于只要讀或?qū)懶盘柺怯行У模總€(gè)計(jì)數(shù)器就會發(fā)生變化,因此較快的時(shí)鐘域就檢測到更多的讀、寫,超出較慢時(shí)鐘域?qū)嶋H發(fā)生的數(shù)量。脈沖同步器可以將一個(gè)時(shí)鐘域的時(shí)鐘寬度脈沖轉(zhuǎn)換為新時(shí)鐘域的時(shí)鐘寬度脈沖,每個(gè)脈沖都表示一次 FIFO 的讀或?qū)憽?/p>

            這種 FIFO 狀態(tài)技術(shù)對讀、寫狀態(tài)都不太有利。當(dāng) FIFO 中所有項(xiàng)均充滿時(shí),寫端口狀態(tài)指示為滿,并在讀選通觸發(fā)后繼續(xù)指示 FIFO 滿,因?yàn)橥竭^程會使選通信號延遲送給寫計(jì)數(shù)器。讀端口為空時(shí)也會出現(xiàn)這種情況,因?yàn)橥竭^程會使寫選通信號延遲到達(dá)讀計(jì)數(shù)器。

            這種設(shè)計(jì)的另一種考慮是及時(shí)檢測全滿/全空狀態(tài)。如果 FIFO 還有一項(xiàng)可用,并且有寫選通觸發(fā),則 FIFO 必須立即置為全滿狀態(tài)。這樣才能提前一個(gè)時(shí)鐘給出全滿標(biāo)志,使 FIFO 有足夠時(shí)間防止下一個(gè)數(shù)據(jù)寫入而產(chǎn)生溢出。對 FIFO 的讀端口也是這樣。這種情況下,如果 FIFO 里只有一個(gè)數(shù),并且有讀選通觸發(fā),則必須置全空狀態(tài),以給讀電路足夠的時(shí)間防止讀空 FIFO。

            這種指針邏輯限制電路在每個(gè)時(shí)鐘周期中訪問 FIFO,即使在慢速時(shí)鐘域中也是這樣。這一功能的優(yōu)點(diǎn)在于訪問 FIFO 的電路至少有一個(gè)時(shí)鐘周期來評估 FIFO 的狀態(tài)。FIFO 可以將所有項(xiàng)都填滿數(shù)據(jù),而不會出現(xiàn)數(shù)據(jù)被覆蓋或全空無數(shù)據(jù)可讀的情況。這種設(shè)計(jì)的另一個(gè)優(yōu)點(diǎn)是每一端都可以讀其相應(yīng)的計(jì)數(shù)器,來判斷 FIFO 中還有多少項(xiàng)可用。設(shè)計(jì)者可以將這種 FIFO設(shè)計(jì)用在進(jìn)行多次數(shù)據(jù)讀/寫的電路中,而不會造成上溢或下溢的情況。

            這種設(shè)計(jì)的不足之處是由計(jì)數(shù)器來判斷狀態(tài),而不是直接比較讀、寫指針。對大型 FIFO 來說,這些計(jì)數(shù)器也很大。而且,由于使用脈沖同步時(shí),來自較快時(shí)鐘域的讀、寫脈沖在較慢時(shí)鐘域的脈沖間至少必須有兩個(gè)時(shí)鐘周期,因此平均數(shù)據(jù)速率為最低時(shí)鐘頻率的一半。解決這些問題的一種方法是采用直接指針比較法。

            在這種 FIFO 設(shè)計(jì)中,讀、寫指針的比較決定了 FIFO 的狀態(tài)。異步設(shè)計(jì)中的指針比較更富有挑戰(zhàn)性,因?yàn)槊總€(gè)指針位于不同的時(shí)鐘域中,對信號總線的同步要求在同步握手信號期間總線不發(fā)生改變。將這種技術(shù)用于指針同步的 FIFO 設(shè)計(jì)可能會很慢。要解決這個(gè)問題,F(xiàn)IFO 指針邏輯使用了格雷碼,代替指針使用的二進(jìn)制碼。

            格雷碼在每一次計(jì)數(shù)增減時(shí)只改變其中的一位(表 3)。你可以在格雷碼總線上使用同步器,因?yàn)槊恳淮慰偩€改變時(shí)只有一根信號線有變化,于是就消除了格雷碼總線各位通過不同同步器時(shí)的競爭情況。這種設(shè)計(jì)的指針為格雷碼計(jì)數(shù)器。使用二進(jìn)制指針時(shí)需要將其變換成格雷碼后的同步指針,而使用變換邏輯會違反對同步信號的限制,即同步的信號在跨越時(shí)鐘域前要來自觸發(fā)器。

            

          格雷碼與二進(jìn)制碼比較

           

            表 3

            格雷碼計(jì)數(shù)器是一個(gè)二進(jìn)制累加器,在累加器前、后各帶有一個(gè)轉(zhuǎn)換器,分別用于格雷碼轉(zhuǎn)換為二進(jìn)制碼,和二進(jìn)制碼轉(zhuǎn)換為格雷碼(圖 8)。格雷碼與二進(jìn)制碼的轉(zhuǎn)換是一個(gè)異或運(yùn)算,所以只需比一個(gè)二進(jìn)制計(jì)數(shù)器多幾個(gè)邏輯電平。在格雷碼轉(zhuǎn)換成二進(jìn)制碼時(shí),使用:BN=GN;BN-1=BN+GN-1;BN-2=BN-1+GN-2 . B1=B2+G1;B0=B1+G0。而將二進(jìn)制碼轉(zhuǎn)換成格雷碼時(shí),使用:GN=BN;GN-1=BN+BN-1;GN-2=BN-1+BN-2 . G1=B2+B1;G0=B1+B0。在設(shè)計(jì)中可以采用同樣的技術(shù)來比較格雷碼指針的值,即在各個(gè)指針與二進(jìn)制比較邏輯之間增加轉(zhuǎn)換器。

            

          格雷碼計(jì)數(shù)器是一個(gè)二進(jìn)制累加器

           

            圖8,格雷碼計(jì)數(shù)器是一個(gè)二進(jìn)制累加器,在累加器前、后各帶有一個(gè)轉(zhuǎn)換器。

            用這種指針邏輯的 FIFO 很快,每個(gè)時(shí)鐘周期中電路都可以讀寫 FIFO。但是,在每個(gè)周期都訪問 FIFO 意味著 FIFO 狀態(tài)要包括“將滿”和“將空”兩種指示,這樣讀寫 FIFO 的電路才能有停止時(shí)間。“將滿”表示只能再寫入一項(xiàng),“將空”則表示只有一項(xiàng)可讀。這種情況描述了一個(gè)要求最少的可能狀態(tài)信號的設(shè)計(jì),以及一個(gè)需要更多指示的設(shè)計(jì),如果在固定的最小尺寸情況下用猝發(fā)方式訪問 FIFO 的電路的話。

            這種 FIFO 狀態(tài)技術(shù)會給讀、寫帶來不良狀態(tài)。當(dāng) FIFO 滿時(shí),寫端口的狀態(tài)指示已滿,而在電路從 FIFO 中讀出一項(xiàng)后,該狀態(tài)仍為滿,因?yàn)橥綑C(jī)制使讀指針相對寫入一側(cè)的比較邏輯有個(gè)延遲。同樣,在讀出一側(cè)的空狀態(tài)指示也有這個(gè)問題,因?yàn)橥綑C(jī)制使寫指針相對讀出一側(cè)的比較邏輯有延遲。

            如果你在設(shè)計(jì)跨不同時(shí)鐘域電路時(shí),使用一些技術(shù)來降低通信失敗的風(fēng)險(xiǎn),則處理跨時(shí)鐘域的信號就不再是艱巨的任務(wù)。同步機(jī)制可以防止接收跨時(shí)鐘域信號的觸發(fā)器出現(xiàn)亞穩(wěn)態(tài),從而避免導(dǎo)致不可預(yù)知的電路行為。對于在多個(gè)時(shí)鐘周期內(nèi)一直保持有效的信號來說,電平同步器的效果很好。對于要轉(zhuǎn)換成新時(shí)鐘域脈沖的較慢時(shí)鐘域電平信號,要采用邊沿檢測同步器。最后,對跨時(shí)鐘

            域的脈沖信號應(yīng)使用脈沖同步器。還要記住,當(dāng)一個(gè)信號總線跨越時(shí)鐘域時(shí),整個(gè)總線要在同一個(gè)時(shí)鐘周期內(nèi)到達(dá)新的時(shí)鐘域。不要分別同步每一個(gè)信號,而要采用一個(gè)保持寄存器和握手方式。握手用來表示寄存器中的信號何時(shí)有效,何時(shí)可以采樣。對數(shù)據(jù)總線來說,握手和一個(gè)保持寄存器很有用,但每次向新時(shí)鐘域傳送的數(shù)據(jù)字不超過一個(gè)。

          模擬信號相關(guān)文章:什么是模擬信號


          電路相關(guān)文章:電路分析基礎(chǔ)


          脈沖點(diǎn)火器相關(guān)文章:脈沖點(diǎn)火器原理

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: FPGA 異步信號 FIFO

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();