基于IP模塊的PCI接口設(shè)計(jì)及FPGA實(shí)現(xiàn)
出處:lazydoggy 發(fā)布于:2007-12-21 15:36:41
目前國(guó)內(nèi)系統(tǒng)廠家的PCI總線接口一般采用國(guó)外的PCI專用芯片,如TUNDRA公司的Qspan、PLX公司9050、INTEL公司的21554等,但是這些專用芯片價(jià)格昂貴、功能繁雜、不能靈活配置、不利于系統(tǒng)的升級(jí)優(yōu)化,難于應(yīng)用。為此,各大FPGA廠商紛紛推出基于各自可編程邏輯器件結(jié)構(gòu)與工藝的PCI IP模塊(軟核、固核或硬核)。 Xilinx,Altera,Actel及QuickLogic等公司的PCI核在國(guó)內(nèi)都有廣泛應(yīng)用,它們各有特色,總體而言,Xilinx的PCI Core是含有布局布線信息的HDL門級(jí)網(wǎng)表格式,便于VHDL方法設(shè)計(jì)及第三方EDA軟件環(huán)境下的仿真驗(yàn)證;Altera的PCI Core為AHDL格式,通過(guò)ACF文件提供布局布線時(shí)的約束,其用戶側(cè)的信號(hào)數(shù)量較少,功能簡(jiǎn)單,便于實(shí)現(xiàn);Actel及QuickLogic公司的反熔絲結(jié)構(gòu),使其可編程芯片在速度與性能上有一定的優(yōu)勢(shì),但PCI核的功能則相對(duì)較弱。
根據(jù)VoIP、CDMA等先進(jìn)的通訊系統(tǒng)對(duì)PCI總線接口的實(shí)際需求,我們通過(guò)評(píng)估比較,決定采用Altera公司的64位66MHz PCI Core,在VERIBEST及MAXPLUSII NT設(shè)計(jì)平臺(tái)上,針對(duì)目標(biāo)器件FLEX10K 100E,利用VHDL硬件描述語(yǔ)言,設(shè)計(jì)了PCI總線到摩托羅拉CPU的FPGA橋接芯片。該芯片介于PCI總線與摩托羅拉CPU之間,提供兩種總線間的地址轉(zhuǎn)換,命令譯碼,數(shù)據(jù)緩沖與傳輸,即插即用的配置,為系統(tǒng)的高速數(shù)據(jù)傳輸提供無(wú)縫的接口。
1. 設(shè)計(jì)輸入
設(shè)計(jì)輸入包括VHDL代碼設(shè)計(jì)及功能仿真。在進(jìn)行設(shè)計(jì)之前,先對(duì)系統(tǒng)劃分功能模塊,頂層例化兩個(gè)模塊:Altera的PCI Core和用戶側(cè)邏輯。用戶側(cè)邏輯根據(jù)功能再進(jìn)一步細(xì)化。VHDL的結(jié)構(gòu)化特點(diǎn)非常便于層次化設(shè)計(jì),每個(gè)工程師負(fù)責(zé)完成功能相對(duì)獨(dú)立的各子模塊設(shè)計(jì)仿真,進(jìn)行整體的功能仿真。進(jìn)行整體功能仿真前,先要提取PCI Core的功能仿真模型,在MAXPLUSⅡ環(huán)境下,按照系統(tǒng)要求配置PCI Core的相關(guān)參數(shù),然后對(duì)其進(jìn)行編譯及布局布線,此時(shí)不必產(chǎn)生ACF文件。為能輸出用于VERIBEST環(huán)境下仿真的VHDL網(wǎng)表,編譯時(shí)需要選擇INTERFACE菜單下VHDL NETLIST WRITER。考慮到綜合后可能要作帶門級(jí)延時(shí)的仿真,編譯時(shí)產(chǎn)生SDF標(biāo)準(zhǔn)延時(shí)文件,在INTERFACE菜單下VHDL OUTPUT FILE[.VHO](WRITE DELAY CONSTRUCTS TO一欄中)。完成以上關(guān)鍵設(shè)置后,通過(guò)編譯即可得到PCI Core帶延時(shí)的VHDL網(wǎng)表文件。通過(guò)相同的操作可得到用戶側(cè)邏輯模塊中例化的其他Altera的MegaCore子模塊。
用戶側(cè)邏輯模塊與PCI Core互連時(shí),需要注意一些關(guān)鍵問(wèn)題。PCI Core支持PCI主/從工作模式,其用戶側(cè)主/從模式信號(hào)是分開的,在PCI Core處于一種工作模式時(shí),另一種模式的信號(hào)必需處于確定的無(wú)效態(tài),不能處于懸浮態(tài)或高阻態(tài)。用戶側(cè)邏輯模塊內(nèi)部應(yīng)避免使用三態(tài)信號(hào),為便于控制與調(diào)試,應(yīng)采用狀態(tài)機(jī)設(shè)計(jì)。對(duì)于PCI 時(shí)鐘與CPU時(shí)鐘間的交互使用,應(yīng)采用握手信號(hào)實(shí)現(xiàn)。
功能仿真在VERIBEST99 FPGA DESIGNVIEW環(huán)境下進(jìn)行。仿真時(shí)首先要對(duì)PCI Core進(jìn)行配置訪問(wèn),配置PCI Core內(nèi)部配置寄存器的相應(yīng)位。
2. 設(shè)計(jì)實(shí)現(xiàn)
設(shè)計(jì)實(shí)現(xiàn)包括邏輯綜合及布局布線。功能仿真完成后,下一步為用戶邏輯的綜合。VERIBEST 支持兩種 FPGA 綜合器;FPGA EXPRESS 和 SYNPLIFY。FPGA EXPRESS操作簡(jiǎn)單,界面清晰,綜合效率好,但其SCHEMATIC VIEW功能較差,所生成的原理圖晦澀難懂,不利于深入的時(shí)序分析。SYNPLIFY提供了RTL VIEW和TECHNOLOGY VIEW兩種原理圖,有利于關(guān)鍵路徑的尋找和分析,它還提供了許多功能強(qiáng)大的屬性參數(shù),但同時(shí)也增加了軟件使用的復(fù)雜性。
VHDL語(yǔ)言中例化的FPGA IP模塊(PCI核,雙端口RAM等)應(yīng)該不參與邏輯綜合,可以在VHDL源碼中加入FPGA EXPRESS的綜合開關(guān)-RPAGMA SYNTHESIS_OFF或SYPLIFY的綜合開關(guān)-SYNTHESIS TRANSLATE_OFF實(shí)現(xiàn),也可以將FPGA IP模塊的VHDL網(wǎng)表文件從綜合文件列表中刪除。
邏輯綜合時(shí)應(yīng)該分模塊進(jìn)行,找出各子模塊內(nèi)部的關(guān)鍵路徑,通過(guò)修改設(shè)計(jì),優(yōu)化數(shù)據(jù)通路,進(jìn)行頂層的綜合。頂層綜合時(shí)保留設(shè)計(jì)層次。對(duì)于各模塊間的關(guān)聯(lián)信號(hào),由于它們一般經(jīng)過(guò)多級(jí)查找表,造成延時(shí)較大,應(yīng)利用流水線技術(shù)在這些關(guān)鍵路徑上加入適當(dāng)數(shù)量的觸發(fā)器,減小 時(shí)延。軟件上的一些設(shè)置也有利于提高綜合后電路的頻率,如狀態(tài)機(jī)采用ONE HOT編碼,減小FANOUT數(shù)量,屏蔽操作數(shù)共享功能等。通過(guò)上述方法,我們的設(shè)計(jì)綜合后電路的頻率從38MHz提升到63MHz。
綜合完成后可生成用于MAXPLUSⅡ環(huán)境下布局布線的EDIF文件,如要作門級(jí)仿真,也可同時(shí)生成帶延時(shí)的VHDL網(wǎng)表文件。在MAX-PLUSⅡ中調(diào)入EDIF文件后,設(shè)置ASSIGN菜單下相關(guān)參數(shù)并指明PCI Core的庫(kù)路徑。編譯EDIF文件時(shí)要設(shè)置EDIF NETLIST READER為SYNOPSYS或SYNPLIFY。次布局布線,不要加入ACF文件。完成后,按要求生成PCI Core的ACF文件并放在工作目錄下,加入自己的約束條件,然后進(jìn)行第二次布局布線,此時(shí)應(yīng)設(shè)置產(chǎn)生用于VERIBEST進(jìn)行功能驗(yàn)證的VHDL網(wǎng)表文件。布局布線后,進(jìn)行時(shí)間參數(shù)分析。我們的設(shè)計(jì)結(jié)果PCI時(shí)鐘為30MHz,CPU時(shí)鐘為57MHz。
3. 設(shè)計(jì)驗(yàn)證
設(shè)計(jì)驗(yàn)證包括靜態(tài)時(shí)序分析,功能驗(yàn)證及板級(jí)驗(yàn)證。靜態(tài)時(shí)序分析用于分析建立/保持時(shí)間,時(shí)鐘到輸出時(shí)間等時(shí)間參數(shù)是否滿足PCI規(guī)范。33MHz、32位的PCI規(guī)范要求建立時(shí)間小于7ns,保持時(shí)間為0ns,時(shí)鐘到輸出時(shí)間小于11ns,分析時(shí)必需考慮觸發(fā)器的影響,對(duì)關(guān)鍵路徑加以細(xì)致入微的計(jì)算。MAXPLUSⅡ提供了比較好的靜態(tài)時(shí)序分析功能,設(shè)計(jì)工程師負(fù)責(zé)設(shè)置并分配時(shí)間參數(shù),軟件計(jì)算后給出分析結(jié)果,如果不滿足要求,可在重新布局布線時(shí)加上相關(guān)約束條件。時(shí)序分析結(jié)束后,還需進(jìn)行功能驗(yàn)證,在VERIBEST環(huán)境下對(duì)布局布線后生成的VHDL網(wǎng)表仿真,此時(shí)應(yīng)選擇OPEN POST_LAYOUT SIMULATOR進(jìn)入仿真器。VERIBEST會(huì)自動(dòng)生成VHDL格式的端口映射文件,并自動(dòng)關(guān)聯(lián)SDF文件,用戶無(wú)需額外設(shè)置。此時(shí)的功能仿真,調(diào)試相對(duì)較難,信號(hào)間關(guān)聯(lián)關(guān)系可通過(guò)VHDL網(wǎng)表文件查詢。
基于PCI Core的FPGA設(shè)計(jì)的板級(jí)驗(yàn)證可考慮采用Altera公司提供的PCI通用開發(fā)板,該板支持Altera所有的PCI MegaCore模塊,用戶可通過(guò)板上的SDRAM,PMC插槽,RS232端口實(shí)現(xiàn)用戶邏輯與PCI Core的接口,也可以利用板上PROTOTYPE區(qū)實(shí)現(xiàn)用戶邏輯的功能。PCI開發(fā)板演示軟件可以顯示數(shù)據(jù)傳輸速率,也可用于調(diào)試,配置PCI Core。
基于IP模塊的PCI設(shè)計(jì)為用戶在FPGA目標(biāo)器件上實(shí)現(xiàn)PCI接口提供了一種有效的途徑,設(shè)計(jì)工程師可以將主要精力集中于非PCI部分,通過(guò)將FPGA廠商提供的IP模塊與原理圖、狀態(tài)機(jī)及HDL語(yǔ)言等設(shè)計(jì)方法有機(jī)的結(jié)合,采用層次化結(jié)構(gòu),在功能強(qiáng)大的EDA軟件環(huán)境下,于較短的時(shí)間內(nèi)完成復(fù)雜電子系統(tǒng)的設(shè)計(jì)。
參考文獻(xiàn):
[1]. PCI datasheet http://hbjingang.com/datasheet/PCI_1201469.html.
[2]. RS232 datasheet http://hbjingang.com/datasheet/RS232_585128.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問(wèn)題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- EDA技術(shù)工具鏈與全流程設(shè)計(jì)運(yùn)維指南2026/1/5 10:28:51
- PLC程序現(xiàn)場(chǎng)疑難問(wèn)題排查與深度優(yōu)化指南2025/12/24 14:36:36
- PLC程序現(xiàn)場(chǎng)調(diào)試與優(yōu)化實(shí)操指南2025/12/24 14:29:57
- 工業(yè)PLC模擬量信號(hào)采集:調(diào)理技術(shù)與抗干擾工程方案2025/12/15 14:39:08
- PLC設(shè)備如何選型2025/9/5 17:15:14
- 高速PCB阻抗控制核心實(shí)操規(guī)范
- 高速數(shù)字系統(tǒng)(如DDR、SerDes)中的信號(hào)完整性濾波
- MOSFET在UPS電源中的應(yīng)用解析
- 電源管理IC在物聯(lián)網(wǎng)設(shè)備中的應(yīng)用
- SMT連接器焊接缺陷分析
- MOSFET在汽車電子中的應(yīng)用要求
- 通信設(shè)備電源管理IC應(yīng)用解析
- 通信設(shè)備連接器選型與設(shè)計(jì)
- PCB電磁兼容性(EMC)設(shè)計(jì)核心實(shí)操規(guī)范
- 物聯(lián)網(wǎng)節(jié)點(diǎn)低功耗設(shè)計(jì):信號(hào)鏈中的濾波與功耗管理









