《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于PCI接口芯片外擴FIFO的FPGA實現
基于PCI接口芯片外擴FIFO的FPGA實現
互聯網
張志安 陳荷娟
摘要: PCI 9054內部有六個可編程的 FIFO存儲器,它們可分別實現 PCI發起讀、寫操作, PCI目標讀、寫操作和 DMA方式讀、寫操作。這里采用 DMA方式傳輸數據,可實現大量數據的突發傳輸而不丟失,數據通過 PCI 9054內部的 FIFO進行雙向傳輸。為此,核心控制芯片 FPGA內部專門設計了與 PCI 9054進行數據通信的邏輯控制單元,通過查詢 FIFO的當前狀態,實時地把數據傳送到相應的存儲單元。.
關鍵詞: FPGA PCI接口 FIFO PCI 9054
Abstract:
Key words :

0. 引言

目前,計算機上的系統總線常見的有 ISA總線、 PCI總線以及 VXI總線等。在實際應用中,PCI總線已經成為主流的應用總線,具有較高的數據傳輸效率,能滿足大多數數據采集和發送系統的需求。由于 PCI總線規范相當復雜,一般實際應用中都選擇專用的 PCI接口芯片來設計 PCI接口。本文選擇美國 PLX公司生產的 PCI總線通用接口芯片 PCI 9054,利用該專用芯片橋接 PCI總線與本地總線 [1-3]。在實際半實物仿真測試系統的應用中,要求仿真計算機能夠快速、穩定的連續輸出所需數據,而由于 PCI 9054內部 FIFO存儲器主要用于數據的讀寫控制,容量有限,不能滿足半實物仿真測試系統數據傳輸的要求。因此,本文提出利用 FPGA內部的嵌入式陣列塊( EAB)(Embedded Array Blocks)來實現外擴 FIFO的功能,目的是用于存儲由 PCI總線傳輸過來的仿真數據,并在 D/A轉換期間起到數據緩存的作用。

1. PCI 9054特性及 FPGA內部 EAB模塊簡介

1.1  PCI 9054接口芯片簡介及配置

PCI 9054內部有六個可編程的 FIFO存儲器,它們可分別實現 PCI發起讀、寫操作, PCI目標讀、寫操作和 DMA方式讀、寫操作。這里采用 DMA方式傳輸數據,可實現大量數據的突發傳輸而不丟失,數據通過 PCI 9054內部的 FIFO進行雙向傳輸。為此,核心控制芯片 FPGA內部專門設計了與 PCI 9054進行數據通信的邏輯控制單元,通過查詢 FIFO的當前狀態,實時地把數據傳送到相應的存儲單元。

PCI 9054內部提供一個串行 EEPROM配置接口,為 PCI總線和局部總線配置部分重要信息,如本地總線的基地止空間、I/O空間、中斷控制信號等信息,總容量為 2 K字節或 4 K字節,其內容可通過 PCI總線寫入,也可通過編程器直接燒寫。EPROM一定要選擇支持串行傳輸方式的芯片,這里選用 93CS56L作為外接 EEPROM,容量為 2 K字節, EEPROM的配置電路如圖 1所示。圖中 93CS56L的 1、2、3/4引腳與 PCI9054上的 EECS、EESK、EEDI/EEDO引腳相連,系統啟動時自動檢測 EEPROM,并將初始化配置參數裝入 PCI配置寄存器中,根據本地總線對內存、 I/O端口和中斷等統一劃分空間,自動配置。EEPROM的配置至關重要,其配置不正確可導致整個系統無法運行。

1.2嵌入式邏輯陣列塊( EAB)結構[4]

嵌入式邏輯陣列塊( EAB)具有邏輯和存儲功能,在輸入、輸出端口上帶有寄存器的 RAM塊,利用它們可以實現 ROM、RAM、雙端口 RAM和 FIFO等功能設計。每個 EAB模塊均含有 2 K的數據容量,每個 EAB單元中還包括數據區、總線和讀 /寫控制等。數據區是 EAB的核心部分,可根據數據/地址線的不同設置將其配置為 2048×1bit,1024×2bit, 512×4bit,256×8bit等。相應的數據總線可以配置成 8bit、4bit、2bit或 1bit寬,地址總線可以配置成 8bit、9bit、10bit或 11bit寬。而輸入輸出總線相對應,這三條總線都可以設置為同步/異步兩種工作方式。

2. 外擴異步 FIFO的 FPGA實現 [5]

2.1異步 FIFO存儲器的內部結構及工作原理[6]

本設計選擇的 EPF10K10 FPGA內部含有 3個嵌入式陣列塊( EAB)。為了實現大容量的異步 FIFO存儲器,可以通過內部級聯的方法把多個 EAB模塊進行連接,如本設計把 3個 EAB模塊進行連接,每個 EAB模塊均為 512×4 Bit,連接以后可實現 512×12 Bit的 FIFO存儲模塊,即 FIFO存儲器的容量為 6 KB。圖 2給出了利用 EAB模塊構成 FIFO存儲器的內部結構圖。

從圖 2可以看出,異步 FIFO存儲器包含一個雙端口的 RAM、寫指針(WP)、讀指針(RP)、空標志產生邏輯( FULL)及滿標志產生邏輯 (EMPTY)。其工作過程是把 PCI9054讀入的內存波形數據緩存到 RAM中,然后根據仿真需要,把波形數據傳送給 D/A轉換模塊。其遵循的原則是寫入數據位數及時鐘與 PCI9054輸出數據位數及本地時鐘( LCLK)同步,而輸出數據位數及時鐘與 D/A轉換模塊的輸入數據位數及時鐘相一致,且硬件系統第一個讀入的數據為輸出端口讀出的第一個數據,依此類推。由于時鐘頻率的不同,輸入口和輸出口的工作過程彼此是獨立的,即可以同時進行讀寫操作。只要 FIFO存儲器的數據標志位 FULL為非滿狀態,就可以繼續向 FIFO存儲器中寫入數據;只要 FIFO存儲器的數據標志位 EMPTY為非空狀態,就可以繼續從 FIFO存儲器中讀取數據。

2.2異步 FIFO存儲器的 FPGA實現方法

由 EAB構成的 FIFO模塊,只需對其進行編程實現,而無需其它外部元件匹配。設計過程中主要考慮的一是如何實現數據在傳輸過程中不丟失數據,即如何同步異步時鐘信號,避免亞穩態的產生;二是如何正確地判斷 FIFO存儲器的空/滿狀態。
 
 

圖 1 EEPROM 配置電路

圖 2 由 EAB模塊構成的 FIFO內部結構圖圖 3給出了 FIFO存儲器的四種狀態,即:

1)初始狀態:對于本設計而言,即為 WP=0,RP=511。此時的 FIFO處于空狀態, RP=WP-1,不能對其進行讀操作。

1 RP=WP狀態。FIFO只要再進行一次寫操作就會變成滿狀態。

2 RP=WP-2狀態。FIFO只要再進行一次讀操作就會變成空狀態。

3 RP=WP-1狀態,FIFO已經存滿數據,不能對其進行寫操作。



圖 2 由EAB 模塊構成的FIFO 內部結構圖



圖 3 FIFO 四種工作狀態

可以看出,滿狀態和空狀態的 RP和 WP的關系是一致的,均為 RP=WP-1。但在滿或空狀態出現之前的一個狀態是各不相同的。當 RP=WP時,由于寫入一個數據而使其進入滿狀態( RP=WP-1),而在 RP=WP-2時,由于讀出一個數據而使其進入空狀態( RP=WP-1)。設計中可以根據這一原則通過軟件編程來得到空 /滿狀態標志產生的條件。下面給出一段描述空狀態產生的 VHDL語言程序。

process(wr_clk,reset)

begin  

if reset=1 then  

empty_in<=1; 

 elsif (wr_clk=1 and wr_clkevent) then

if ((rp=wp-2 or (rp=fifo_depth-1 and wp=1)

or(rp=fifo_depth-2 and wp=0)  

and (rd_en=0 and wr_en=1)) then
    empty_in<=1;

elsif (empty_in=1 and wr_en=0) then 

empty_in<=0;
  end if;  

end if;

 end process;

其中:

wr_clk為寫入數據時鐘信號; reset為系統復位信號;empty_in為空標志信號; fifo_depth為 FIFO存儲器深度值,這里為 512;rp為讀數據指針; wp為寫數據指針; wr_en為寫入數據使能信號;rd_en為讀出數據使能信號。
對于異步 FIFO而言,設計過程中還需考慮的一點就是如何消除不同時鐘域的亞穩態。這里主要是對讀 /寫地址采用雷格碼變換,即相鄰地址之間只有一個數據位不同,據此可以很好地減少亞穩態的發生。雷格碼可以通過對 FPGA內部編程實現二進制計數器來完成,即讀地址的雷格碼計數器用讀時鐘,寫地址的雷格碼用寫時鐘,數據輸入端由兩個相鄰二進制的數據位異或產生,這樣就很好地解決了當讀/寫地址指針相同時,由于讀/寫時鐘異步而產生的地址錯誤。下面給出的是讀地址雷格碼程序描述。

process(rd_clk,reset,rd_en)

begin  

if reset=1 then
  rd_gray<="00000000";  

else 

rd_gray(3)<=rp(3);  

rd_gray(2)<=rp(3)xor rp(2);  

rd_gray(1)<=rp(2)xor rp(1);  

rd_gray(0)<=rp(1)xor rp(0);  

end if;
end process;

其中: reset為系統復位信號; rd_clk為讀出數據時鐘信號; rd_en為讀出數據使能信號; rp為讀數據指針;rd_gray為讀雷格碼地址。

3. 結束語 本文根據半實物仿真測試系統的要求,利用 FPGA芯片內部 EAB模塊設計了基于 PCI總線接口的異步 FIFO緩存器。針對異步 FIFO設計中的空 /滿狀態及亞穩態問題,給出了具體的解決方法,主要采用 VHDL語言進行了 FIFO的電路設計,利用 ALTERA公司的 EPF10K10 FPGA芯片實現了該設計,并將這一設計應用到半實物仿真測試系統中進行連續波形數據的傳輸,在實際測試系統中取得了較好的效果。本文作者創新點:在半實物仿真測試系統中,本著模塊化的設計思想,本文利用 FPGA芯片內部 EAB模塊設計了異步 FIFO存儲器,提高了半實物仿真測試系統數據傳輸效率,解決了由于計算機中斷而引起的數據傳輸間歇性問題。

參考文獻

[1] Ravi Budruk,Don Anderson,Tom Shanley. PCI Express系統體系結構標準教材 [M].北京:電子工業出版社,2002:5-30.
[2]尹勇, 李宇. PCI總線設備開發寶典[M].北京:北京航空航天大學出版社,2005:1-14.
[3]  PLX Technology,Inc. “PCI 9054 Data Book” Version 2.0[Z].USA,1999.
[4]李琳,陳勇生 . FLEX10K系列 EAB的應用 [J].國外電子元器件 . 2001(12):59-62
[5]張志安. 硬目標侵徹引信半實物仿真技術研究[D].南京:南京理工大學,2007.
[6]熊紅兵,陳琦 . 基于 FPGA的異步 FIFO設計與實現[J].微計算機信息. 2006,6-2:216-218

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          欧美电影在线免费观看网站| 欧美四级在线观看| 亚洲人成77777在线观看网| 欧美精品亚洲二区| 欧美紧缚bdsm在线视频| 国产日韩精品一区观看| 久久久久国产精品厨房| 欧美福利一区| 99在线热播精品免费| 美脚丝袜一区二区三区在线观看| 欧美激情亚洲综合一区| 极品日韩久久| 国产亚洲欧美一级| 久久精品理论片| 91久久精品国产| 欧美精品v日韩精品v韩国精品v| 亚洲精品孕妇| 伊人久久大香线蕉综合热线| 久久综合色综合88| 久久精品一区二区三区不卡牛牛| 麻豆精品一区二区综合av| 欧美国产精品日韩| 伊人蜜桃色噜噜激情综合| 欧美日韩在线一区二区| 亚洲国产精品视频一区| 欧美日韩国产综合视频在线| 欧美一级在线亚洲天堂| 欧美午夜一区二区| 欧美视频在线观看一区二区| 国产视频精品va久久久久久| 亚洲老板91色精品久久| 欧美三日本三级三级在线播放| 亚洲一区欧美激情| 亚洲国产综合91精品麻豆| 日韩视频在线观看| 欧美激情精品久久久久久免费印度| 欧美激情一区二区三区蜜桃视频| 免费观看在线综合色| 国产一区二区日韩精品| 久久精品成人一区二区三区| 99精品视频免费全部在线| 国产精品欧美日韩久久| 欧美不卡高清| 欧美一区二区视频免费观看| 国产精品国内视频| 欧美激情性爽国产精品17p| 制服丝袜亚洲播放| 欧美一区二区精美| 亚洲黄页视频免费观看| 亚洲伊人观看| 日韩视频久久| 欧美xxxx在线观看| 久久久九九九九| 久久午夜色播影院免费高清| 亚洲男人第一av网站| 久久亚洲影院| 一本久道久久综合婷婷鲸鱼| 国产一区视频在线看| 国产精品久久久久影院色老大| 国产精品免费一区二区三区观看| 亚洲第一黄色| 国产精品视频男人的天堂| 伊人婷婷欧美激情| 国产九九精品| 亚洲欧洲精品一区二区三区| 亚洲图片自拍偷拍| 国产免费观看久久| 狠狠爱成人网| 欧美激情视频在线免费观看 欧美视频免费一| 在线视频亚洲| 亚洲欧美中文日韩v在线观看| 国产精品欧美风情| 欧美日韩国产一区二区三区地区| 国产精品每日更新在线播放网址| 久久久91精品国产一区二区精品| 国产日韩欧美视频在线| 在线观看一区二区视频| 欧美人与性动交α欧美精品济南到| 欧美精品综合| 亚洲小视频在线观看| 国产麻豆精品视频| 99这里只有精品| 欧美在线观看你懂的| 亚洲国产99| 国产婷婷97碰碰久久人人蜜臀| 亚洲美女在线看| 久久视频一区| 久久综合国产精品台湾中文娱乐网| 久久精品道一区二区三区| 伊人成综合网伊人222| 欧美不卡在线| 欧美精品免费观看二区| 亚洲图片欧美一区| 欧美剧在线免费观看网站| 伊人久久噜噜噜躁狠狠躁| 国产欧美精品日韩| 亚洲一区精品电影| 欧美精品在线网站| 美日韩精品免费| 欧美日韩国产综合视频在线观看中文| 老色鬼久久亚洲一区二区| 亚洲欧美日韩一区在线观看| 久久精品观看| 欧美视频在线观看免费网址| 国产精品h在线观看| 国产精品久久久久av免费| 欧美a一区二区| 久久深夜福利免费观看| 国产自产2019最新不卡| 欧美日韩国产bt| 91久久国产自产拍夜夜嗨| 国产精品二区在线观看| 蜜桃av久久久亚洲精品| 国产欧美欧洲在线观看| 国产日韩精品一区| 老鸭窝毛片一区二区三区| 欧美成人精品三级在线观看| 中日韩美女免费视频网站在线观看| 国产精品国产自产拍高清av王其| 国产精品视频免费| 麻豆精品视频在线观看| 精品69视频一区二区三区| 欧美一区二区视频在线观看2020| 国产综合精品一区| 亚洲一区二区精品在线观看| 亚洲激情视频在线| 久久人人97超碰国产公开结果| 亚洲国产高清aⅴ视频| 一区二区精品在线| 激情综合色综合久久综合| 亚洲大胆美女视频| 国产精品美女| 国产一区二区三区黄| 亚洲私人影院在线观看| 欧美麻豆久久久久久中文| 羞羞漫画18久久大片| 国产精品亚洲第一区在线暖暖韩国| 亚洲国产日韩一区| 亚洲激情第一区| 一本一本大道香蕉久在线精品| 最新国产拍偷乱拍精品| 国产精品高清网站| 亚洲欧美福利一区二区| 国产精品盗摄一区二区三区| 欧美激情亚洲综合一区| 亚洲人妖在线| 国精产品99永久一区一区| 欧美激情1区| 国产婷婷色一区二区三区| 中国成人在线视频| 欧美色图五月天| 亚洲精品视频免费在线观看| 美女网站在线免费欧美精品| 欧美在线不卡| 你懂的网址国产 欧美| 亚洲高清电影| 国产精品99久久久久久www| 午夜精品久久久久久久男人的天堂| 欧美精品aa| 国语自产在线不卡| 亚洲高清在线观看| 一本大道久久精品懂色aⅴ| 亚洲国产精品一区二区第四页av| 日韩一二三在线视频播| 久久不射2019中文字幕| 欧美亚州在线观看| 欧美日韩国产在线播放网站| 欧美日韩不卡视频| 国产麻豆一精品一av一免费| 国产一区二区三区无遮挡| 激情婷婷久久| 国产日韩专区在线| 亚洲一区二区成人| 国产美女精品| 国产精品毛片| 在线观看91精品国产入口| 一本久久精品一区二区| 国产精品九九久久久久久久| 国产欧美日韩在线视频| 久久青草久久| 欧美国产先锋| 欧美在线欧美在线| 一区久久精品| 中文久久精品| 欧美四级在线| 国产精品vip| 亚洲毛片在线观看.| 久久精品国产欧美激情| 一区二区日韩伦理片| 葵司免费一区二区三区四区五区| 免费成人你懂的| 精品999在线播放| 亚洲午夜未删减在线观看| 免费美女久久99| 亚洲国产精品久久精品怡红院| 亚洲国产日韩在线| 亚洲视频第一页| 亚洲精品美女在线| 欧美专区第一页| 欧美乱妇高清无乱码| 国产欧美日韩精品在线| 国产日韩免费| 在线视频日本亚洲性| 一区二区电影免费在线观看| 国产精品久久久久aaaa| 亚洲小说欧美另类社区| 国产精品美女在线观看| 亚洲欧美日韩精品在线| 国产日韩在线一区二区三区| 日韩视频专区| 欧美在线一二三四区| 欧美精品v国产精品v日韩精品| 欧美专区在线观看一区| 欧美人妖另类| 国外成人在线视频| 欧美日韩一二区| 国产在线一区二区三区四区| 欧美 日韩 国产在线| 久久精品系列| 国产乱码精品1区2区3区| 黄色成人91| 一区二区激情小说| 亚洲三级免费| 一区二区三区高清在线观看| 亚洲国产精品久久久久婷婷884| 国产精品一区二区三区免费观看| 亚洲精品欧美日韩| 欧美不卡激情三级在线观看| 国产精品综合不卡av| 久久黄色影院| 久久九九久精品国产免费直播| 午夜精品久久久久99热蜜桃导演| 久久福利精品| 欧美日韩国产成人| 中文亚洲视频在线| 性做久久久久久| 欧美精品一区二区在线播放| 亚洲高清在线观看一区| 亚洲一二三区视频在线观看| 欧美性大战久久久久久久蜜臀| 欧美日韩一二三四五区| 久久久精品国产一区二区三区| 亚洲日韩欧美视频| 欧美激情第二页| 暖暖成人免费视频| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产精品卡一卡二卡三| 国产精品久久久久国产精品日日| 欧美日韩高清一区| 国产精品爱啪在线线免费观看| 亚洲国产一区二区a毛片| 亚洲欧美日韩直播| 伊人蜜桃色噜噜激情综合| 国产亚洲制服色| 国产欧美一区二区三区另类精品| 好吊视频一区二区三区四区| 99国产精品久久久久久久成人热| 中文欧美字幕免费| 久久国产精品一区二区三区| 久久香蕉国产线看观看网| 亚洲一区二区三区四区五区午夜| 欧美亚洲成人免费| 欧美日韩一区三区| 日韩一二三在线视频播| 国产欧美精品一区二区色综合| 久久免费午夜影院| 欧美啪啪一区| 国产精品久久久久影院亚瑟| 亚洲午夜一区| 久久国产精品电影| 欧美精品三级日韩久久| 国产精品xnxxcom| 国产日韩精品在线播放| 一区在线电影| 欧美日韩在线另类| 国产欧美在线看| 国产尤物精品| 日韩视频免费| 久久黄色网页| 久久人人97超碰国产公开结果| 日韩写真视频在线观看| 伊人天天综合| 国产精品久久久久久一区二区三区| 国产精品扒开腿做爽爽爽视频| 欧美理论电影在线播放| 国产精品久99| 国产精品日韩欧美大师| 国产亚洲午夜高清国产拍精品| 久久这里有精品视频| 久久综合色8888| 欧美精品在线网站| 一区二区三区成人精品| 91久久精品国产91性色| 国产精一区二区三区| 国产精品三区www17con| 欧美黄色网络| 亚洲精品1区| 最新国产成人av网站网址麻豆| 欧美精品激情在线| 免费成人黄色片| 极品尤物av久久免费看| 国产精品久久久久毛片大屁完整版| 影音欧美亚洲| 欧美小视频在线观看| 欧美日本在线一区| 亚洲欧美综合精品久久成人| 亚洲视频在线观看一区| 欧美区视频在线观看| 亚洲素人在线| 亚洲国产精品黑人久久久| 亚洲综合成人在线| 国产精品成人在线观看| 国产精品视频在线观看| 亚洲人成7777| 欧美在线网址| 欧美视频在线观看免费| 亚洲一区二区成人在线观看| 国产亚洲福利社区一区| 亚洲欧美国产毛片在线| 国产精品欧美精品| 欧美日韩国产成人高清视频| 亚洲欧美日韩国产中文在线| 国内精品视频在线播放| 在线电影欧美日韩一区二区私密| 欧美午夜片欧美片在线观看| 亚洲视频在线二区| 国内精品美女在线观看| 国产精品第一页第二页第三页|