利用APTIX MP3C和Spartan-IIE FPGA實(shí)現(xiàn)數(shù)據(jù)系統(tǒng)的驗(yàn)證
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:隨著數(shù)字電路設(shè)計(jì)的規(guī)模及復(fù)雜程度的提高,對(duì)其進(jìn)行測(cè)試試驗(yàn)證所花費(fèi)的時(shí)間和費(fèi)用也隨之提高,所以減少測(cè)試驗(yàn)證成本是當(dāng)前數(shù)字電路設(shè)計(jì)的關(guān)鍵。本文利用MP3C和Spartan-IIE FPGA構(gòu)建平臺(tái)來實(shí)現(xiàn)數(shù)字系統(tǒng)的快速驗(yàn)證。這二款設(shè)備都具有業(yè)界價(jià)格最低、驗(yàn)證速度比較快的特點(diǎn),利用它們可以大大提高驗(yàn)證效益。
關(guān)鍵詞:集成電路 MP3C FPGA 網(wǎng)表文件
1 APTIX MP3C介紹
MP3C系統(tǒng)是Aptix公司的產(chǎn)品,是一種價(jià)格低、驗(yàn)證速度快、基于層次化和模塊化的硬件驗(yàn)證平臺(tái),可以逐步驗(yàn)證每一個(gè)邏輯模塊直到驗(yàn)證整個(gè)系統(tǒng)功能。MP3C硬件中的現(xiàn)場(chǎng)可編程互連電路板(FPCB)和現(xiàn)場(chǎng)可編程互連元件(FPIC)是Aptix公司的專利技術(shù),圖1給出了FPCB和FPIC在MP3C上的部件孔模塊。通過該系統(tǒng)可以40MHz的最快速度調(diào)試百萬門級(jí)的片上系統(tǒng);可實(shí)時(shí)運(yùn)行軟件作為系統(tǒng)測(cè)試矢量;加速仿真與遞歸測(cè)試速度和加速完成設(shè)計(jì)變更;還可隨時(shí)利用最新FPGA技術(shù)滿足更大的設(shè)計(jì)規(guī)模需要。此外,MP3C也可以對(duì)復(fù)雜數(shù)字系統(tǒng)進(jìn)行快速驗(yàn)證,其中包括ASIC、DSP、微控制器、微處理器、RAM和ROM等。MP3C系統(tǒng)比較適合小批量、多品種的生產(chǎn)。
1.1 現(xiàn)場(chǎng)可編程電路板FPCB
MP3C的FPCB是一個(gè)22×16、16層的插孔板,根據(jù)應(yīng)用和設(shè)計(jì)需求,可以把一些外圍器件、接口和多個(gè)FPGA等放置在FPCB上,就像面包板一樣,因此非常靈活方便,這些外圍部件再通過FPIC互相連接起來。MP3C FPCB由許多硬件組成。
(1)插孔區(qū)(freehole area)
插孔區(qū)分為上下二部分,分別用A到P標(biāo)記,共64列,每列有40個(gè)可用插孔,有2560個(gè)插孔可以使用,除去16列作為I/O,共有1920個(gè)插孔連接到FPIC上。每列有15個(gè)FPGA特殊引腳,包括CLK、GDN和VCC等。
(2)全局互連(global interconnects)
全局連接是FPIC到FPIC的布線源,3個(gè)FPIC中每一個(gè)都有140根連線連接到其他兩個(gè)FPIC,這樣就會(huì)提供280個(gè)FPIC到FPIC之間的連接,而每一個(gè)FPIC的920個(gè)布線網(wǎng)中有280個(gè)用于FPIC到FPIC之間的連接,其余640個(gè)用于連接FPCB上的部件插孔區(qū)域,這樣就可以實(shí)現(xiàn)部件之間的互連,如圖2所示。
(3)總線(bus)
除了通過FPIC的布線網(wǎng)和全局連接來實(shí)現(xiàn)部件之間的互連外,還可以通過MP3C提供的一個(gè)總線結(jié)構(gòu)來實(shí)現(xiàn)互連。MP3C系統(tǒng)共有4個(gè)總線模板連接器,每一個(gè)模板連接器有40個(gè)總線引腳,而一個(gè)FPGA能夠訪問二個(gè)總線模板,這就可以獲得80個(gè)總線引腳。
(4)I/O信號(hào)
I/O信號(hào)使得MP3C FPCB可以和其他設(shè)備之間進(jìn)行通信,它們是進(jìn)出FPCB的信號(hào)。(5)微控制器(microcontroller)
微控制器能為主機(jī)系統(tǒng)和MP3C FPCB上的可重配置FPGA之間的通信提供智能接口,微控制器控制FPCB上的能量時(shí)序。微控制器的操作系統(tǒng)是存儲(chǔ)在被保護(hù)的Flash memory的根塊區(qū),僅需128kByte,這個(gè)3.4Mbyte的Flash存儲(chǔ)器主要用來存儲(chǔ)FPIC和FPGA之間的配置數(shù)據(jù)。
(6)現(xiàn)場(chǎng)可編程互連電路(FPIC)
MP3C含有3塊FPIC,每一塊FPIC有1024個(gè)緩沖器,排列成一個(gè)32×32矩陣形式,F(xiàn)PIC是可重構(gòu)的雙向連接,每一個(gè)緩沖器之間都可以任意布線,使得插接到FPCB上的外圍設(shè)備達(dá)到互連,而每一個(gè)FPIC之間都有140根連線連接到另二個(gè)FPIC中的任意一個(gè),這樣,對(duì)于每一個(gè)FPIC來說就有280根互連線來實(shí)現(xiàn)FPIC與FPIC之間的互連。實(shí)際上,F(xiàn)PIC就是一個(gè)由軟件控制的可編程接口,它能使用戶對(duì)設(shè)計(jì)的修改變得非常靈活。圖2表明了它們之間的連接關(guān)系。
1.2 與MP3C配套的EXPLORER軟件
Aptix Explorer軟件可以提供一個(gè)圖形用戶接口GUI(Graphical User Interface),這上GUI能夠生成設(shè)計(jì),并對(duì)設(shè)計(jì)進(jìn)行編輯和調(diào)試。通過Explorer軟件可以提供一個(gè)直觀有效的接口來對(duì)設(shè)計(jì)做一系列的操作。EXPLORER軟件主要完成整個(gè)系統(tǒng)的搭建、FPGA的布局布線和FPCB的編譯。其操作步驟如下:
(1)設(shè)置FPCB參數(shù)
用來配置FPCB參數(shù),如說明所使用的FPCB板類型、FPIC序列和說明使用的是那一個(gè)FPIC等。
(2)對(duì)網(wǎng)表文件(netlist)和設(shè)計(jì)文件進(jìn)行設(shè)置。
主要輸入網(wǎng)表文件和與設(shè)計(jì)有關(guān)的文件,Explorer軟件支持EDIF和XNF格式的網(wǎng)表文件。
(3)設(shè)置Power和Ground
主要是為了說明在部件和針插孔上的Power和Ground引腳是被拉高還是拉低。
(4)設(shè)計(jì)節(jié)點(diǎn)(net)/終端特征
主要設(shè)置節(jié)點(diǎn)驅(qū)動(dòng)值,其值的范圍為0~100,驅(qū)動(dòng)值的大小決定了節(jié)點(diǎn)在FPIC內(nèi)部的布線順序。驅(qū)動(dòng)值越大就越先布線,因此,可以優(yōu)先選擇最短的路徑。
(5)在FPCB上放置部件
把數(shù)字系統(tǒng)設(shè)計(jì)中的模塊放到FPCB上。
(6)對(duì)設(shè)計(jì)進(jìn)行編譯
編譯可以使被仿真的部件之間實(shí)現(xiàn)布線連接,還能控制Explorer軟件和FPCB硬件之間的互連。
(7)對(duì)設(shè)計(jì)進(jìn)行調(diào)試
這是幫助下載帶有新信號(hào)布線信息的FPCB信息到MP3C硬件上的過程,做完這一步就可以對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證、測(cè)試和調(diào)試。
2 Spartan-IIE FPGA
2.1 Spartan-IIE FPGA的組成
Spartan-IIE FPGA提供了創(chuàng)建成本優(yōu)化、應(yīng)用靈活、功能豐富的產(chǎn)品所需要的一切,它的開發(fā)過程遠(yuǎn)比任何采用ASIC的方案要容易得多(成本也更低)。該系統(tǒng)板主要包括兩個(gè)時(shí)鐘源、通用I/O、電源供給、P160擴(kuò)展槽、LVD 10位接收和傳輸端口、開關(guān)按鈕、7段顯示器、JTAG端口、RS-232端口、ISP PROM和XC2S300E-5FG456C FPGA等。其中XC2S300E-5FG456C FPGA和ISP PROM是比較重要的部件。圖3是Spartan-IIE開發(fā)板內(nèi)部結(jié)構(gòu)。
2.2 FPGA與PC連接
用Spartan-IIE開發(fā)板來配置Spartan-IIE FPGA的方法有很多:可以通過其JTAG端口直接配置Spartan-IIE FPGA;通過編程在板XC18V02 ISP PROM進(jìn)行配置,一旦ISP PROM被編程,通過配置端口就能直接配置Spartan-IIE FPGA;也可以通過在系統(tǒng)板上的從動(dòng)并行/串行端口來配置FPGA。圖4給出Spartan-IIE開發(fā)板支持的Spartan-IIE FPGA配置連接模式。
3 驗(yàn)證系統(tǒng)
用APTIX MP3C和Spartan-IIE開發(fā)板實(shí)現(xiàn)對(duì)數(shù)字系統(tǒng)進(jìn)行驗(yàn)證的系統(tǒng)組成如圖5所示。
在這個(gè)驗(yàn)證系統(tǒng)中,把需要驗(yàn)證的電路放到MP3C FPCB上,Spartan-IIE開發(fā)板通過J6或J7通過I/O口連接到FPCB硬件,Spartan-IIE開發(fā)板通過串口/并口號(hào)計(jì)算機(jī)相連,工作站通過網(wǎng)線與MP3C通信,也可以把邏輯分析儀連接到MP3C上,實(shí)現(xiàn)對(duì)系統(tǒng)的在線觀察調(diào)試。具體驗(yàn)證步驟如下:
(1)用51指令對(duì)待驗(yàn)證電路需要的輸入信號(hào)和激勵(lì)進(jìn)行編程,程序經(jīng)編譯后轉(zhuǎn)換成匯編語(yǔ)言,然后寫入R80515 IP核以便下載到Spartan-IIE FPGA,d Xilinx ISE軟件中對(duì)IP核進(jìn)行仿真和綜合后直接通過并口下載到FPGA中。
(2)用CAD軟件如OrCAD等完成系統(tǒng)頂層原理圖的繪制,需注意其中的接地和電源信號(hào),然后生成網(wǎng)表文件(netlist),把網(wǎng)表文件傳到安裝了EXPLORER軟件的工作站上。
(3)在工作站的EXPLORER軟件上完成整個(gè)系統(tǒng)的搭建、MP3C相關(guān)參數(shù)的設(shè)置、輸入網(wǎng)表文件、生成引腳匹配(pinmap)文件和完成MP3C地址設(shè)定等,如果在EXPLORER syslib庫(kù)中沒有所需要的庫(kù),還要自己建庫(kù),然后就可以進(jìn)行編譯和調(diào)試。
(4)用邏輯分析儀或示波器對(duì)某些信號(hào)進(jìn)行觀察,以便進(jìn)一步查錯(cuò)和糾錯(cuò)。這種方法可以很方便地幫助用戶找到出錯(cuò)的原因。
(5)把驗(yàn)證電路最后輸出的結(jié)果暫存于Spartan-IIE的存儲(chǔ)器中,然后利用串口調(diào)試程序在微機(jī)上察看結(jié)果。目前有很多串口調(diào)試程序,如RS-232/RS-485串口通訊程序XP就是一個(gè)比較好的程序,如果輸出的結(jié)果不正確,就需要檢查錯(cuò)誤原因,錯(cuò)誤有可能在硬件方面,也有可能在軟件方面,修改之后回到第一步重新進(jìn)行驗(yàn)證。
4 結(jié)束語(yǔ)
筆者用這種方法成功實(shí)現(xiàn)了對(duì)一個(gè)復(fù)雜FFT電路的驗(yàn)證。MP3C最具特色的地方就是可編程互連電路板(FPCB)和可編程互連元件(FPIC)的應(yīng)用,F(xiàn)PIC在FPGA模塊之間提供可編程互連使得在整個(gè)設(shè)計(jì)過程中不用對(duì)PCB板進(jìn)行設(shè)計(jì)和生產(chǎn),從而節(jié)省了費(fèi)用;在FPGA上實(shí)現(xiàn)了數(shù)字系統(tǒng)的設(shè)計(jì),允許將FPGA直接安裝到主板上,可以隨著設(shè)計(jì)FPGA的設(shè)計(jì)程序重新編制,無需修改其他FPGA,并且可隨時(shí)利用最新FPGA技術(shù)滿足更大規(guī)模的設(shè)計(jì),因此大大增加了設(shè)計(jì)的靈活性和方便性;還可以對(duì)系統(tǒng)進(jìn)行在線實(shí)時(shí)修改、調(diào)試,方便快捷。MP3C的這些特點(diǎn)大大提高了IC驗(yàn)證的效益。