中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

一種異步FIFO的設(shè)計(jì)方法

時(shí)間:2023-05-01 12:16:21 電子通信論文 我要投稿
  • 相關(guān)推薦

一種異步FIFO的設(shè)計(jì)方法

摘要:使用FIFO同步源自不同時(shí)鐘域的數(shù)據(jù)是在數(shù)字IC設(shè)計(jì)中經(jīng)常使用的方法,設(shè)計(jì)功能正確的FUFO會(huì)遇到很多問題,探討了兩種不同的異步FIFO的設(shè)計(jì)思路。兩種思路都能夠?qū)崿F(xiàn)功能正確的PIFO。

    關(guān)鍵詞:異步FIFO 握手 同步 二進(jìn)制 格雷碼

本文所研究的FIFO,從硬件的觀點(diǎn)來看,就是一塊數(shù)據(jù)內(nèi)存。它有兩個(gè)端口,一個(gè)用來寫數(shù)據(jù),就是將數(shù)據(jù)存入FIFO;另一個(gè)用來讀數(shù)據(jù),也就是將數(shù)據(jù)從FIFO當(dāng)中取出。與FIFO操作相關(guān)的有兩個(gè)指針,寫指針指向要寫的內(nèi)存部分,讀指針指向要讀的內(nèi)存部分。FIFO控制器通過外部的讀寫信號(hào)控制這兩個(gè)指針移動(dòng),并由此產(chǎn)生FIFO空信號(hào)或滿信號(hào)。

對(duì)于異步FIFO而言,數(shù)據(jù)是由某一個(gè)時(shí)鐘域的控制信號(hào)寫入FIFO,而由另一個(gè)時(shí)鐘域的控制信號(hào)將數(shù)據(jù)讀出FIFO。也就是說,讀寫指針的變化動(dòng)作是由不同的時(shí)鐘產(chǎn)生的。因此,對(duì)FIFO空或滿的判斷是跨時(shí)鐘域的。如何根據(jù)異步的指針信號(hào)對(duì)FIFO的滿狀態(tài)或空狀態(tài)進(jìn)行正確的判斷是本文研究的重點(diǎn)。此外,設(shè)計(jì)過程中的一些細(xì)節(jié)問題也將在文中涉及到。

1 指針以及滿空信號(hào)的產(chǎn)生

為了更好地說明問題,先探討一下同步FIFO指針移動(dòng)以及滿空信號(hào)的產(chǎn)生過程。對(duì)于同步FIFO,讀寫指針都指向一個(gè)內(nèi)存的初始位置,每進(jìn)行一次讀寫操作,相應(yīng)的指針就遞增一次,指向下一個(gè)內(nèi)存位置。當(dāng)指針移動(dòng)到了內(nèi)存的最后一個(gè)位置時(shí),它又重新跳回初始位置。在FIFO非滿或非空的情況下,這個(gè)過程將隨著讀寫控制信號(hào)的變化一直進(jìn)行下去。如果FIFO處于空的狀態(tài),下一個(gè)讀動(dòng)作將會(huì)導(dǎo)致向下溢出(underflow),一個(gè)無效的數(shù)據(jù)被讀人;同樣,對(duì)于一個(gè)滿了的FIFO,進(jìn)行寫動(dòng)作將會(huì)導(dǎo)致向上溢出(overflow),一個(gè)有用的數(shù)據(jù)被新寫入的數(shù)據(jù)覆蓋。這兩種情況都屬于誤動(dòng)作,因此需要設(shè)置滿和空兩個(gè)信號(hào),對(duì)滿信號(hào)置位表示FIFO處于滿狀態(tài),對(duì)滿信號(hào)復(fù)位表示FIFO非滿,還有空間可以寫入數(shù)據(jù);對(duì)空信號(hào)置位表示FIFO處于空狀態(tài),對(duì)空信號(hào)復(fù)位表示FIFO非空,還有有效的數(shù)據(jù)可以讀出。

    當(dāng)讀指針和寫指針相等也就是指向同一個(gè)內(nèi)存位置的時(shí)候,F(xiàn)IFO可能處于滿或空兩種狀態(tài)?梢酝ㄟ^不同的方法判斷或區(qū)分FIFO究竟是處于滿狀態(tài)還是空狀態(tài),也就是究竟是寫指針從后趕上了讀指針,還是讀指針從后趕上了寫指針。本文所應(yīng)用的方法是設(shè)置一個(gè)額外的狀態(tài)位,指針由它的地址位以及狀態(tài)位組成。地址位隨著相應(yīng)的操作遞增,指針由內(nèi)存的最后位置返回到初始位置的時(shí)候狀態(tài)位取反。因此,當(dāng)讀寫指針的地址位和狀態(tài)位全部吻合的時(shí)候,讀寫指針經(jīng)歷了相同次數(shù)的循環(huán)移動(dòng),也就是說,F(xiàn)IFO處于空狀態(tài)(圖1(a));如果讀寫指針的地址位相同而狀態(tài)位相反,寫指針比讀指針多循環(huán)一次,標(biāo)志FIFO處于滿狀態(tài)(圖1(b))。

2 二進(jìn)制指針和格雷碼指針的同步

二進(jìn)制指針是由一位狀態(tài)位和若干位二進(jìn)制編碼的地址位組成的(例如由三位地址和一位狀態(tài)位構(gòu)成的指針的變化:0000→0001→0010→0011→0100→0101→0110→0111→1000→1001→1010→1011→1100→1101→1110→1111)。如果在不同的時(shí)鐘域內(nèi)直接同步二進(jìn)制指針,有可能產(chǎn)生問題。例如,當(dāng)讀指針從0111向1000變化的時(shí)侯,指針?biāo)械奈欢家兓,如果寫時(shí)鐘恰好在讀指針的變化時(shí)刻采樣,寫者得到的讀指針值有可能是從0000到1111中的任何一個(gè)。所以二進(jìn)制指針不宜被直接同步,但可以通過一對(duì)握手信號(hào)同步二進(jìn)制指針。

例如,讀指針被讀者存人一個(gè)寄存器時(shí),讀者就發(fā)出一個(gè)就緒信號(hào)。當(dāng)寫者看到就緒信號(hào)時(shí),讀取讀指針,發(fā)出一個(gè)收到數(shù)據(jù)的確認(rèn)信號(hào)。當(dāng)讀

[1] [2] [3] 

【一種異步FIFO的設(shè)計(jì)方法】相關(guān)文章:

導(dǎo)航接收機(jī)的非對(duì)稱異步FIFO設(shè)計(jì)04-28

一種多任務(wù)導(dǎo)航星座設(shè)計(jì)方法04-30

一種橡膠減振器的虛擬設(shè)計(jì)方法04-30

一種存儲(chǔ)器容錯(cuò)設(shè)計(jì)方法05-02

一種直接基于位移的抗震設(shè)計(jì)方法04-29

一種基于知識(shí)的并行設(shè)計(jì)綜合決策方法04-27

一種實(shí)用、高效的結(jié)構(gòu)優(yōu)化設(shè)計(jì)方法研究04-27

清除牙垢的十一種方法09-25

換一種方法04-27

一種無人攻擊機(jī)航路飛行仿真方法設(shè)計(jì)04-28