999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA支持PCI接口的片上系統實現

2007-12-31 00:00:00閔小平
計算機應用研究 2007年8期

摘要:介紹了基于Xilinx中嵌入PowerPC的片上系統設計,通過一個OPBPCI總線橋實現了PowerPC與主機間的PCI接口通信。最終結果表明,這種實現方法簡單、快捷、可靠,并且可以很方便地實現數據的片上處理,具有很強的靈活性和可擴展能力,作為高速通信和數據處理的片上系統平臺有很好的應用前景。

關鍵詞:現場可編程門陣列;外設部件互連;片上外設總線—外設部件互連橋;片上系統;PowerPC

中圖分類號:TP334.7文獻標志碼:A

文章編號:1001-3695(2007)08-0272-03

0引言

FPGA/CPLD設計靈活,在不改變外圍電路的情況下,設計不同片內邏輯就能實現不同的電路功能。其開發工具種類繁多、功能強大,應用各種工具可以完成從輸入、綜合、實現到配置芯片等一系列功能。還有很多工具可以完成對設計的仿真、優化、約束、在線調試等功能。新型FPGA內嵌CPU或DSP內核,支持軟硬件協同設計,可以作為片上可編程系統(SOPC)的硬件平臺。它正逐步成為復雜數字硬件電路設計的理想首選。

VirtexⅡ Pro系列產品是Xilinx公司推出的高端FPGA產品。它嵌入了32位的IBM PowerPC 405 RISC處理器內核和RocketIO高速串行收發器。VirtexⅡ Pro內部具有豐富的可編程資源,能完成復雜的組合與時序邏輯設計,滿足可編程片上系統的應用設計需求。通過在VirtexⅡ Pro系列產品中內嵌32位的RISC處理器內核,VirtexII Pro可為網絡和通信系統提供極高的帶寬。本文的通信卡設計采用了VirtexⅡ Pro系列產品中的XC2VP4FF672C器件作為數據處理平臺。該器件的內含1個IBM PowerPC 405處理器內核,28個容量為18 KB的片上塊RAM,塊RAM總量達504 KB,348個I/O引腳。

1PowerPC 405處理器結構和特性

在VirtexⅡ Pro系列器件中嵌入的32位IBM PowerPC 405處理器硬核,是一種 32 位哈佛結構的 RISC 核,最高可以工作在 400 MHz頻率下;支持PowerPC用戶指令集,提供32個32位通用寄存器、累加器和乘/除運算功能,16 KB的高速指令緩存和16 KB的高速數據緩存;支持專用的IBM CoreConnect總線結構和專用的片上存儲器接口。

在VirtexⅡ Pro器件中,PowerPC 405處理器內核采用IBM的CoreConnect總線技術與其他模塊連接。CoreConnect 總線架構是由 IBM 開發的一種片上總線通信連接技術。它能夠將 FPGA 內各種不同的 IP 核連接到一起構成一個完整的系統。CoreConnect總線是一個總線標準的集合。它包括處理器局部總線(processor local bus,PLB)、片上外設總線(onchip peripheral bus,OPB)和設備控制寄存器總線(device control register bus,DCR)

1)處理器局部總線該總線為高速的數據通道,提供32位地址線和64位數據線。通常與該總線連接的外設為高速外設、DMA存儲控制器等。

2)片上外設總線該總線提供32位地址線和32位數據線。它通常用于連接速率較低的片上外設,通過總線橋接器與處理器局部總線相連,從而保證PLB總線的高速特性。

3)設備控制寄存器總線該總線提供10位地址線和32位數據線。它用于實現PowerPC 405處理器的通用寄存器與邏輯設備控制寄存器的數據通信。通過該總線,PowerPC 405內核可以快速訪問外部設備的控制和狀態寄存器。

各種IP核可以掛在這些總線上,通過總線與PowerPC進行交互。用戶自己設計的核在掛上總線時,需滿足其相應的總線接口標準。

2OPBPCI橋

在設計中,本文采用了基于PowerPC 405處理器的嵌入式系統設計方案。為了實現PowerPC與主機間的通信,筆者采用了Xilinx的 OPBPCI橋。

3OPBPCI橋結構

OPBPCI橋結構如圖1所示。它主要由三個相對獨立的單元組成,即IPIF接口、IPIFPCI橋和PCI接口。IPIF接口處理OPB總線端的事務;PCI接口邏輯使用了PCI核來實現;OPBPCI橋使用PCI核實現一個簡單的32位、33 MHz的PCI主設備或目標設備。 IPIF接口與PCI核之間的橋接功能由IPIFPCI橋來實現。

OPBPCI橋能接收來自OPB主設備、滿足OPB總線協議的地址和事務控制信號,并經協議轉換后在PCI總線上訪問PCI從設備的事務;也可以接收來自PCI主設備的信號,并經協議轉換后在OPB總線上訪問OPB從設備。所以,它既是OPB總線的主設備又是OPB總線的從設備;同時,它也既是PCI總線的主設備又是PCI總線的從設備。

OPBPCI橋有兩種應用方式,即主橋方式和從橋方式。作為從橋時,當系統上電后,主機系統將掃描PCI總線上連接的PCI總線設備;然后配置OPBPCI橋的配置寄存器,完成初始化配置過程;之后,OPBPCI橋進入正常工作狀態。當作為主橋時,由PCI橋完全控制PCI總線,片上系統將作為主機負責連接到PCI總線上的PCI設備的初始化配置過程??梢酝ㄟ^修改參數來改變OPBPCI橋的操作方式。本設計是應用于PCI總線上的一張插卡,因此本設計采用OPBPCI橋的從橋工作方式。

PCI總線地址與OPB總線地址之間的轉換過程:作為從橋時,PCI橋作為一個PCI設備掛在總線上。主機可以給它分配BAR0~BAR2三個緩沖區,然后通過向緩沖區地址讀寫數據來實現與PCI設備的數據傳輸。在OPBPCI橋上設置了針對三個緩沖區的地址變換寄存器。當一個PCI地址到來時,其低位地址部分保持不變,而高位地址部分會被寄存器內的地址替換掉,從而形成OPB總線側的地址,最終訪問OPB總線上RAM或其他設備;反之也一樣。

4集成開發環境EDK

本文采用了Xilinx的EDK設計工具,它是一個專門用于FPGA內部32位嵌入式處理器的集成化開發工具包,并提供硬件和軟件的協同設計能力,從而能極大地縮短設計周期。

在EDK工具包中集成了硬件平臺產生器(platgen)、硬件仿真模型產生器(simgen)、軟件平臺產生器(libgen)、 應用軟件編譯工具(GNU compiler)軟件調試工具(GNU debugger)等。此外,EDK也提供了各種豐富的IP核,包括總線接口、外部存儲控制器、通用I/O、 中斷控制等。利用這些現有的資源,用戶可以非常方便地構造自己的嵌入式平臺。如果已有的IP核不能滿足用戶的特定需求,用戶也可以開發自己的IP核。

在 EDK 集成開發環境中,通過 MHS 文件、MSS 文件和 MVS 文件完整地描述了SOPC 系統的軟硬件結構和仿真驗證模型。其中,MHS 文件用于完整描述 VirtexⅡ Pro FPGA 的硬件系統結構,主要定義當前 SOPC 設計的處理器類型、總線結構、外設接口、中斷處理和地址空間。

在MHS文件中對OPBPCI橋的引腳和模塊參數進行設置:

在本設計中,主機通過PCI總線訪問OPB總線上的接收存儲器和發送存儲器。OPBPCI橋成為PCI總線上的一個目標設備和OPB總線上的主設備,工作方式為從橋。OPBPCI橋需要把PCI總線的地址轉換為OPB總線上的地址。這是通過設置OPBPCI橋的C_PCIBAR2IPIFBAR和C_PCIBAR_LEN兩個參數來實現的。C_PCIBAR2IPIFBAR表示PCI總線要訪問的OPB總線上的設備起始地址,而C_PCIBAR_LEN則表示PCI端訪問的地址空間大小。如果為20,則表示PCI端訪問的空間為1 MB。那么在作地址變換時低20位地址保持不變,高12位地址則被C_PCIBAR2IPIFBAR的高12位替換掉。由于在OPB總線上有接收和發送兩個存儲器,還需要把OPBPCI橋上的PCI緩沖區的個數設置為2。這是通過將參數C_PCIBAR_NUM設置為2實現的。在機器啟動主機查找配置PCI設備時會自動給接口卡分配兩個緩沖區。OPBPCI橋參數如表1所示。

5EDK模塊設計結果

在設計中,主要是在VirtexⅡ Pro器件內部構建一個以PowerPC 405處理器硬核為中心的嵌入式計算機應用系統。在FPGA內部實現系統的總線架構、數據存儲、地址譯碼、外設接口等系統部件和功能。各功能部件在FPGA內部均以IP核的形式構建并連接。整個系統的結構框圖如圖2所示。

系統由 FPGA構成,在 FPGA 內部,各模塊執行各自的功能一起構成SOPC片上可編程系統。其中:JTAG調試接口連接 PowerPC 405處理器核和JTAG鏈,用于JTAG調試;reset block控制 FPGA 內各模塊的 reset 信號的輸入/輸出;PowerPC處理器通過PLB總線和OPB總線與各外設IP 核相連,PLB總線與OPB總線之間通過PLBOPB橋相連;OPBPCI橋實現了OPB總線與CPCI總線之間的通信;為了存儲用戶程序,系統使用了16 KB PLB總線塊RAM;UART(通用異步收發器)用于連接PC機RS-232 串口實現串口通信;此外還有兩個8 KB的OPB總線塊BRAM用于存儲通信數據。其中:接收存儲器用于存儲串行模塊接收到的數據,發送存儲器則用于存儲待發送的數據。這兩塊RAM均使用了雙端口RAM模塊,一頭掛在OPB總線上;一頭接串行通信模塊。主機通過OPBPCI橋訪問的正是這兩塊RAM中的數據。

主機發出的數據從PCI總線經過橋后直接寫到發送存儲器;待發送的數據可直接經過串行模塊發出,也可由PowerPC讀出處理后再發出。串口接收到的數據可直接被主機讀出,也可先經PowerPC讀出處理后再傳給主機。如果需要進行的處理速度要求很高,也可在串行模塊中進行設計,直接利用FPGA中的可編程資源將在硬件上實現處理。 

6總線電壓的變換

PCI總線電平有3.3和5V兩種。本文PC機等主機上一般使用的是5V,有少量工控機3.3和5V均支持。本文所用的Xilinx的VirtexⅡ Pro系列芯片只支持3.3V電平標準,因此不能直接接在PC機的PCI總線上,必須作電平轉換。這里,電平轉換選用的是IDT QS3861,高速全雙向, 無須方向控制信號。其連接圖如圖3所示。

7調試

在FPGA設計階段,傳統的信號分析手段要求在設計時保留一定數量的FPGA引腳作為測試引腳。這種方法靈活性差,對電路板的設計也有一定的影響。當今先進的FPGA所具有的規模、速度和板級要求使得利用傳統邏輯分析儀進行FPGA調試幾乎是不可能的。Xilinx公司推出的片內邏輯分析儀ChipScope Pro能夠通過JTAG口在線、實時地讀出FPGA的內部信號,而只需要片內的少量BlockRAM和邏輯資源,使得邏輯分析變得靈活方便。

對于本次設計中的硬件部分調試,有兩種調試方法:

a)針對設計中用戶編寫的模塊部分。在模塊編譯生成ngc文件后使用Chipscope Inserter打開文件;然后定義觸發信號、捕捉信號,插入調試單元,再與其他模塊鏈接生成最終的二進文件下載;在系統運行后通過JTAG口由Chipscope Analyser觀察捕捉到的信號。

b)OPB、PLB等總線的信號,這些不屬于用戶模塊。要使用ChipScope Pro對OPB總線進行觀察,需要在EDK設計時添加chipscope_icon和chipscope_opb_iba兩個內核模塊并設置好參數。下載運行之后就可以通過ChipScope Analyser捕捉OPB總線的信號,并可根據需要,靈活調整觸發條件和測試信號,實現對FPGA的片上調試。

下面就是PCI在傳送數據時筆者在ChipScope上觀察到的OPB總線信號。圖4為OPBPCI橋通過OPB總線讀取接收存儲器中的數據。

8結束語 

支持PCI總線的片上系統設計具有一定難度。本文介紹的基于FPGA內部PowerPC和OPBPCI橋的設計,通過使用EDK集成開發工具,可以很方便地生成片上系統以及實現對PCI接口的支持。由于芯片可編程的特性,在后續開發對數據處理的過程中將具有非常大的靈活性,可以根據系統的要求選擇不同的軟硬件實現方案,并且在系統設計過程中具有非常好的可調試性,能大幅度縮短開發周期,降低開發難度,是一種簡便和實用的方案。 

參考文獻:

[1]OPB IPIF/LogiCore v3 PCI core bridge user guide[EB/OL].(2004).http://www.xilinx.com/bvdocs/ipcenter/data_sheet/opb_pci.pdf.

[2]SHANLEY T,ADERSON D.PCI系統結構[M].劉暉,等譯.4版.北京:電子工業出版社,2000:55180.

[3]孫航.Xilinx可編程邏輯器件的高級應用與設計技巧[M]. 北京:電子工業出版社,2004:250-416.

[4]Xilinx Corp.PowerPC processor reference guide[EB/OL].(2004).http://www.xilinxchina.com/bvdocs/userguides/ppc_ref_guide.pdf. 

[5]Xilinx Corp. Embedded development kit (EDK) reference guide[EB/OL].(2004).http://www.xilinxchina.com/ise/embedded/edk_docs.htm. 

[6]Xilinx Corp. LogiCORE PCI version 3.0 user guide[EB/OL].(2004).http://www.xilinx.com/products/logicore/pci/docs/pci_ug159.pdf. 

[7]王誠,薛小剛,鐘信潮. FPGA/CPLD設計工具——Xilinx ISE 5.x使用詳解[M]. 北京:人民郵電出版社,2003:281-289.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 久久久久人妻精品一区三寸蜜桃| 国产色爱av资源综合区| 69视频国产| 午夜啪啪网| 先锋资源久久| 欧美日韩动态图| 一级毛片在线免费视频| 热99re99首页精品亚洲五月天| 国产呦精品一区二区三区下载| 亚洲精品爱草草视频在线| 毛片一级在线| 成人伊人色一区二区三区| 精品国产91爱| 亚洲天堂视频网站| 91福利免费| 日韩毛片免费视频| 67194在线午夜亚洲| 久久久久久久久18禁秘| a毛片在线免费观看| 欧美国产综合视频| 国产网友愉拍精品| 免费观看三级毛片| 色悠久久综合| 欧美成在线视频| 欧美日本在线观看| 国产原创演绎剧情有字幕的| 亚洲国产AV无码综合原创| 91青青草视频| 青草午夜精品视频在线观看| 亚洲综合九九| 亚洲欧美自拍一区| 精品人妻一区无码视频| 久草视频中文| AV天堂资源福利在线观看| 国产尤物jk自慰制服喷水| 成人91在线| 欧美国产精品拍自| 日本手机在线视频| 欧美亚洲一二三区| 亚洲另类色| 日韩国产精品无码一区二区三区| 一边摸一边做爽的视频17国产 | 亚洲毛片一级带毛片基地| 亚洲欧美极品| 色天天综合久久久久综合片| 日本91在线| 青草视频免费在线观看| 成人精品亚洲| 五月婷婷导航| 毛片国产精品完整版| 怡春院欧美一区二区三区免费| 免费人成网站在线观看欧美| 亚洲成人www| www.日韩三级| 色婷婷天天综合在线| 亚洲专区一区二区在线观看| 国产精品手机在线播放| 成人一区在线| 亚洲A∨无码精品午夜在线观看| 亚洲欧美自拍中文| 88av在线| 久久久久国产精品嫩草影院| 亚洲自拍另类| 亚洲第一中文字幕| 91国内在线观看| 四虎精品黑人视频| 久久精品最新免费国产成人| 伊人狠狠丁香婷婷综合色| 日韩精品久久无码中文字幕色欲| 一本大道香蕉中文日本不卡高清二区 | 98超碰在线观看| 毛片手机在线看| 欧美全免费aaaaaa特黄在线| 99re66精品视频在线观看| 亚洲欧美另类视频| 国产自视频| 亚洲V日韩V无码一区二区| 国产亚洲精品97在线观看| 国产精品欧美亚洲韩国日本不卡| 亚洲视频四区| 国产精品无码AV中文| 老司机午夜精品视频你懂的|