<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > 基于IP模塊的PCI接口設計及FPGA實(shí)現

基于IP模塊的PCI接口設計及FPGA實(shí)現

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

局部總線(xiàn)不僅是目前最新的計算機總線(xiàn),而且是一種兼容性最強、功能最全的計算機總線(xiàn)。它可同時(shí)支持多組外圍設備,而且不受制于處理器,為CPU及高速外圍設備提供高性能、高吞吐量、低延遲的數據通路。圖形用戶(hù)界面(GUI)、高清晰度電視(HDTV)、三維視頻多媒體顯示等新技術(shù)的發(fā)展以及高速通訊系統的廣泛需求使具有良好的應用前景。針對這種趨勢,國外許多芯片廠(chǎng)家設計生產(chǎn)了各種各樣的專(zhuān)用集成電路。

本文引用地址:http://dyxdggzs.com/article/189864.htm

目前國內系統廠(chǎng)家的PCI總線(xiàn)接口一般采用國外的PCI專(zhuān)用芯片,如TUNDRA公司的Qspan、PLX公司9050、INTEL公司的21554等,但是這些專(zhuān)用芯片價(jià)格昂貴、功能繁雜、不能靈活配置、不利于系統的升級優(yōu)化,難于應用。為此,各大廠(chǎng)商紛紛推出基于各自可編程邏輯器件結構與工藝的PCI (軟核、固核或硬核)。 Xilinx,Altera,Actel及QuickLogic等公司的PCI核在國內都有廣泛應用,它們各有特色,總體而言,Xilinx的PCI Core是含有布局布線(xiàn)信息的HDL門(mén)級網(wǎng)表格式,便于VHDL方法設計及第三方EDA軟件環(huán)境下的仿真驗證;Altera的PCI Core為AHDL格式,通過(guò)ACF文件提供布局布線(xiàn)時(shí)的約束,其用戶(hù)側的信號數量較少,功能簡(jiǎn)單,便于實(shí)現;Actel及QuickLogic公司的反熔絲結構,使其可編程芯片在速度與性能上有一定的優(yōu)勢,但PCI核的功能則相對較弱。

根據VoIP、CDMA等先進(jìn)的通訊系統對PCI總線(xiàn)接口的實(shí)際需求,我們通過(guò)評估比較,決定采用Altera公司的64位66MHz PCI Core,在VERIBEST及MAXPLUSII NT設計平臺上,針對目標器件FLEX10K 100E,利用VHDL硬件描述語(yǔ)言,設計了PCI總線(xiàn)到摩托羅拉CPU的橋接芯片。該芯片介于PCI總線(xiàn)與摩托羅拉CPU之間,提供兩種總線(xiàn)間的地址轉換,命令譯碼,數據緩沖與傳輸,即插即用的配置,為系統的高速數據傳輸提供無(wú)縫的接口。

1. 設計輸入

設計輸入包括VHDL代碼設計及功能仿真。在進(jìn)行設計之前,先對系統劃分功能模塊,最頂層例化兩個(gè)模塊:Altera的PCI Core和用戶(hù)側邏輯。用戶(hù)側邏輯根據功能再進(jìn)一步細化。VHDL的結構化特點(diǎn)非常便于層次化設計,每個(gè)工程師負責完成功能相對獨立的各子模塊設計仿真,最后進(jìn)行整體的功能仿真。進(jìn)行整體功能仿真前,先要提取PCI Core的功能仿真模型,在MAXPLUSⅡ環(huán)境下,按照系統要求配置PCI Core的相關(guān)參數,然后對其進(jìn)行編譯及布局布線(xiàn),此時(shí)不必產(chǎn)生ACF文件。為能輸出用于VERIBEST環(huán)境下仿真的VHDL網(wǎng)表,編譯時(shí)需要選擇INTERFACE菜單下VHDL NETLIST WRITER??紤]到綜合后可能要作帶門(mén)級延時(shí)的仿真,編譯時(shí)最好產(chǎn)生SDF標準延時(shí)文件,在INTERFACE菜單下VHDL OUTPUT FILE[.VHO](WRITE DELAY CONSTRUCTS TO一欄中)。完成以上關(guān)鍵設置后,通過(guò)編譯即可得到PCI Core帶延時(shí)的VHDL網(wǎng)表文件。通過(guò)相同的操作可得到用戶(hù)側邏輯模塊中例化的其他Altera的MegaCore子模塊。

用戶(hù)側邏輯模塊與PCI Core互連時(shí),需要注意一些關(guān)鍵問(wèn)題。PCI Core支持PCI主/從工作模式,其用戶(hù)側主/從模式信號是分開(kāi)的,在PCI Core處于一種工作模式時(shí),另一種模式的信號必需處于確定的無(wú)效態(tài),不能處于懸浮態(tài)或高阻態(tài)。用戶(hù)側邏輯模塊內部應避免使用三態(tài)信號,為便于控制與調試,應采用狀態(tài)機設計。對于PCI 時(shí)鐘與CPU時(shí)鐘間的交互使用,應采用握手信號實(shí)現。

功能仿真在VERIBEST99 DESIGNVIEW環(huán)境下進(jìn)行。仿真時(shí)首先要對PCI Core進(jìn)行配置訪(fǎng)問(wèn),配置PCI Core內部配置寄存器的相應位。

2. 設計實(shí)現

設計實(shí)現包括邏輯綜合及布局布線(xiàn)。功能仿真完成后,下一步為用戶(hù)邏輯的綜合。VERIBEST 支持兩種 FPGA 綜合器;FPGA EXPRESS 和 SYNPLIFY。FPGA EXPRESS操作簡(jiǎn)單,界面清晰,綜合效率好,但其SCHEMATIC VIEW功能較差,所生成的原理圖晦澀難懂,不利于深入的時(shí)序分析。SYNPLIFY提供了RTL VIEW和TECHNOLOGY VIEW兩種原理圖,有利于關(guān)鍵路徑的尋找和分析,它還提供了許多功能強大的屬性參數,但同時(shí)也增加了軟件使用的復雜性。

VHDL語(yǔ)言中例化的FPGA (PCI核,雙端口RAM等)應該不參與邏輯綜合,可以在VHDL源碼中加入FPGA EXPRESS的綜合開(kāi)關(guān)-RPAGMA SYNTHESIS_OFF或SYPLIFY的綜合開(kāi)關(guān)-SYNTHESIS TRANSLATE_OFF實(shí)現,也可以將FPGA 的VHDL網(wǎng)表文件從綜合文件列表中刪除。

邏輯綜合時(shí)應該分模塊進(jìn)行,找出各子模塊內部的關(guān)鍵路徑,通過(guò)修改設計,優(yōu)化數據通路,最后進(jìn)行頂層的綜合。頂層綜合時(shí)最好保留設計層次。對于各模塊間的關(guān)聯(lián)信號,由于它們一般經(jīng)過(guò)多級查找表,造成延時(shí)較大,應利用流水線(xiàn)技術(shù)在這些關(guān)鍵路徑上加入適當數量的觸發(fā)器,減小 時(shí)延。軟件上的一些設置也有利于提高綜合后電路的頻率,如狀態(tài)機采用ONE HOT編碼,減小FANOUT數量,屏蔽操作數共享功能等。通過(guò)上述方法,我們的設計綜合后電路的頻率從38MHz提升到63MHz。

綜合完成后可生成用于MAXPLUSⅡ環(huán)境下布局布線(xiàn)的EDIF文件,如要作門(mén)級仿真,也可同時(shí)生成帶延時(shí)的VHDL網(wǎng)表文件。在MAX-PLUSⅡ中調入EDIF文件后,設置ASSIGN菜單下相關(guān)參數并指明PCI Core的庫路徑。編譯EDIF文件時(shí)要設置EDIF NETLIST READER為SYNOPSYS或SYNPLIFY。第一次布局布線(xiàn),最好不要加入ACF文件。完成后,按要求生成PCI Core的ACF文件并放在工作目錄下,加入自己的約束條件,然后進(jìn)行第二次布局布線(xiàn),此時(shí)應設置產(chǎn)生用于VERIBEST進(jìn)行功能驗證的VHDL網(wǎng)表文件。布局布線(xiàn)后,進(jìn)行時(shí)間參數分析。我們的設計結果PCI時(shí)鐘為30MHz,CPU時(shí)鐘為57MHz。

3. 設計驗證

設計驗證包括靜態(tài)時(shí)序分析,功能驗證及板級驗證。靜態(tài)時(shí)序分析用于分析建立/保持時(shí)間,時(shí)鐘到輸出時(shí)間等時(shí)間參數是否滿(mǎn)足PCI規范。33MHz、32位的PCI規范要求建立時(shí)間小于7ns,保持時(shí)間為0ns,時(shí)鐘到輸出時(shí)間小于11ns,分析時(shí)必需考慮觸發(fā)器的影響,對關(guān)鍵路徑加以細致入微的計算。MAXPLUSⅡ提供了比較好的靜態(tài)時(shí)序分析功能,設計工程師負責設置并分配時(shí)間參數,軟件計算后給出分析結果,如果不滿(mǎn)足要求,可在重新布局布線(xiàn)時(shí)加上相關(guān)約束條件。時(shí)序分析結束后,還需進(jìn)行功能驗證,在VERIBEST環(huán)境下對布局布線(xiàn)后生成的VHDL網(wǎng)表仿真,此時(shí)應選擇OPEN POST_LAYOUT SIMULATOR進(jìn)入仿真器。VERIBEST會(huì )自動(dòng)生成VHDL格式的端口映射文件,并自動(dòng)關(guān)聯(lián)SDF文件,用戶(hù)無(wú)需額外設置。此時(shí)的功能仿真,調試相對較難,信號間關(guān)聯(lián)關(guān)系可通過(guò)VHDL網(wǎng)表文件查詢(xún)。

基于PCI Core的FPGA設計的板級驗證可考慮采用Altera公司提供的PCI通用開(kāi)發(fā)板,該板支持Altera所有的PCI MegaCore模塊,用戶(hù)可通過(guò)板上的SDRAM,PMC插槽,RS232端口實(shí)現用戶(hù)邏輯與PCI Core的接口,也可以利用板上PROTOTYPE區實(shí)現用戶(hù)邏輯的功能。PCI開(kāi)發(fā)板演示軟件可以顯示數據傳輸速率,也可用于調試,配置PCI Core。

基于IP模塊的PCI設計為用戶(hù)在FPGA目標器件上實(shí)現PCI接口提供了一種有效的途徑,設計工程師可以將主要精力集中于非PCI部分,通過(guò)將FPGA廠(chǎng)商提供的IP模塊與原理圖、狀態(tài)機及HDL語(yǔ)言等設計方法有機的結合,采用層次化結構,在功能強大的EDA軟件環(huán)境下,于較短的時(shí)間內完成復雜電子系統的設計。



關(guān)鍵詞: FPGA PCI IP模塊 接口設計

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>