《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 基于FPGA的PCI Express總線接口設計
基于FPGA的PCI Express總線接口設計
摘要: 使用FPGA來設計PCIE總線擴展卡,可以省去專用的PCIE接口芯片,降低了硬件設計成本,提高了硬件的集成度。利用FPGA的可編程特性,大大提高了設計靈活性、適應性和可擴展性。
Abstract:
Key words :

  PCIE(PCI express)是用來互聯諸如計算機和通信平臺應用中外圍設備的第三代高性能I/0總線。PCIE體系結構繼承了第二代總線體系結構最有用的特點,采用與PCI相同的使用模型和讀/寫通信模型,支持各種常見的事務。其存儲器、I/0和配置地址空間與PCI的地址空間相同。由于地址空間模型沒有變化,所以現有的OS和驅動軟件無需進行修改就可以在PCIE系統上運行。

 

  PCIE是串行協議,與原有的PCI并行總線相比,它沒有大量的數據和控制線,對于硬件電路設計者來說,省去了很多硬件設計工作。PCIE的傳輸速度遠遠大于PCI總線,PCIE1.1版本單個鏈路的單向吞吐量能達到250 MB/s。對于需要與主機進行大容量傳輸的系統來說,該總線標準的優勢是非常明顯的。

 

  由于PCIE總線硬件設計簡單,吞吐量大,軟件向下兼容,只要找到合適的總線接口芯片,很容易將現有的PCI總線設備升級為PCIExpress設備。Altera公司最新推出的EP2SGX90系列的芯片,給用戶提供了PCIE接口IP核。本文將結合實際的應用,詳細介紹該IP核的使用情況,包括寄存器設置,DMA操作等。

 

  1 功能描述及參數設置

 

  按照PCIE協議的要求,該FPGA的IP核也采用三層體系結構,即傳輸層、數據鏈路層和物理層。這三層功能模塊完成了PCIE的協議轉換,在傳輸層上給開發人員提供了非常豐富的接口。開發人員的所有開發,包括DMA傳輸等都是在傳輸層以上進行的。

 

  傳輸層(transaction layer):完成TLP(數據傳輸包)的收發,含有虛擬信道(VC)緩沖區,具有端口仲裁、VC仲裁、流控制、數據重新排序和數據校驗等功能。

 

  數據鏈路層(data link layer):數據鏈路層的主要功能是保證在各鏈路上發送和接收數據包時數據的完整性。在接收端,對數據進行嚴格的CRC校驗,如果有錯誤,會給發送方返回1個NAK信號。發送端具有重傳緩沖區,如果收到NAK信號,則把數據重新發送1次。

 

  物理層(physical layer):對于發送端,接收數據鏈路層的數據包,把這些數據進行8 b/10 b編碼,送到串行發送器上;對于接收端則剛好相反,收到串行碼后,先解碼,然后送給數據鏈路層。

 

  在生成PCIE的IP核時,至少選擇2個存儲區,一個是BAR[1:O],用作用戶開發板的擴展存儲區用;還有一個是BAR2,下面所有的寄存器操作都是基于該地址的。新生成的IP核不帶有DMA功能,但是在工程文件夾下面有一個xxxx_examples(xxx代表工程名稱)的文件夾,文件夾里有簡單DMA和鏈式DMA的例子代碼,開發者只需要對這些代碼進行修改,就能開發出適合自己的DMA功能模塊。

 

  2 簡單DMA

 

  該DMA傳輸模式相對比較簡單,只需要對相應的寄存器進行設置即可完成,DMA傳輸步驟如下所示,每進行1次DMA傳輸,都需要按照下面的步驟進行1次設置。下面所述的偏移量都是相對于BAR2地址。

 

  (1)設置偏移量為0x00和0x04的寄存器,寫入DMA傳輸的主機端地址;

 

  (2)設置偏移量為0x14的寄存器,寫入DMA傳輸的PCIE端點地址;

 

  (3)在偏移量為0x08的寄存器中寫入本次DMA傳輸的長度,以字節為單位;

 

  (4)設置偏移量為0x0C的寄存器,設置DMA傳輸的屬性,對該寄存器的寫操作將啟動本次DMA傳輸;

 

  (5)讀取0x0C的寄存器DMA傳輸狀態位,察看本次DMA是否完成。

 

《電子設計技術》網站版權所有,謝絕轉載

 

 

  3 鏈式DMA

 

  鏈式DMA是一種效率遠遠高于簡單DMA的傳輸方式,它只需要1次啟動操作,就可以完成多次DMA傳輸。這里將結合實際使用情況,詳細介紹鏈式DMA的傳輸過程。

 

  3.1 描述符表

 

  實現鏈式DMA傳輸時,需要開發人員在主機內存中開辟一塊空間,用來存儲描述符表,它由一個表頭和多個描述符組成,其中每一個描述符對應一次DMA操作。用戶根據自己的需求填寫該描述符表,關于該描述符表的詳細說明如表1和表2所示。

 

 

鏈式DMA傳輸時用來存儲描述符表說明圖
鏈式DMA傳輸時用來存儲描述符表說明圖

 

 控制區域中含有一些控制信息,其中第16位用來控制傳輸方向,為O是DMA寫,為1是DMA讀,這里的讀/寫是以主機端為參考的,如果以PCIE核為參考,方向剛好相反。第18位用來使能DMA傳輸計數,如果該位使能為1,那么在DMA傳輸過程中,PCIE核每完成1次DMA操作,都會進行1次計數操作,然后把這個計數結果傳送給主機,主機把這個結果填寫到描述符表的RCLAST字段中。

 

  表大小是指本次鏈式DMA操作對應的描述符個數,每個描述符對應一次DMA操作。

 

  RCLAST是一個計數單元,它有兩個作用,在鏈式DMA傳輸前,表示還有多少個DMA操作等待傳輸,由于它是從0開始計數的,所以這個值等于表大小減1。還有一個重要作用是在鏈式DMA傳輸過程中,用來表示鏈式DMA傳輸的狀態。如上所述,如果控制區域的第18位設置為1,那么每完成1次DMA操作,主機都會更新這個計數器。當計數器的數值(也是從O開始計數的)等于前面設置的期望傳輸的DMA次數,就表示鏈式DMA傳輸操作結束。開發人員可以用這個狀態單元來察看本次傳輸是否結束,從而開始一個新的傳輸周期。

 

  DMA長度用來設置本描述符對應的DMA傳輸的長度,是以32位為單位的。主機端地址用來指示數據存放存放的位置。

 

  3. 2 實現范例

 

  根據上面介紹的描述符表,下面給出一個鏈式DMA讀的驅動程序例子。首先生成一個描述符表,然后把描述符表表頭的4個字段的內容分別寫入BAR2地址偏移量為0x0,0x4,0x8和0xC寄存器中。寫完后即開始此次鏈式DMA讀傳輸,while循環用于等待鏈式DMA結束。從下面的代碼可以看出,2個描述符對應2次DMA操作。

 

 

鏈式DMA讀的驅動程序
鏈式DMA讀的驅動程序

 

 

鏈式DMA讀的驅動程序
鏈式DMA讀的驅動程序

 

 圖1是用SignalTap工具獲取的鏈式DMA讀時序圖。PCIE核接收tx_req0請求信號,然后給出一個tx_ack0,同時將tx_dr0置為有效,該信號套住的TXData就是需要讀取的有效數據。在每次DMA結束之后,PCIE核都會用同樣的控制邏輯給主機傳送1個已完成DMA次數的狀態字,如圖1中的44040000h。

鏈式DMA傳輸時序圖

鏈式DMA傳輸時序圖

 

 4 性能測試

 

  在做總線性能測試時,采用鏈式DMA傳輸方式,共4個描述符表。根據實際使用的PCIE總線通道數和DMA長度的不同,實際測試得到的總線速度也不同,表3給出了參考數據。

 

 

總線性能測試圖
總線性能測試圖

 

  5 結語

 

  使用FPGA來設計PCIE總線擴展卡,可以省去專用的PCIE接口芯片,降低了硬件設計成本,提高了硬件的集成度。利用FPGA的可編程特性,大大提高了設計靈活性、適應性和可擴展性。PCIE總線提供了高速、獨享的數據交換通道,確保在大數據量的數據交換時不會出現瓶頸,而且作為新一代總線,它使系統在獲得更高性能的同時,具有了良好的升級性。

此內容為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>
          国产精品美女www爽爽爽视频| 亚洲福利视频在线| 欧美三级视频在线播放| 国产性做久久久久久| 性18欧美另类| 久久国产精品网站| 亚洲永久字幕| 欧美肥婆在线| 欧美日韩亚洲视频一区| 欧美精品1区| 99re66热这里只有精品4| 欧美四级在线观看| 亚洲国产另类久久久精品极度| 国产日产欧美a一级在线| 欧美视频一区在线观看| 国产主播一区二区| 久久久蜜臀国产一区二区| 久久成人免费| 欧美在线啊v一区| 激情小说另类小说亚洲欧美| 欧美人与性动交α欧美精品济南到| 亚洲天堂av在线免费观看| 国产精品久久久久久久免费软件| 精品不卡在线| 国产精品扒开腿爽爽爽视频| 国产综合久久久久影院| 激情一区二区三区| 国产精品激情av在线播放| 欧美精品99| 欧美一区二视频在线免费观看| 亚洲欧美电影在线观看| 欧美一区二区视频在线| 国产精品老女人精品视频| 性感少妇一区| 欧美自拍偷拍| 亚洲美女精品久久| 欧美视频一区二区三区在线观看| 男人的天堂亚洲| 欧美婷婷在线| 久久久综合视频| 亚洲美洲欧洲综合国产一区| 国产精品v亚洲精品v日韩精品| 美女主播一区| 久久人人超碰| 亚洲欧美三级在线| 午夜精品免费视频| 国产综合一区二区| 国产一级精品aaaaa看| 中文国产成人精品久久一| 国产精品v欧美精品v日本精品动漫| 可以免费看不卡的av网站| 欧美精品久久久久久久| 亚洲欧美视频一区| 精品福利免费观看| 久热精品视频在线| 欧美成人资源| 麻豆精品视频在线| 欧美日韩美女| 91久久久在线| 欧美亚洲一级| 日韩视频亚洲视频| 好看的日韩视频| 欧美激情视频免费观看| 欧美成人精品在线视频| 性色av香蕉一区二区| 性欧美暴力猛交69hd| 亚洲国产精品一区二区www在线| 美女精品视频一区| 亚洲高清影视| 国产亚洲精品7777| 欧美一区二区三区免费大片| 午夜一区二区三区在线观看| 亚洲国产欧美在线人成| 一区二区三区视频免费在线观看| 亚洲精品免费在线播放| 欧美福利电影在线观看| 亚洲国产视频直播| 国产精品网站在线播放| 亚洲精品国产精品久久清纯直播| 久久动漫亚洲| 国产日本欧洲亚洲| 中文在线一区| 国产综合香蕉五月婷在线| 国产欧美不卡| 久久亚洲春色中文字幕久久久| 欧美一区二区三区视频在线观看| 国产视频欧美视频| 日韩视频在线一区二区| 欧美日韩国产精品| 欧美日韩国产另类不卡| 亚洲激情中文1区| 亚洲日本欧美在线| 夜夜嗨一区二区三区| 久久精品一本| 欧美日韩在线播| 亚洲一区二区三区777| 欧美成黄导航| 午夜宅男欧美| 国产精品日韩在线观看| 欧美专区18| 国产精品高潮呻吟久久| 欧美日韩亚洲一区二| 久久亚洲精品视频| 久久久久国产精品一区三寸| 一区二区三区产品免费精品久久75| 欧美日韩综合视频网址| 欧美人牲a欧美精品| 久久亚洲精品伦理| 午夜精品在线观看| 欧美aⅴ一区二区三区视频| 国产人久久人人人人爽| 91久久香蕉国产日韩欧美9色| 国产伦精品免费视频| 91久久精品日日躁夜夜躁国产| 亚洲视频一区二区| 欧美jjzz| 久久se精品一区精品二区| 亚洲精品免费一区二区三区| 欧美日韩dvd在线观看| 一色屋精品视频在线看| 久久精品国产99| 欧美香蕉大胸在线视频观看| 亚洲国产精品成人一区二区| 欧美日韩国产天堂| 亚洲片在线观看| 国产乱码精品一区二区三| 亚洲日本国产| 黄色精品网站| 亚洲一区二区视频| 欧美在线视频a| 国产精品色午夜在线观看| 欧美国产日韩视频| 性欧美videos另类喷潮| 欧美亚洲第一页| 亚洲女ⅴideoshd黑人| 久久精精品视频| 国产在线视频不卡二| 在线播放中文字幕一区| 亚洲综合精品一区二区| 欧美性色综合| 亚洲人成网站777色婷婷| 欧美日韩精品在线观看| 午夜精品久久一牛影视| 久久性天堂网| 国产精品videossex久久发布| 欧美高清视频在线| 国产精品免费区二区三区观看| 国产精品一国产精品k频道56| 国产视频自拍一区| 制服丝袜激情欧洲亚洲| 久久精品日产第一区二区三区| 欧美一级在线播放| 国产精品大全| 亚洲理伦电影| 欧美视频观看一区| 国产视频丨精品|在线观看| 国产精品日本精品| 国产一区二区精品久久| 国产综合视频| 亚洲女优在线| 亚洲精品国产精品乱码不99按摩| 亚洲欧洲av一区二区三区久久| 久久免费视频网站| 亚洲高清视频在线观看| 欧美高清在线视频观看不卡| 亚洲国产精品黑人久久久| 久久久亚洲高清| 久久精品视频免费观看| 欧美不卡一区| 亚洲精品女人| 国产一区二区三区视频在线观看| 在线观看亚洲精品视频| 国产日韩欧美不卡在线| 亚洲午夜一二三区视频| 欧美国产欧美综合| 国产日韩在线一区| 亚洲国产专区校园欧美| 亚洲日本久久| 久久午夜国产精品| 亚洲第一精品影视| 国产一区二区三区四区三区四| 久久国产精品99精品国产| 午夜视频在线观看一区二区三区| 国产一区二区中文字幕免费看| 影音先锋久久精品| 国产精品久久久久一区二区| 亚洲国产一区视频| 亚洲欧美在线aaa| 国产精品福利在线| 日韩小视频在线观看专区| 欧美一区二区三区四区在线观看地址| 国产精品久久久久久久一区探花| 亚洲精品一区二区三区不| 另类综合日韩欧美亚洲| 亚洲永久字幕| 亚洲一区二区三区在线观看视频| 亚洲久久视频| 久久精品国产69国产精品亚洲| 欧美日韩一区三区| 国产精品久久久久久久久久免费| 国产自产精品| 欧美日韩国产成人高清视频| 国产精品高精视频免费| 亚洲黄色影院| 亚洲观看高清完整版在线观看| 亚洲人成毛片在线播放女女| 在线精品视频一区二区| 午夜视频一区| 亚洲每日在线| 免费观看亚洲视频大全| 这里只有精品视频在线| 亚洲女同性videos| 欧美久色视频| 狠狠色丁香婷婷综合| 欧美精品久久久久久久久老牛影院| 欧美成年人在线观看| 欧美午夜精品久久久久久超碰| 亚洲激情影视| 国产精品大片免费观看| 亚洲小说欧美另类婷婷| 欧美成人午夜激情在线| 亚洲一级黄色片| 国产精品亚洲成人| 亚洲国产成人在线视频| 欧美日韩一区二区免费在线观看| 欧美v国产在线一区二区三区| 久久精品日产第一区二区三区| 欧美激情亚洲精品| 精品成人免费| 亚洲高清不卡在线观看| 国产精品一区二区三区久久久| 久久久久久久久久久久久9999| 欧美成人午夜影院| 日韩一区二区福利| 欧美日韩mv| 麻豆久久久9性大片| 欧美日韩色综合| 在线视频免费在线观看一区二区| 国产亚洲毛片在线| 久久精品成人| 国产精自产拍久久久久久蜜| 欧美成人黄色小视频| 欧美精品尤物在线| 欧美一区二区三区免费观看| 国产欧美一区二区精品性色| 99这里有精品| 欧美日韩亚洲一区二区| 欧美性色综合| 欧美视频在线免费| 久久久久久亚洲精品不卡4k岛国| 日韩一级片网址| 在线精品视频一区二区| 欧美日韩1080p| 欧美专区在线观看| 一二三区精品福利视频| 欧美精品国产精品| 一区在线影院| 亚洲国产精品嫩草影院| 国产一区二区三区视频在线观看| 亚洲激情第一区| 欧美国产日韩a欧美在线观看| 性欧美videos另类喷潮| 亚洲五月六月| 亚洲欧美一区二区精品久久久| 亚洲综合电影| 国产一区二区三区精品欧美日韩一区二区三区| 欧美一区深夜视频| 国产精品在线看| 欧美日韩一区二区在线观看| 91久久精品一区| 一本久久综合| 亚洲黄页视频免费观看| 欧美日韩综合久久| 亚洲午夜精品一区二区三区他趣| 日韩一级片网址| 亚洲精品乱码久久久久久按摩观| 亚洲欧美日韩国产另类专区| 欧美性事在线| 国产精品激情电影| 欧美日韩二区三区| 国产精品一区二区三区四区五区| 亚洲一二三区精品| 一区二区欧美亚洲| 久久九九免费| 欧美日韩在线视频一区二区| 国产精品一区二区久久| 国产亚洲成精品久久| 亚洲午夜女主播在线直播| 亚洲高清av| 欧美亚洲日本国产| 久久久水蜜桃| 久久久www免费人成黑人精品| 欧美日韩不卡在线| 噜噜噜躁狠狠躁狠狠精品视频| 国产在线视频欧美一区二区三区| 欧美日韩网址| 欧美精品免费看| 香蕉乱码成人久久天堂爱免费| 欧美激情性爽国产精品17p| 美女主播精品视频一二三四| 国产精品国产三级国产aⅴ入口| 午夜精品福利视频| 国产女主播一区| 久久免费视频网站| 亚洲在线视频网站| 日韩系列欧美系列| 欧美一级专区免费大片| 欧美另类极品videosbest最新版本| 国产一区二区三区在线播放免费观看| 在线不卡a资源高清| 久久噜噜噜精品国产亚洲综合| 国产精品成人免费视频| 一本色道久久综合亚洲精品按摩| 国产偷久久久精品专区| 欧美色图首页| 国产精品日韩欧美一区二区三区| 欧美制服第一页| 日韩天天综合| 黑人中文字幕一区二区三区| 亚洲影视在线播放| 亚洲国产美女精品久久久久∴| 亚洲国内在线| 裸体女人亚洲精品一区| 亚洲欧美国产不卡| 欧美粗暴jizz性欧美20| 亚洲黄色免费电影| 女女同性精品视频| 欧美日韩高清免费|