新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于Wishbone和端點(diǎn)IP的PCIE接口設(shè)計(jì)

基于Wishbone和端點(diǎn)IP的PCIE接口設(shè)計(jì)

作者: 時(shí)間:2012-07-03 來(lái)源:網(wǎng)絡(luò) 收藏

在每個(gè)頭中含有類型及格式兩個(gè)字段,它們定義頭剩余部分的格式,用來(lái)指定事務(wù)的類型、頭的大小、數(shù)據(jù)有效載荷是否存在等。事務(wù)(在PCI Express請(qǐng)求者和完成者之間進(jìn)行的操作)包括存儲(chǔ)器事務(wù)、I/O事務(wù)、配置事務(wù)和消息事務(wù)。事務(wù)分為三個(gè)類別:posted(不需要響應(yīng),不需要返回完成包,存儲(chǔ)器寫和消息屬于此類事務(wù)),非posted(需要響應(yīng))和完成包。

本文引用地址:http://2s4d.com/article/190176.htm

g.JPG


本文設(shè)計(jì)的基于的PCI Express接口的讀寫操作針對(duì)存儲(chǔ)器空間,其中存儲(chǔ)器讀寫操作TLP頭的格式如圖6所示。類型字段(Fmt)為00000b時(shí)表示存儲(chǔ)器讀或者寫;格式字段(Type)為00/01b時(shí)表示3DW/4DW的存儲(chǔ)器讀操作,為10/11b時(shí)表示3DW/4DW的存儲(chǔ)器寫操作。

2 基于Wishboen的PCI Express接口實(shí)現(xiàn)
2.1 實(shí)現(xiàn)原理
本文基于Xilinx FPGA的PCI Express集成硬核端點(diǎn)模塊和Wishhone片上總線,實(shí)現(xiàn)了主機(jī)和外接存儲(chǔ)器問(wèn)通過(guò)PCI Express的接口通信。PCI Express接口基于協(xié)議包傳輸機(jī)制,因此,集成端點(diǎn)模塊的數(shù)據(jù)傳輸均以TLP包的形式進(jìn)行。實(shí)現(xiàn)數(shù)據(jù)傳輸可通過(guò)以下步驟進(jìn)行(以PCI Express讀傳輸為例):
(1)待傳輸數(shù)據(jù)存儲(chǔ)在應(yīng)用模塊中的數(shù)據(jù)緩存器中,數(shù)據(jù)緩存器可以使用片外存儲(chǔ)器也可以使用片內(nèi)RAM資源。本設(shè)計(jì)使用的是片內(nèi)RAM資源;
(2)數(shù)據(jù)通過(guò)集成在存儲(chǔ)器端的總線輸入到數(shù)據(jù)緩存區(qū)(Tx_ram)中,在數(shù)據(jù)緩存區(qū)(Tx_ram)中根據(jù)規(guī)定格式形成TLP包;
(3)根據(jù)PCI Express協(xié)議,將在數(shù)據(jù)緩存區(qū)(Tx_ram)中的TLP包通過(guò)集成端點(diǎn)模塊發(fā)送出去。
PCI Express寫傳輸是上述的逆過(guò)程。
其原理框圖如圖7所示。

h.JPG



2.2 設(shè)計(jì)買現(xiàn)
Xilinx的V5/V6系列FPGA提供了一個(gè)PCI Express硬核端點(diǎn)模塊,此端點(diǎn)模塊提供了一個(gè)PCI Express接口通信的底層配置,但沒(méi)有包含對(duì)TLP包的編碼及解碼邏輯。因此,需要在設(shè)計(jì)中實(shí)現(xiàn)TLP包的編碼及解碼邏輯功能。編碼是將來(lái)自片上總線的數(shù)據(jù)打包成TLP格式存入Tx_ram;解碼即是在Rx_ram中提取TLP包的有效載荷。在解碼邏輯中,最重要的就是要根據(jù)包頭的類型字段和格式字段來(lái)正確確定事務(wù)的類型、頭的大小、有效載荷是否存在。
在應(yīng)用模塊的存儲(chǔ)器端和FPGA端點(diǎn)IP核之間實(shí)現(xiàn)Wishbone的點(diǎn)對(duì)點(diǎn)連接,存儲(chǔ)器端接口為主端口,與硬核接口端為從端口。實(shí)現(xiàn)了32 b/16 b/8 b的單個(gè)存儲(chǔ)器的讀和寫以及主機(jī)到應(yīng)用模塊間的DMA傳輸。需要注意的是,在Wishbone讀/寫操作的時(shí)候,一個(gè)時(shí)鐘周期只能進(jìn)行一個(gè)雙字的傳送,對(duì)多個(gè)雙字進(jìn)行讀寫時(shí)需要多個(gè)時(shí)鐘周期。
主機(jī)到應(yīng)用模塊間的DMA傳輸包括DMA寫操作和DMA讀操作,其狀態(tài)流程如圖8所示。

i.JPG



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉