文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2010)07-0056-02
隨著SoC設(shè)計(jì)復(fù)雜度的提高,,驗(yàn)證所需時間已經(jīng)占到整個設(shè)計(jì)周期的70%以上,,如何減少驗(yàn)證時間成為一個十分重要的問題。GPS基帶芯片是一個典型的SoC,,其主要功能模塊是相關(guān)器,,用以實(shí)現(xiàn)GPS信號的解調(diào)和解擴(kuò)。相關(guān)器占據(jù)了基帶芯片中的大部分硬件資源,,其仿真過程十分復(fù)雜且耗費(fèi)大量時間,,因此僅僅依靠軟件仿真是不現(xiàn)實(shí)的。隨著FPGA的性能和容量不斷提高,,基于FPGA的原型驗(yàn)證能夠減小開發(fā)風(fēng)險(xiǎn),,避免軟件仿真的缺點(diǎn),加快產(chǎn)品上市時間,并且能夠真實(shí)地反映硬件的特性,。這些優(yōu)點(diǎn)使得基于FPGA的原型驗(yàn)證越來越多地被用于SoC系統(tǒng)的設(shè)計(jì)過程,。
1 從ASIC到FPGA原型的移植
理論上,F(xiàn)PGA原型驗(yàn)證要與SoC的結(jié)構(gòu)保持高度一致,,但是,,由于ASIC和FPGA結(jié)構(gòu)上的差異,導(dǎo)致從ASIC到FPGA的移植需要做出適當(dāng)?shù)恼{(diào)整,。
首先,,當(dāng)設(shè)計(jì)規(guī)模很大時,單片的FPGA容量不足以容納整個設(shè)計(jì)規(guī)模,,需要2個或多個FPGA芯片來實(shí)現(xiàn)整個驗(yàn)證系統(tǒng),。這時,F(xiàn)PGA之間的布線延時給整個系統(tǒng)的時序要求帶來困難,,尤其對于高性能的設(shè)計(jì),。其次,結(jié)構(gòu)上的差異導(dǎo)致的ASIC和FPGA IP模塊在時序上不兼容,,需要額外的工作進(jìn)行時序轉(zhuǎn)換,。再次,某些硬IP核無法移植到FPGA上,,需要構(gòu)造適當(dāng)?shù)碾娐坊蛘咴黾油鈬o助電路,。
2 GPS基帶系統(tǒng)架構(gòu)
整個GPS衛(wèi)星導(dǎo)航系統(tǒng)包括前端射頻部分和基帶部分。前端射頻部分完成信號接收,、濾波,、AD轉(zhuǎn)換等;基帶部分完成GPS信號的解調(diào),、解擴(kuò),、實(shí)現(xiàn)信號的跟蹤和捕獲。其系統(tǒng)框圖如圖1所示,。
該衛(wèi)星導(dǎo)航基帶芯片基于ARM7TDMI構(gòu)建,,擁有為捕獲跟蹤功能所設(shè)置的特殊硬件器件以及大量的常用外設(shè)。例如DMA,、UART接口,、SPI接口、GPIO,、實(shí)時時鐘(RTC)等,。256 KB的ROM和96 KB的SRAM用于存儲代碼和運(yùn)行程序以及中間數(shù)據(jù),并可外接FLASH進(jìn)行程序調(diào)試及下載,。其基帶框圖如圖2所示,。
3 FPGA驗(yàn)證平臺設(shè)計(jì)和實(shí)現(xiàn)
FPGA驗(yàn)證平臺的結(jié)構(gòu)如圖3所示,。
FPGA芯片采用Altera公司Stratix III系列的EP3SL-150F1152C3,ARM7CPU采用ARM7TDMI的驗(yàn)證測試芯片,,ARM9芯片采用Samsung的S3C2410芯片,。
由于ARM7內(nèi)核無法移植,所以采用外接的ARM7TDMI測試芯片作為CPU,,同時電路板上集成了一塊ARM9芯片,。因此該平臺也可用于基于ARM9內(nèi)核的SOC驗(yàn)證平臺,并且板上預(yù)留的擴(kuò)展接口可以再接一塊ARM9芯片,,可用于雙核的開發(fā),。
基帶芯片其他部分都位于FPGA芯片中。編譯后的電路通過FPGA旁邊的JTAG接口下載到FPGA芯片中,,通過ARM旁邊的JTAG接口進(jìn)行軟件下載和調(diào)試,。軟件調(diào)試工具使用ADS1.2。信號可以通過RS232串口或者USB接口與上位機(jī)進(jìn)行通訊,。
4 驗(yàn)證中的問題分析和解決
從ASIC到FPGA的移植需要根據(jù)實(shí)際情況做一些調(diào)整,。在該系統(tǒng)中,采用ARM7TDMI測試芯片的CPU時鐘由FPGA內(nèi)部產(chǎn)生,,經(jīng)由電路板送到ARM7芯片,由于板級布線延時,,F(xiàn)PGA內(nèi)部時鐘和ARM7時鐘在相位上不再保持同步,,由此造成時序混亂。因此,,在FPGA輸出時鐘到ARM7之前要做相位調(diào)整,,以補(bǔ)償在板級線路的延時。
FPGA驗(yàn)證也有不足之處,。
首先,,調(diào)試?yán)щy,由于EDA工具不夠完善,,所以缺乏有效的調(diào)試手段,。示波器和邏輯分析儀作為主要的調(diào)試工具,在問題的定位上給驗(yàn)證人員提出了更高的要求,;雖然目前的EDA軟件集成了內(nèi)部的在線邏輯分析儀,,但是在使用上仍然有缺陷。協(xié)助調(diào)試方法主要有2種:(1)軟件仿真和硬件模擬結(jié)合,,當(dāng)硬件調(diào)試很難對問題定位時,,可以將代碼編譯成二進(jìn)制文件保存到ROM中,在軟件平臺上運(yùn)行程序,,提高信號的可觀察性,。(2)在基帶結(jié)構(gòu)中增加測試電路,,對關(guān)鍵信號進(jìn)行監(jiān)視,當(dāng)出現(xiàn)問題時可利用測試電路所保存的數(shù)據(jù)進(jìn)行分析,。
其次,,ASIC和FPGA結(jié)構(gòu)上的差異給驗(yàn)證工作帶來了額外的負(fù)擔(dān)。驗(yàn)證人員需要時刻保持ASIC和FPGA在版本上的一致性,。原則上,,ASIC上的任何的改動都要精準(zhǔn)地反映在FPGA中,二者的一致性是相對的,,驗(yàn)證人員需要做到心中有數(shù),。要做好二者的一致性,要對模塊進(jìn)行正確劃分,。把從ASIC到FPGA需要調(diào)整的部分單獨(dú)劃分出來(不影響系統(tǒng)系能的前提下),。這樣,當(dāng)ASIC部分進(jìn)行代碼更新時,,只要不涉及到需要調(diào)整的部分,,全部替換即可。這樣即節(jié)省了時間,,又保證了二者的一致性,。
再次,F(xiàn)PGA平臺運(yùn)行性能較差,。在本系統(tǒng)中,,CPU和AHB總線的時鐘可以穩(wěn)定運(yùn)行在100 MHz左右,但是,,ARM7和FPGA之間布線延時造成ARM7最高運(yùn)行在32 MHz左右,,否則就不能保證功能以及時序上的正確性。因此,,F(xiàn)PGA原型驗(yàn)證在性能上要低于ASIC平臺,。采取的方式是:在ARM7平臺上測試功能,在ARM9平臺上測試性能,。采用ARM9芯片時,,系統(tǒng)可以運(yùn)行在100 MHz左右,完全滿足系統(tǒng)整體性能的要求,。板級系統(tǒng)的可擴(kuò)展性有助于解決在驗(yàn)證過程中的某些問題,。
經(jīng)過充分的驗(yàn)證,本系統(tǒng)實(shí)現(xiàn)了基于FPGA原型驗(yàn)證平臺的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] 張開明,,王新安,張國新,,等.WLAN SoC芯片BX501的FPGA驗(yàn)證平臺設(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.