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






