《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 異步FIFO結構及FPGA設計
異步FIFO結構及FPGA設計
摘要: 首先介紹異步FIFO的概念、應用及其結構,然后分析實現異步FIFO的難點問題及其解決辦法;在傳統設計的基礎上提出一種新穎的電路結構并對其進行綜合仿真和FPGA實現。1、異步FIFO介紹在現代
關鍵詞: FPGA FIFO
Abstract:
Key words :
摘要:首先介紹異步FIFO的概念、應用及其結構,然后分析實現異步FIFO的難點問題及其解決辦法;在傳統設計的基礎上提出一種新穎的電路結構并對其進行綜合仿真和FPGA實現。

1、異步FIFO介紹

在現代的集成電路芯片中,隨著設計規模的不斷擴大,一個系統中往往含有數個時鐘。多時鐘域帶來的一個問題就是,如何設計異步時鐘之間的接口電路。異 步 FIFO(First In First Out)是解決這個問題一種簡便、快捷的解決方案。使用異步FIFO可以在兩個不同時鐘系統之間快速而方便地傳輸實時數據。在網絡接口、圖像處理等方面, 異步FIFO得到了廣泛的應用。

異步FIFO是一種先進先出的電路,使用在需要產時數據接口的部分,用來存儲、緩沖在兩個異步時鐘之間的數據傳輸。在異步電路中,由于時鐘之間周期 和相位完全獨立,因而數據的丟失概率不為零。如何設計一個高可靠性、高速的異步FIFO電路便成為一個難點。本文介紹解決這一問題的一種方法。

由圖1可以看出:整個系統分為兩個完全獨立的時鐘域——讀時鐘域和寫時間域;FIFO的存儲介質為一塊雙端口RAM,可以同時進行讀寫操作。在寫時 鐘域部分,由寫地址產生邏輯產生寫控制信號和寫地址;讀時鐘部分由讀地址產生邏輯產生讀控制信號和讀地址。在空/滿標志產生部分,由讀寫地址相互比較產生 空/滿標志。
異步FIFO結構框圖

2、異步FIFO的設計難點

設計異步FIFO有兩個難點:一是如何同步異步信號,使觸發器不產生亞穩態;二是如何正確地設計空、滿以及幾乎滿等信號的控制電路。

下面闡述解決問題的具體方法。

2.1 亞穩態問題的解決

在數字集成電路中,觸發器要滿足setup/hold的時間要求。當一個信號被寄存器鎖存時,如果信號和時鐘之間不滿足這個要求,Q端的值是不確定 的,并且在未知的時刻會固定到高電平或低電平。這個過程稱為亞穩態(Metastability)。圖2所示為異步時鐘和亞穩態,圖中clka和clkb 為異步時鐘。

亞穩態必定會發生在異步FIFO中。圖中在異步FIFO中,電路外部的輸入和內部的時鐘之間是毫無時間關系的,因此setup/hold沖突是必然的;同在電路內部的兩個沒有關系的時鐘域之間的信號傳遞,也必須會導致setup/hold沖突。

雖然亞穩態是不可避免的,但是,下面的設計改進可以將其發生的概率降低到一個可以接受的程度。

①對寫地址/讀地址采用格雷碼。由實踐可知,同步多個異步輸入信號出現亞穩態的概率遠遠大于同步一個異步信號的概率。對多個觸發器的輸出所組成的寫地址/讀地址可以采用格雷碼。由于格雷碼每次只變化一位,采用格雷碼可以有效地減少亞穩態的產生。

②采用觸發器來同步異步輸入信號,如圖3中的兩極觸發器可以將出現亞穩態的幾率降低到一個很小的程度。但是,正如圖3所示,這種方法同時帶來了對輸入信號的一級延時,需要在設計時鐘的時候加以注意。

2.2 空/滿標志的產生

空/滿標志的產生FIFO的核心部分。如何正確設計此部分的邏輯,直接影響到FIFO的性能。

空/ 滿標志產生的原則是:寫滿不溢出,讀空不多讀。即無論在什么進修,都不應出現讀寫地址同時對一個存儲器地址操作的情況。在讀寫地址相等或相差一個或多個地 址的時候,滿標志應該有效,表示此時FIFO已滿,外部電路應對FIFO發數據。在滿信號有效時寫數據,應根據設計的要求,或保持、或拋棄重發。同理,空 標志的產生也是如此,即:

空標志<=(|寫地址-讀地址|<=預定值)AND(寫地址超前讀地址)

滿標志<=(|寫地址-讀地址|<=預定值)AND(讀地址超前寫地址)

最直接的做法是,采用讀寫地址相比較來產生空滿標志。如圖4所示,當讀寫地址的差值等于一個預設值的時候,空/滿信號被置位。這種實現方法邏輯簡 單,但它是減法器形成的一個比較大的組合邏輯,因而限制了FIFO的速度。所以,一般只采用相等不相等的比較邏輯,避免使用減法器。

 

圖5 是另外一種常用的設計,比較器只對讀寫地址比較是否相等。在讀寫地址相等的時候有兩種情況:滿或者空。所以,附加了一個并行的區間判斷邏輯來指示是空還是 滿。這個區間判斷邏輯將整個地址空間分為幾個部分,以指示讀寫地址的相對位置。這種做法提高了整個電路的速度,但是也有其缺點。主要是直接采用讀寫地址等 于不等于的比較邏輯來進行空/滿標志的判斷,可以帶來誤判。

3、新穎的FIF0空/滿標志控制邏輯

3.1 對讀寫地址的分析

由以上對FIFO的分析可以看出,由地址直接相減和將地址相互比較產生空/滿標志都不可取。如何簡單地進行直接比較,又不提高邏輯的復雜程度呢?對 地址加延時可以做到這一點。設讀地址為Rd_bin_addr,用讀地址Rd_addr產生讀地址的格雷碼Rd_next_gray_addr,將 Rd_next_gray_addr延一拍得到Rd_gray_addr,再將Rd_gray_addr延一拍得到Rd_last_gray_addr。 在絕對時間上,Rd_next_gray_addr、Rd_gray_addr、Rd_last_gray_addr這些地址先后關系,從大到小排列,并 且相差一個地址,如圖6所示。
 
圖6 經過延時后格雷碼之間的關系

寫地址的格雷碼的產生也與此類似,即:Wt_next_gray_addr、Wt_gray_addr、Wt_last_gray_addr。利用這6個格雷碼進行比較,同時加上讀寫使能,就能方便而靈活地產生空/滿標志。

以空標志Empty的產生為例,當讀寫格雷碼地址相等或者FIFO內還剩下一個深度的字,并且正在不空的情況下執行讀操作,這時Emptr標志應該置為有效(高電平有效)。

即EMPTY<=(Rd_gray_addr=Wt_gray_addr)and(Read_enable=1)或EMPTY<=(Rd_next_gray_addr=Wt_gray_addr)and(Read_enable=1)

同理可類推滿標志的產生邏輯。

3.2 基于延時格雷碼的FIFO標志產生邏輯

 
圖 7 是使用上述思想設計的地址產生和標志產生的邏輯。首先,在地址產生部分,將產生的格雷碼地址加一級延時,利用其前一級地址與當前的讀地址作比較。其次,在 空/滿標志有效的時候,采用了內部保護機制,不使讀/寫地址進一步增加而出現讀寫地址共同對一個存儲單元操作的現象。

3.3 仿真信號波形

利用圖7電路設計的思想構造了一個256×8的FIFO,用MODELSIM進行仿真。圖8為系統中主要信號對讀空情況的仿真波形。

 

圖8 讀空情況的仿真波形圖
圖8 中,WDATA為寫數據,RDATA為讀數據,WCLK為寫時鐘,RCLK為讀時鐘,REMPTY為空信號,AEMPTY的幾乎空信號,RPTR為讀地址 WPTR為寫地址,RGNEXT為下一位讀地址格雷碼,RBIN讀地址二進制,RBNEXT為下一位讀地址的二進制碼。

由圖8可以看出,由于讀時鐘高于寫時鐘,讀地址逐漸趕上寫地址,其中由AEMPTY信號指示讀地址和寫地址的接近程度。當這個信號足夠長而被觸發器捕捉到時,真正的空信號REMPTY有效。

4、電路優點的分析
由圖7可見,該電路最大的瓶頸為二進制到格雷碼和比較器的延時之和。由于這兩個組合邏輯的延時都很小,因此該電路的速度很高。經測試,在Xilinx的FPGA中,時鐘頻率可達140MHz。另外,由于將異步的滿信號加了一級鎖存,從而輸出了可靠而穩定的標志。 

5、總結
在實際工作中,分別用圖4、圖5與圖7中所示的邏輯實現了一個256×8的FIFO。綜合工具為SYNPLIFY7.0,由Foundation Series 3.3i布局布線后燒入Xilinx公司的WirtexEV100ECS144。三者的性能指標比較見表1。

表1 三種不同設計的比較

 

邏輯設計方式 時鐘頻率/MHz 有效結果輸出頻率/MHz slice數目/個
圖4所示邏輯 160 78.9 17
圖5所示邏輯 160 92 15
圖7所示邏輯 160 140 13

 

由表1可知,圖7所示的異步FIFO的電路速度高,面積小,從而降低了功耗,提高了系統的穩定性。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美大片免费久久精品三p | 亚洲一区成人| 久久激情一区| 亚洲欧美怡红院| 亚洲一区二区三区四区在线观看| 一区二区高清视频| av成人免费观看| 99精品视频免费全部在线| 亚洲精品小视频| 亚洲精品一区二区三| 亚洲日本成人女熟在线观看| 亚洲黄色性网站| 亚洲精品一区中文| 亚洲毛片在线看| 夜夜精品视频| 亚洲一区二区高清视频| 亚洲一区二区三区免费视频| 亚洲性av在线| 欧美一区二区三区播放老司机| 性欧美xxxx大乳国产app| 欧美亚洲在线播放| 久久国产精品99精品国产| 亚洲男人第一网站| 欧美伊人影院| 最新日韩在线视频| 一二美女精品欧洲| 亚洲午夜av| 亚洲欧美日韩综合一区| 欧美在线亚洲在线| 久久婷婷av| 欧美国产日韩精品| 国产精品高清在线| 国产亚洲欧美日韩美女| 亚洲成色999久久网站| 日韩视频免费观看高清完整版| 亚洲婷婷在线| 欧美一区二区在线免费观看| 亚洲国产一区在线观看| 中文精品视频| 久久激情综合网| 免费人成网站在线观看欧美高清| 欧美精品午夜视频| 国产精品免费一区二区三区在线观看| 国产一区二区精品久久| 亚洲国内自拍| 亚洲女女女同性video| 亚洲国产高清一区| 亚洲视频一区二区在线观看| 欧美中文字幕视频| 欧美激情第六页| 国产精品亚洲激情| 亚洲承认在线| 亚洲一区二区在线免费观看视频| 亚洲第一视频网站| 亚洲一区日本| 久久久精品999| 欧美日韩亚洲综合| 国内精品国产成人| 99re热这里只有精品免费视频| 午夜电影亚洲| 一本久久a久久免费精品不卡| 欧美在线free| 欧美精选午夜久久久乱码6080| 国产精品午夜在线| 亚洲国产精品一区二区第四页av| 亚洲一区二区三区免费视频| 亚洲日本aⅴ片在线观看香蕉| 午夜精品久久久久久久久久久| 免费欧美视频| 国产日韩欧美综合| 日韩午夜激情av| 亚洲国产欧美精品| 香蕉久久国产| 欧美日韩一二三四五区| 精品成人在线视频| 亚洲一区二区黄色| 99视频精品免费观看| 久久久夜色精品亚洲| 国产精品国产三级欧美二区| 亚洲国产老妈| 久久se精品一区二区| 亚洲免费在线看| 欧美精品久久久久久久免费观看| 国内精品视频一区| 亚洲综合久久久久| 亚洲深夜激情| 欧美精品麻豆| 有码中文亚洲精品| 欧美一级视频| 亚洲欧美日本伦理| 欧美日韩精品一区| 1204国产成人精品视频| 久久精品国产亚洲一区二区三区| 亚洲女同同性videoxma| 欧美日韩成人| 亚洲国产日韩在线一区模特| 亚洲盗摄视频| 久久久视频精品| 国产色爱av资源综合区| 亚洲天堂av电影| 亚洲午夜在线视频| 欧美日韩精品二区| 91久久久久久久久| 最新成人在线| 欧美福利电影网| **网站欧美大片在线观看| 久久精品91| 裸体丰满少妇做受久久99精品| 国产有码一区二区| 欧美在线三级| 久久免费视频这里只有精品| 国产亚洲免费的视频看| 香港成人在线视频| 欧美亚洲视频在线观看| 国产精品区一区二区三区| 亚洲系列中文字幕| 亚洲欧美影音先锋| 国产精品一区免费视频| 午夜久久电影网| 欧美在线免费视屏| 国产欧美日韩视频| 香蕉视频成人在线观看| 久久精品国产99精品国产亚洲性色| 国产欧美在线播放| 欧美一区二区私人影院日本 | 欧美韩国日本综合| 亚洲欧洲精品天堂一级| 亚洲最黄网站| 国产精品s色| 亚洲欧美日韩一区二区三区在线| 亚洲在线视频| 国产精品专区h在线观看| 欧美一区二区三区在线观看| 久久久久网站| 依依成人综合视频| 亚洲精品麻豆| 欧美日韩中文字幕精品| 亚洲视频第一页| 欧美在线亚洲在线| 在线观看三级视频欧美| 亚洲人成77777在线观看网| 欧美精品自拍偷拍动漫精品| 一区二区三区日韩| 欧美在线观看www| 一区二区三区在线免费视频 | 欧美日韩一区二区欧美激情| 亚洲网址在线| 久久精品欧美日韩精品| 伊人成人在线视频| 亚洲最快最全在线视频| 国产精品三级视频| 亚洲电影在线观看| 欧美日韩国产限制| 午夜国产欧美理论在线播放| 老色鬼久久亚洲一区二区| 亚洲精品国偷自产在线99热| 久久久久88色偷偷免费| 一本色道久久综合亚洲精品小说| 欧美日韩国产首页| 韩国美女久久| 国产一区二区高清| 欧美一区二粉嫩精品国产一线天| 久久亚洲精品一区二区| 亚洲激情二区| 欧美专区福利在线| 国产视频自拍一区| 91久久久久久| 国产精品国产亚洲精品看不卡15| 欧美一区二区三区的| 欧美激情1区2区| 亚洲欧美变态国产另类| 女同性一区二区三区人了人一| 一二三区精品| 久久一区二区三区av| 日韩视频免费观看高清在线视频| 久久精品国产精品亚洲综合| 亚洲精美视频| 久久国产福利| 日韩视频免费在线观看| 久久久久久久久伊人| 亚洲另类视频| 久久婷婷综合激情| 在线综合亚洲| 欧美a一区二区| 亚洲欧美一区二区激情| 欧美高清在线一区二区| 亚洲综合99| 欧美日本二区| 欧美综合二区| 国产精品v亚洲精品v日韩精品| 亚洲成人在线网| 国产精品久久久久永久免费观看 | 亚洲男女毛片无遮挡| 亚洲国产91精品在线观看| 亚洲欧美亚洲| 日韩亚洲精品视频| 久久精品电影| 亚洲国产精品久久91精品| 欧美午夜宅男影院在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文|