<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 基于VHDL的異步FIFO設計

基于VHDL的異步FIFO設計

作者: 時(shí)間:2011-08-17 來(lái)源:網(wǎng)絡(luò ) 收藏

3 解決問(wèn)題的方法
3.1 同步寄存器
當信號在不相關(guān)或者時(shí)鐘域傳輸時(shí),在新的時(shí)鐘域使用這個(gè)信號之前必須進(jìn)行同步,比如的讀指針被同步到寫(xiě)時(shí)鐘域或寫(xiě)指針被同步到讀時(shí)鐘域。新時(shí)鐘域里的第一個(gè)寄存器的作用就是一個(gè)同步寄存器。同步裝置中寄存器到寄存器路徑上的時(shí)序裕量可以為亞穩態(tài)信號提供穩定時(shí)間。由兩個(gè)寄存器組成的二級同步鏈如圖3所示,它大大的提高了系統的平均無(wú)故障工作時(shí)間(MTBF),減少了信號傳輸過(guò)程中亞穩態(tài)問(wèn)題的風(fēng)險。此外,可以通過(guò)三級同步進(jìn)一步增加MTBF值,但在實(shí)際中很少需要。

本文引用地址:http://dyxdggzs.com/article/178738.htm

c.jpg


3.2 格雷碼(Gray code)計數器
的原則是安全可靠地把數據從一個(gè)時(shí)鐘域傳輸到另一個(gè)時(shí)鐘域。如果用一個(gè)相對于計數器時(shí)鐘是異步的時(shí)鐘來(lái)取樣計數器的值,就要考慮計數器的每一位在哪個(gè)范圍內變化,每一位都有機會(huì )同時(shí)發(fā)生變化,比如從FFFF變化到0000,這時(shí)每個(gè)單獨的位都處于亞穩態(tài)。這種變化意味著(zhù)讀數有可能是0000~FFFF之間的任意一個(gè)值。這種情況下將無(wú)法正常工作,于是一個(gè)格雷碼來(lái)表示的計數器,
因為格雷碼是最小距離碼,相鄰的碼元只有1位不同,它可以避免因延遲不一致而引起的毛刺現象。
d.jpg
計數器由觸發(fā)器組和累加器組成,處理格雷碼計數器的辦法為:將格雷碼轉換為二進(jìn)制碼元,然后加1,再將它轉換回格雷碼并存儲,這是解決產(chǎn)生N位格雷碼算法棘手問(wèn)題的一個(gè)辦法。異步FIFO的寫(xiě)地址和讀地址由格雷碼計數器來(lái)實(shí)現計數,讀/寫(xiě)指針均用格雷碼來(lái)表示,格雷碼計數器指針原理如圖4所示,當FIFO非空或者非滿(mǎn)時(shí),讀指針或者寫(xiě)指針實(shí)現加1操作。

e.jpg


3.3 一種新穎的方法產(chǎn)生空滿(mǎn)標志
空滿(mǎn)標志位是通過(guò)比較讀/寫(xiě)指針來(lái)判斷的,空滿(mǎn)標志的判斷方法:對于二進(jìn)制地址來(lái)說(shuō),如果RAM大小為M,那么它需要的地址位寬度為N=log2 M。假設雙口RAM大小是8 B,所需尋址地址位寬度是3 b。如果讀/寫(xiě)指針均用3位來(lái)表示的話(huà),那么當讀/寫(xiě)指針相等時(shí),無(wú)法判別是讀時(shí)針追上了寫(xiě)時(shí)針造成讀空還是寫(xiě)時(shí)針追上了讀時(shí)針造成寫(xiě)滿(mǎn),這樣就無(wú)法正確判斷空、滿(mǎn)標志。為了方便的區分空、滿(mǎn),讀/寫(xiě)指針各增加1位,取地址指針寬度為log2M+1,尋址中沒(méi)有使用的最高位地址標記為MSB,即讀/寫(xiě)指針為N+1位,尋址范圍為2n。表1為格雷碼表示的4位地址指針。

f.jpg



關(guān)鍵詞: 設計 FIFO 異步 VHDL 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>