最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

經(jīng)典異步FIFO設(shè)計(jì)方案的深入解讀

出處:sunyzz的博客 發(fā)布于:2014-09-11 11:26:03

  無論是數(shù)據(jù)通訊或者SOC(包括FPGA或者ASIC設(shè)計(jì))設(shè)計(jì),跨時(shí)鐘域(clock domain crossing)處理都是一件讓人很頭疼的事情,無論是在設(shè)計(jì)的前端或者步入設(shè)計(jì)的后端,都沒有很好的工具去做保證,只能靠設(shè)計(jì)人員的經(jīng)驗(yàn)進(jìn)行的保證,然而這個(gè)問題如果處理不好,你的整個(gè)設(shè)計(jì)可能就完全報(bào)廢,而怕的是你的設(shè)計(jì)時(shí)好時(shí)壞,有時(shí)穩(wěn)定,有時(shí)出錯(cuò),這個(gè)時(shí)候你甚至很難進(jìn)行定位(尤其是上了FPGA開發(fā)板或者芯片已經(jīng)tapout了)。

  一般而言,處理跨時(shí)鐘域的方法有這么幾種(大家在網(wǎng)上也都能找到資料,這些資料大都來自幾篇經(jīng)典的論文,中文方面的資料大都是翻譯過著理解這幾篇論文而來):少量的數(shù)據(jù)用邊沿檢測電路,或者脈沖檢測電路,或者電平檢測電路,或者兩級觸發(fā)器;比較多的數(shù)據(jù)時(shí)用異步FIFO。

  本文側(cè)重講解本人對異步FIFO的深入理解,講解兩種經(jīng)典的異步FIFO的設(shè)計(jì)方案,這兩種方案來自一篇文章《simulation and synthesis techniques for asynchronous FIFO design》,大家可自行,設(shè)計(jì)思路這篇文章里面介紹的很詳細(xì),解釋的也很出色,我更多的是談?wù)勎业牟糠掷斫狻?/FONT>

  1、異步FIFO設(shè)計(jì)的難點(diǎn)在哪里

  1)寫地址和讀地址處于不同的時(shí)鐘域,如何比對寫地址和讀地址才能正確的產(chǎn)生空滿信號(hào);

  2)當(dāng)讀寫地址相同時(shí),究竟是讀空了還是寫滿了(因?yàn)榇嬖谀阕肺亿s的情況,類似于一個(gè)圓環(huán))。

  2、處理思路

  1)對于難點(diǎn)1大家自然想到采用同步處理的方式,具體為將寫地址或者讀地址同步(例如利用兩級觸發(fā)器)到對方的時(shí)鐘域中,在相同的時(shí)鐘域中進(jìn)行地址的比對,但是由于寫地址和讀地址很多時(shí)候并不止1bit,同時(shí)進(jìn)行同步處理會(huì)增大錯(cuò)誤的概率(如地址按0111->1000跳變,此時(shí)4bit都在變化,DFF進(jìn)行同步時(shí)就很容易出錯(cuò)),因而可以先將地址(二進(jìn)制的)轉(zhuǎn)換為格雷碼(相鄰數(shù)據(jù)之間只有一個(gè)bit在變化),然后再進(jìn)行同步,進(jìn)行對比,這樣會(huì)大大減少錯(cuò)誤的概率。

  2)對于難點(diǎn)2可以在地址前面添加1bit用于標(biāo)志位進(jìn)行區(qū)分,例如復(fù)位時(shí),讀寫地址的標(biāo)志位都是0,如果寫完1輪而開始新的一輪時(shí)就將寫地址的標(biāo)志位換為1(讀也同樣道理變換),這樣可以通過判斷標(biāo)志位加上對比地址判斷是空還是滿,具體為當(dāng)讀寫地址的標(biāo)志位相同讀寫地址相同時(shí)為讀空,具體為當(dāng)讀寫地址的標(biāo)志位不同讀寫地址相同時(shí)為寫滿;另外也可以利用格雷碼的兩位00->01->10->11進(jìn)行相位的區(qū)分,具體參考我給出的文章或者網(wǎng)絡(luò)資料,其實(shí)本質(zhì)上和上面的是一個(gè)道理。

  3、經(jīng)典FIFO設(shè)計(jì)方案的解讀

  1)同步讀寫地址(經(jīng)格雷碼轉(zhuǎn)換后)到對方的時(shí)鐘域

  相比于直接同步二信號(hào)進(jìn)制地址(先用握手,然后同步二進(jìn)制地址)好處是格雷碼相鄰數(shù)據(jù)之間只有一個(gè)bit在變化,而二進(jìn)制由于寫地址和讀地址很多時(shí)候并不止1bit,同時(shí)進(jìn)行同步處理會(huì)增大錯(cuò)誤的概率(如地址按0111->1000跳變,此時(shí)4bit都在變化,DFF進(jìn)行同步時(shí)就很容易出錯(cuò));利用格雷碼進(jìn)行同步,即使發(fā)生同步的時(shí)出錯(cuò)也不會(huì)造成overrun和underrun的情況(因?yàn)橥胶蟮臄?shù)據(jù)必定小于等于同步前的數(shù)據(jù),即只可能1被同步為0,而不可能0被同步為1),例如當(dāng)前的讀地址到了6,寫地址到了8,地址8經(jīng)過同步后出錯(cuò)而變成了6,這時(shí)會(huì)出現(xiàn)地址相同而判斷為讀空,不過沒關(guān)系,讀空則不讀,至少不會(huì)出現(xiàn)underrun的情況,隨著時(shí)間的推移地址8總會(huì)被采樣到;然而格雷碼也有缺點(diǎn),只能連續(xù)變化遞增或者遞減(如果間隔變化就不符合格雷碼的特點(diǎn)了),所以設(shè)計(jì)的深度必須是2的n次冪,如果不是的話,需要重新產(chǎn)生編碼格雷碼,否則也會(huì)出現(xiàn)間隔變化不符合相鄰之間只有1bit變化的特點(diǎn)。

  2)將讀寫地址(經(jīng)格雷碼轉(zhuǎn)換后)同步到一個(gè)組合邏輯電路中(異步比較)直接比較空滿,然后將空滿信號(hào)同步到各自對應(yīng)的模塊中

  雖然這種電路會(huì)給fifo帶來不好的狀態(tài),例如已經(jīng)滿了wfull==1,但是這個(gè)時(shí)候讀走一個(gè)數(shù)據(jù),由于同步的延時(shí)性,導(dǎo)致這一段時(shí)間內(nèi)wfull==1一直不變(如果沒有同步帶來的延時(shí)應(yīng)該變?yōu)?的),rempty也會(huì)遇到同樣的問題,但是這種電路不會(huì)出現(xiàn)underrun和overrun的情況。

  3)2)相比1)可能會(huì)節(jié)省面積,因?yàn)?)同步wptr[n-1:0]和rptr[n-1:0],2)只需要同步afull_n,aempty_n;1)的速率可能較2)會(huì)快些,2)中存在異步且組合邏輯比較,不利于時(shí)序的優(yōu)化。

關(guān)鍵詞:經(jīng)典異步FIFO設(shè)計(jì)方案的深入解讀異步FIFO數(shù)據(jù)通訊soc跨時(shí)鐘域FIFO

版權(quán)與免責(zé)聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://udpf.com.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。

如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機(jī)號(hào)碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務(wù):
賣家服務(wù):
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時(shí)間周一至周五
9:00-17:30

關(guān)注官方微信號(hào),
第一時(shí)間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務(wù)的動(dòng)力!意見一經(jīng)采納,將有感恩紅包奉上哦!