亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種基于ASIC的高速異步FIFO設計*

        2011-08-20 05:18:30丁彬勇白雪飛
        關鍵詞:信號設計

        丁彬勇,白雪飛,黃 魯

        (中國科學技術大學 電子科學與技術系 集成電路實驗室,安徽 合肥 230027)

        在現(xiàn)代集成電路設計中,隨著集成度的不斷提升,常常會遇到數(shù)據(jù)緩存與不同時鐘域之間數(shù)據(jù)傳遞的問題,在不同系統(tǒng)間如不能設計出有效的接口單元,將會產(chǎn)生數(shù)據(jù)傳輸過程中的復寫、丟失和無效數(shù)據(jù)的讀入等錯誤,同時亞穩(wěn)態(tài)現(xiàn)象也會出現(xiàn)在不同時鐘域之間的數(shù)據(jù)傳遞過程中。此時,如何實現(xiàn)數(shù)據(jù)高速有效的傳輸并克服跨時鐘域間數(shù)據(jù)傳遞時的亞穩(wěn)態(tài)成為一個關鍵點問題。由于異步FIFO (First In First Out)能夠有效解決不同傳輸速度和不同時鐘域之間數(shù)據(jù)傳遞的問題,異步FIFO在實際電路中得到廣泛的運用。本文介紹一種基于ASIC的高速異步FIFO的設計和實現(xiàn)方案。

        1 異步FIFO的基本功能和結構

        異步FIFO指在不同時鐘域之間,由一個時鐘域寫入,待寫入數(shù)據(jù)穩(wěn)定之后,由另一個時鐘域讀出。圖1為異步FIFO的基本結構框圖,F(xiàn)IFO的存儲單元采用雙端口RAM的解決方式,同步模塊SYNC完成異步讀寫時鐘域之間指針信號的同步過程,將同步前后的指針送到 wrfull、rdempty模塊,產(chǎn)生 wrfull、rdempty信號,從而構成一個完整的FIFO。

        表1 FIFO各信號列表

        2 異步信號同步的關鍵問題

        在不同時鐘域之間傳遞的信號,由于兩個時鐘之間沒有清楚的相位和頻率關系,很容易出現(xiàn)亞穩(wěn)態(tài)現(xiàn)象。亞穩(wěn)態(tài)是指觸發(fā)器無法在某個規(guī)定的時間段內達到一個可以確認的狀態(tài)。當一個觸發(fā)器進入亞穩(wěn)態(tài)時,觸發(fā)器會輸出一些中間電平,或者可能處于振蕩狀態(tài)。在數(shù)字電路中,如果將亞穩(wěn)態(tài)信號直接應用于后續(xù)的組合邏輯,將會產(chǎn)生難以預測的結果。圖2所示為異步時鐘的亞穩(wěn)態(tài)現(xiàn)象,圖中CLK_A和CLK_B為異步時鐘。

        圖2 異步時鐘和亞穩(wěn)態(tài)

        亞穩(wěn)態(tài)是不可避免的,但可以采用合適的方法將其降低到一個合適的低概率水平。

        首先可以從讀寫地址指針的編碼入手。若采用傳統(tǒng)的二進制計數(shù),地址指針的每次增加,則有可能出現(xiàn)從全1到全0的所有位的同時跳變,這種情況使得出現(xiàn)亞穩(wěn)態(tài)的概率大大增加。本文將采用一種特殊的編碼方式,使得地址指針的每次增加只會出現(xiàn)一位改變,從而減小亞穩(wěn)態(tài)發(fā)生的概率。

        其次可以采用兩級鎖存的辦法。如圖3所示,在一個信號進入另一個時鐘域前,將該信號用兩級觸發(fā)器進行鎖存,即使第一級觸發(fā)器的輸出出現(xiàn)亞穩(wěn)態(tài),經(jīng)過一個時鐘周期之后,進入第二級觸發(fā)器的信號已經(jīng)穩(wěn)定到一個確定的電平,從而兩級鎖存的輸出可以有效減小亞穩(wěn)態(tài)發(fā)生的概率。

        3 異步FIFO的具體結構

        3.1 讀寫指針

        傳統(tǒng)的FIFO指針編碼采用格雷碼編碼的方式。用格雷碼表示的地址指針,每次指針的增加,地址指針只會有一位發(fā)生變化,降低了指針信號跳變的次數(shù),從而有效減小了亞穩(wěn)態(tài)出現(xiàn)的概率[1]。

        與格雷碼編碼不同,本文設計的FIFO,其指針編碼采用的是一種稱為移位碼的編碼方式,移位碼的計數(shù)規(guī)則是每左移一位,將最高位取反后移入最低位[2]。表2分別列出了二進制碼、格雷碼與移位碼的對比情況。

        表2 二進制碼、格雷碼和移位碼

        由表2可知,移位碼每個相鄰的碼字之間只有一位不同,該特性與格雷碼相似,可以有效減小亞穩(wěn)態(tài)出現(xiàn)的概率;并且移位碼計數(shù)一個周期等同于二進制碼計數(shù)兩個周期,這在之后產(chǎn)生空滿標志的過程中將會有很好的應用。

        當FIFO的深度為n時,二進制碼和格雷碼的碼字長度是log2(n),而移位碼的碼字長度為n,這也是移位碼的一個缺點,碼字長,造成電路中需要更多的寄存器,使得電路面積增大,不過由于計數(shù)和產(chǎn)生空滿標志位電路的結構更簡單,使得面積又得以有效減小。移位碼計數(shù)電路非常簡單,采用移位碼編碼的寫指針計數(shù)電路如圖4所示,其中wr_ptr為時鐘同步后的指針輸出,wr_ptr_nxt為下一時鐘指針預輸出,讀指針與之相似。

        圖4 移位碼寫指針計數(shù)電路

        3.2 存儲單元

        FIFO的存儲器可以采用定制的雙端口RAM或DFF搭建而成。由于本文設計的32×8的FIFO存儲容量不大,所以都是采用DFF搭建而成。

        觀察表2的移位碼可以看出,若將當前移位碼與下一位移位碼異或,即可快速得到用于存儲單元的尋址信號,以下為寫地址描述,讀地址與之相似。

        assign wr_addr=wr_ptr^wr_ptr_nxt;

        3.3 空滿標志位

        空滿標志位的產(chǎn)生,首先要對讀寫指針進行同步,同步方法即采用前文所述的三級DFF進行不同時鐘域之間的同步。采用格雷碼編碼方式時,在同步之前需將二進制地址指針轉化為格雷碼進行同步,同步之后再轉化為二進制碼來產(chǎn)生空滿標志[3],這就使得電路結構復雜化,無形中就增加了電路面積。而在采用移位碼編碼方式下,由于移位碼的每次改變只有一位發(fā)生變化,因此直接采用兩級DFF對其地址指針進行同步,同步之后將同一時鐘域內的讀寫指針進行比較就可以產(chǎn)生空滿標志位了。

        仔細觀察表2可以看出一種產(chǎn)生空滿標志位的巧妙方法:當寫指針等于同步到寫時鐘域內的讀指針按位取反時,表示寫指針在多遍歷一邊FIFO的基礎上追上了讀指針,即FIFO已滿。又由于滿標志的產(chǎn)生是因為寫時鐘域內的寫指針的增加,失效是由于讀時鐘域內讀指針的增加,所以要把滿標志信號同步到寫時鐘域[4],產(chǎn)生wrfull信號,Verilog實現(xiàn)如下:

        空標志位的產(chǎn)生與滿標志有一點不同,當讀指針與寫指針相同時,表示讀指針追上了寫指針,且二者遍歷FIFO的次數(shù)相同,即FIFO已空,同樣也需要將空標志信號同步到讀時鐘域內,其Verilog的描述在此不再贅述。

        4 設計實現(xiàn)結果

        圖5所示為移位碼方式實現(xiàn)32×8的FIFO的仿真圖,該圖截取了FIFO從只寫狀態(tài)到寫滿的波形圖,從圖5中可以看出,當寫指針等于同步到寫時鐘域內的讀指針r2w_ptr_sync按位取反時,寫滿標志位wrfull跳變?yōu)楦?且wrfull的輸出與寫時鐘wrclk同步。圖6所示為FIFO從只讀狀態(tài)到讀空的波形圖。由波形分析可知,該FIFO很好地實現(xiàn)了FIFO先進先出及產(chǎn)生空滿標志的功能。

        圖5 FIFO的寫滿標志仿真結果

        圖6 FIFO的讀空標志仿真結果

        將本文設計的 32×8的 FIFO在 SMIC 0.18 μm CMOS工藝下進行綜合,將綜合結果列于表3。作為對比,利用格雷碼編碼設計了一個同樣大小的FIFO,也將其綜合的結果列于表3。綜合時鐘是 500 MHz(周期為 2 ns)。由表3可以看出采用移位碼方式設計的FIFO在500 MHz的時鐘約束下,時序仍可以收斂,關鍵路徑中最差的保持時間余量(slack)仍為正,而采用格雷碼方式設計的FIFO的slack已經(jīng)為負,同時移位碼方式設計的FIFO面積也比格雷碼方式小,動態(tài)功耗也有一定程度的降低。

        表3 32×8異步FIFO綜合結果對比

        本文設計了一種采用移位碼編碼的FIFO,采用這種編碼方式,同時解決了亞穩(wěn)態(tài)和產(chǎn)生空滿標志位的問題,電路結構更為簡單,縮短了電路中的關鍵路徑,使得電路時序更加優(yōu)化,工作頻率明顯提升,電路面積和功耗也有一定的降低。該種FIFO已用于基于BPSK(移相鍵控)調制的超寬帶基帶芯片中,能穩(wěn)定工作在500 MHz的時鐘頻率下。

        [1]汪東,馬劍武,陳書明.基于 Gray碼的異步 FIFO接口技術及其應用[J].計算機工程與科學,2005,27(1):58-60.

        [2]周敏.高速異步 FIFO的設計和實現(xiàn)[J].計算機工程與科學,2009,31(2):85-87.

        [3]CUMMINGS C E,ALFKE P.Synthesis and synthesis techniques for asynchronous FIFO design with asynchronous pointer comparisons[Z].SNUG,2002.

        [4]CUMMINGS C E.Synthesis and scripting techniques for designing multi-asynchronous clock design[Z].SNUG,2001.

        猜你喜歡
        信號設計
        信號
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        何為設計的守護之道?
        《豐收的喜悅展示設計》
        流行色(2020年1期)2020-04-28 11:16:38
        孩子停止長個的信號
        瞞天過海——仿生設計萌到家
        藝術啟蒙(2018年7期)2018-08-23 09:14:18
        設計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號采集與PID控制
        一種基于極大似然估計的信號盲抽取算法
        男女啪动最猛动态图| 国产一区二区三区四色av| 夜夜春亚洲嫩草影院| 亚洲精品欧美二区三区中文字幕| 欧美刺激午夜性久久久久久久| 加勒比特在线视频播放| 亚洲一区二区三区特色视频| 久久久久人妻一区精品色欧美| 日韩精品国产自在久久现线拍| 国产免费人成网站在线播放| 麻豆69视频在线观看| 鸭子tv国产在线永久播放| 日韩中文字幕中文有码| 亚洲成人激情在线影院| 国产成人精品日本亚洲i8| 欧美色欧美亚洲另类二区| 国产一级做a爱免费观看| 亲少妇摸少妇和少妇啪啪 | 国产三级视频在线观看国产| 久久精品99国产精品日本| 久久精品女人天堂av| 最新国产女主播福利在线观看 | 久久免费看的少妇一级特黄片| 亚洲a∨国产av综合av下载| 国产成人精品精品欧美| 区二区三区亚洲精品无| 国产性自爱拍偷在在线播放| 玩弄少妇高潮ⅹxxxyw| аⅴ天堂一区视频在线观看 | 亚洲精品国产第一综合色吧 | 中国一级毛片在线观看| 亚洲一区二区视频蜜桃| 国产自拍视频免费在线| a级毛片无码免费真人| 久久精品熟女不卡av高清| 永久免费观看的黄网站在线| 亚洲日韩国产欧美一区二区三区| 亚洲AV无码不卡无码国产 | 亚洲精品中文字幕乱码| 欧美成人aaa片一区国产精品| 免费观看国产精品|