文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)07-0056-02
隨著SoC設(shè)計(jì)復(fù)雜度的提高,驗(yàn)證所需時(shí)間已經(jīng)占到整個(gè)設(shè)計(jì)周期的70%以上,如何減少驗(yàn)證時(shí)間成為一個(gè)十分重要的問(wèn)題。GPS基帶芯片是一個(gè)典型的SoC,其主要功能模塊是相關(guān)器,用以實(shí)現(xiàn)GPS信號(hào)的解調(diào)和解擴(kuò)。相關(guān)器占據(jù)了基帶芯片中的大部分硬件資源,其仿真過(guò)程十分復(fù)雜且耗費(fèi)大量時(shí)間,因此僅僅依靠軟件仿真是不現(xiàn)實(shí)的。隨著FPGA的性能和容量不斷提高,基于FPGA的原型驗(yàn)證能夠減小開(kāi)發(fā)風(fēng)險(xiǎn),避免軟件仿真的缺點(diǎn),加快產(chǎn)品上市時(shí)間,并且能夠真實(shí)地反映硬件的特性。這些優(yōu)點(diǎn)使得基于FPGA的原型驗(yàn)證越來(lái)越多地被用于SoC系統(tǒng)的設(shè)計(jì)過(guò)程。
1 從ASIC到FPGA原型的移植
理論上,F(xiàn)PGA原型驗(yàn)證要與SoC的結(jié)構(gòu)保持高度一致,但是,由于A(yíng)SIC和FPGA結(jié)構(gòu)上的差異,導(dǎo)致從ASIC到FPGA的移植需要做出適當(dāng)?shù)恼{(diào)整。
首先,當(dāng)設(shè)計(jì)規(guī)模很大時(shí),單片的FPGA容量不足以容納整個(gè)設(shè)計(jì)規(guī)模,需要2個(gè)或多個(gè)FPGA芯片來(lái)實(shí)現(xiàn)整個(gè)驗(yàn)證系統(tǒng)。這時(shí),F(xiàn)PGA之間的布線(xiàn)延時(shí)給整個(gè)系統(tǒng)的時(shí)序要求帶來(lái)困難,尤其對(duì)于高性能的設(shè)計(jì)。其次,結(jié)構(gòu)上的差異導(dǎo)致的ASIC和FPGA IP模塊在時(shí)序上不兼容,需要額外的工作進(jìn)行時(shí)序轉(zhuǎn)換。再次,某些硬IP核無(wú)法移植到FPGA上,需要構(gòu)造適當(dāng)?shù)碾娐坊蛘咴黾油鈬o助電路。
2 GPS基帶系統(tǒng)架構(gòu)
整個(gè)GPS衛(wèi)星導(dǎo)航系統(tǒng)包括前端射頻部分和基帶部分。前端射頻部分完成信號(hào)接收、濾波、AD轉(zhuǎn)換等;基帶部分完成GPS信號(hào)的解調(diào)、解擴(kuò)、實(shí)現(xiàn)信號(hào)的跟蹤和捕獲。其系統(tǒng)框圖如圖1所示。
該衛(wèi)星導(dǎo)航基帶芯片基于ARM7TDMI構(gòu)建,擁有為捕獲跟蹤功能所設(shè)置的特殊硬件器件以及大量的常用外設(shè)。例如DMA、UART接口、SPI接口、GPIO、實(shí)時(shí)時(shí)鐘(RTC)等。256 KB的ROM和96 KB的SRAM用于存儲(chǔ)代碼和運(yùn)行程序以及中間數(shù)據(jù),并可外接FLASH進(jìn)行程序調(diào)試及下載。其基帶框圖如圖2所示。
3 FPGA驗(yàn)證平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)
FPGA驗(yàn)證平臺(tái)的結(jié)構(gòu)如圖3所示。
FPGA芯片采用Altera公司Stratix III系列的EP3SL-150F1152C3,ARM7CPU采用ARM7TDMI的驗(yàn)證測(cè)試芯片,ARM9芯片采用Samsung的S3C2410芯片。
由于A(yíng)RM7內(nèi)核無(wú)法移植,所以采用外接的ARM7TDMI測(cè)試芯片作為CPU,同時(shí)電路板上集成了一塊ARM9芯片。因此該平臺(tái)也可用于基于A(yíng)RM9內(nèi)核的SOC驗(yàn)證平臺(tái),并且板上預(yù)留的擴(kuò)展接口可以再接一塊ARM9芯片,可用于雙核的開(kāi)發(fā)。
基帶芯片其他部分都位于FPGA芯片中。編譯后的電路通過(guò)FPGA旁邊的JTAG接口下載到FPGA芯片中,通過(guò)ARM旁邊的JTAG接口進(jìn)行軟件下載和調(diào)試。軟件調(diào)試工具使用ADS1.2。信號(hào)可以通過(guò)RS232串口或者USB接口與上位機(jī)進(jìn)行通訊。
4 驗(yàn)證中的問(wèn)題分析和解決
從ASIC到FPGA的移植需要根據(jù)實(shí)際情況做一些調(diào)整。在該系統(tǒng)中,采用ARM7TDMI測(cè)試芯片的CPU時(shí)鐘由FPGA內(nèi)部產(chǎn)生,經(jīng)由電路板送到ARM7芯片,由于板級(jí)布線(xiàn)延時(shí),F(xiàn)PGA內(nèi)部時(shí)鐘和ARM7時(shí)鐘在相位上不再保持同步,由此造成時(shí)序混亂。因此,在FPGA輸出時(shí)鐘到ARM7之前要做相位調(diào)整,以補(bǔ)償在板級(jí)線(xiàn)路的延時(shí)。
FPGA驗(yàn)證也有不足之處。
首先,調(diào)試?yán)щy,由于EDA工具不夠完善,所以缺乏有效的調(diào)試手段。示波器和邏輯分析儀作為主要的調(diào)試工具,在問(wèn)題的定位上給驗(yàn)證人員提出了更高的要求;雖然目前的EDA軟件集成了內(nèi)部的在線(xiàn)邏輯分析儀,但是在使用上仍然有缺陷。協(xié)助調(diào)試方法主要有2種:(1)軟件仿真和硬件模擬結(jié)合,當(dāng)硬件調(diào)試很難對(duì)問(wèn)題定位時(shí),可以將代碼編譯成二進(jìn)制文件保存到ROM中,在軟件平臺(tái)上運(yùn)行程序,提高信號(hào)的可觀(guān)察性。(2)在基帶結(jié)構(gòu)中增加測(cè)試電路,對(duì)關(guān)鍵信號(hào)進(jìn)行監(jiān)視,當(dāng)出現(xiàn)問(wèn)題時(shí)可利用測(cè)試電路所保存的數(shù)據(jù)進(jìn)行分析。
其次,ASIC和FPGA結(jié)構(gòu)上的差異給驗(yàn)證工作帶來(lái)了額外的負(fù)擔(dān)。驗(yàn)證人員需要時(shí)刻保持ASIC和FPGA在版本上的一致性。原則上,ASIC上的任何的改動(dòng)都要精準(zhǔn)地反映在FPGA中,二者的一致性是相對(duì)的,驗(yàn)證人員需要做到心中有數(shù)。要做好二者的一致性,要對(duì)模塊進(jìn)行正確劃分。把從ASIC到FPGA需要調(diào)整的部分單獨(dú)劃分出來(lái)(不影響系統(tǒng)系能的前提下)。這樣,當(dāng)ASIC部分進(jìn)行代碼更新時(shí),只要不涉及到需要調(diào)整的部分,全部替換即可。這樣即節(jié)省了時(shí)間,又保證了二者的一致性。
再次,F(xiàn)PGA平臺(tái)運(yùn)行性能較差。在本系統(tǒng)中,CPU和AHB總線(xiàn)的時(shí)鐘可以穩(wěn)定運(yùn)行在100 MHz左右,但是,ARM7和FPGA之間布線(xiàn)延時(shí)造成ARM7最高運(yùn)行在32 MHz左右,否則就不能保證功能以及時(shí)序上的正確性。因此,F(xiàn)PGA原型驗(yàn)證在性能上要低于A(yíng)SIC平臺(tái)。采取的方式是:在A(yíng)RM7平臺(tái)上測(cè)試功能,在A(yíng)RM9平臺(tái)上測(cè)試性能。采用ARM9芯片時(shí),系統(tǒng)可以運(yùn)行在100 MHz左右,完全滿(mǎn)足系統(tǒng)整體性能的要求。板級(jí)系統(tǒng)的可擴(kuò)展性有助于解決在驗(yàn)證過(guò)程中的某些問(wèn)題。
經(jīng)過(guò)充分的驗(yàn)證,本系統(tǒng)實(shí)現(xiàn)了基于FPGA原型驗(yàn)證平臺(tái)的GPS基帶芯片的導(dǎo)航定位功能。
參考文獻(xiàn)
[1] ANTTI I.FPGA prototyping:untapping potential within the multimillion-gate system-on-chip design space,2005,133-136.
[2] LIN Yi Li,YOUNG Chung Ping,Alvin W.Y.Su,Versatile PC/FPGA-based verification/fast prototyping platform with multimedia Applications.IEEE Transactions on Instrumentation and Measurement,2007,56(6).
[3] HU Tsung Yu,CHEN Liang Bi,HUANG Ing-Jer.An efficient HW/SW integrated verification methodology for 3D Graphics SoC development.The 13th IEEE International Symposium on Consumer Electronics,2009.
[4] LINDA E.M,LUIS A.P,JEFFREY P.System-on-Chip design and implementation.IEEE Transactions on Education,2009.
[5] 張開(kāi)明,王新安,張國(guó)新,等.WLAN SoC芯片BX501的FPGA驗(yàn)證平臺(tái)設(shè)計(jì)與實(shí)現(xiàn).微電子學(xué)與計(jì)算機(jī),2006,23(1):97-102.
[6] 竇建華,孫強(qiáng),陸俊峰.基于JTAG和FPGA的嵌入式SoC驗(yàn)證系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).合肥工業(yè)大學(xué)學(xué)報(bào),2009,32(3):336~339.