《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA原型的GPS基帶驗證系統(tǒng)設(shè)計與實現(xiàn)
基于FPGA原型的GPS基帶驗證系統(tǒng)設(shè)計與實現(xiàn)
來源:電子技術(shù)應(yīng)用2010年第7期
馮華星1,何文濤1,李曉江2
1.中國科學(xué)院微電子研究所,北京100029;2.杭州中科微電子有限公司,杭州310053
摘要: 隨著SoC設(shè)計復(fù)雜度的提高,驗證已成為集成電路設(shè)計過程中的瓶頸,而FPGA技術(shù)的快速發(fā)展以及良好的可編程特性使基于FPGA的原型驗證越來越多地被用于SoC系統(tǒng)的設(shè)計過程。本文討論了GPS基帶的驗證方案以及基于FPGA的設(shè)計實現(xiàn),并對驗證過程中的問題進行了分析,并提出相應(yīng)的解決辦法。
關(guān)鍵詞: FPGA 原型 GPS SOC ARM7TDMI
中圖分類號: TN492
文獻標識碼: A
文章編號: 0258-7998(2010)07-0056-02
Design and implementation of GPS baseband verification system based on the FPGA protocol
FENG Hua Xing1,HE Wen Tao1,LI Xiao Jiang2
1.Institute of Microelectronics of Chinese Academy of Sciences, Beijing 100029,China;2.Hangzhou Zhongke Microelectronics Co., Ltd, Hangzhou 310053,China
Abstract: As the SoC design complexity continually growing, verification has become the bottle-neck of the SoC design. However, due to the fast development as well as the programmability of FPGA, the FPGA prototype has been used more and more in the SoC design process. This paper discusses the verification methodology for the GPS baseband and the implementation based on the FPGA prototype. In the end, we analyze the problems faced during the verification and give the corresponding approaches.
Key words : FPGA;prototype;SoC;GPS;verification

    隨著SoC設(shè)計復(fù)雜度的提高,驗證所需時間已經(jīng)占到整個設(shè)計周期的70%以上,如何減少驗證時間成為一個十分重要的問題。GPS基帶芯片是一個典型的SoC,其主要功能模塊是相關(guān)器,用以實現(xiàn)GPS信號的解調(diào)和解擴。相關(guān)器占據(jù)了基帶芯片中的大部分硬件資源,其仿真過程十分復(fù)雜且耗費大量時間,因此僅僅依靠軟件仿真是不現(xiàn)實的。隨著FPGA的性能和容量不斷提高,基于FPGA的原型驗證能夠減小開發(fā)風(fēng)險,避免軟件仿真的缺點,加快產(chǎn)品上市時間,并且能夠真實地反映硬件的特性。這些優(yōu)點使得基于FPGA的原型驗證越來越多地被用于SoC系統(tǒng)的設(shè)計過程。
1 從ASIC到FPGA原型的移植
    理論上,F(xiàn)PGA原型驗證要與SoC的結(jié)構(gòu)保持高度一致,但是,由于ASIC和FPGA結(jié)構(gòu)上的差異,導(dǎo)致從ASIC到FPGA的移植需要做出適當(dāng)?shù)恼{(diào)整。
    首先,當(dāng)設(shè)計規(guī)模很大時,單片的FPGA容量不足以容納整個設(shè)計規(guī)模,需要2個或多個FPGA芯片來實現(xiàn)整個驗證系統(tǒng)。這時,F(xiàn)PGA之間的布線延時給整個系統(tǒng)的時序要求帶來困難,尤其對于高性能的設(shè)計。其次,結(jié)構(gòu)上的差異導(dǎo)致的ASIC和FPGA IP模塊在時序上不兼容,需要額外的工作進行時序轉(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)、解擴、實現(xiàn)信號的跟蹤和捕獲。其系統(tǒng)框圖如圖1所示。

    該衛(wèi)星導(dǎo)航基帶芯片基于ARM7TDMI構(gòu)建,擁有為捕獲跟蹤功能所設(shè)置的特殊硬件器件以及大量的常用外設(shè)。例如DMA、UART接口、SPI接口、GPIO、實時時鐘(RTC)等。256 KB的ROM和96 KB的SRAM用于存儲代碼和運行程序以及中間數(shù)據(jù),并可外接FLASH進行程序調(diào)試及下載。其基帶框圖如圖2所示。

3 FPGA驗證平臺設(shè)計和實現(xiàn)
    FPGA驗證平臺的結(jié)構(gòu)如圖3所示。

    FPGA芯片采用Altera公司Stratix III系列的EP3SL-150F1152C3,ARM7CPU采用ARM7TDMI的驗證測試芯片,ARM9芯片采用Samsung的S3C2410芯片。
    由于ARM7內(nèi)核無法移植,所以采用外接的ARM7TDMI測試芯片作為CPU,同時電路板上集成了一塊ARM9芯片。因此該平臺也可用于基于ARM9內(nèi)核的SOC驗證平臺,并且板上預(yù)留的擴展接口可以再接一塊ARM9芯片,可用于雙核的開發(fā)。
    基帶芯片其他部分都位于FPGA芯片中。編譯后的電路通過FPGA旁邊的JTAG接口下載到FPGA芯片中,通過ARM旁邊的JTAG接口進行軟件下載和調(diào)試。軟件調(diào)試工具使用ADS1.2。信號可以通過RS232串口或者USB接口與上位機進行通訊。
4 驗證中的問題分析和解決
    從ASIC到FPGA的移植需要根據(jù)實際情況做一些調(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)整,以補償在板級線路的延時。
    FPGA驗證也有不足之處。
    首先,調(diào)試困難,由于EDA工具不夠完善,所以缺乏有效的調(diào)試手段。示波器和邏輯分析儀作為主要的調(diào)試工具,在問題的定位上給驗證人員提出了更高的要求;雖然目前的EDA軟件集成了內(nèi)部的在線邏輯分析儀,但是在使用上仍然有缺陷。協(xié)助調(diào)試方法主要有2種:(1)軟件仿真和硬件模擬結(jié)合,當(dāng)硬件調(diào)試很難對問題定位時,可以將代碼編譯成二進制文件保存到ROM中,在軟件平臺上運行程序,提高信號的可觀察性。(2)在基帶結(jié)構(gòu)中增加測試電路,對關(guān)鍵信號進行監(jiān)視,當(dāng)出現(xiàn)問題時可利用測試電路所保存的數(shù)據(jù)進行分析。
    其次,ASIC和FPGA結(jié)構(gòu)上的差異給驗證工作帶來了額外的負擔(dān)。驗證人員需要時刻保持ASIC和FPGA在版本上的一致性。原則上,ASIC上的任何的改動都要精準地反映在FPGA中,二者的一致性是相對的,驗證人員需要做到心中有數(shù)。要做好二者的一致性,要對模塊進行正確劃分。把從ASIC到FPGA需要調(diào)整的部分單獨劃分出來(不影響系統(tǒng)系能的前提下)。這樣,當(dāng)ASIC部分進行代碼更新時,只要不涉及到需要調(diào)整的部分,全部替換即可。這樣即節(jié)省了時間,又保證了二者的一致性。
    再次,F(xiàn)PGA平臺運行性能較差。在本系統(tǒng)中,CPU和AHB總線的時鐘可以穩(wěn)定運行在100 MHz左右,但是,ARM7和FPGA之間布線延時造成ARM7最高運行在32 MHz左右,否則就不能保證功能以及時序上的正確性。因此,F(xiàn)PGA原型驗證在性能上要低于ASIC平臺。采取的方式是:在ARM7平臺上測試功能,在ARM9平臺上測試性能。采用ARM9芯片時,系統(tǒng)可以運行在100 MHz左右,完全滿足系統(tǒng)整體性能的要求。板級系統(tǒng)的可擴展性有助于解決在驗證過程中的某些問題。
    經(jīng)過充分的驗證,本系統(tǒng)實現(xiàn)了基于FPGA原型驗證平臺的GPS基帶芯片的導(dǎo)航定位功能。
參考文獻
[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驗證平臺設(shè)計與實現(xiàn).微電子學(xué)與計算機,2006,23(1):97-102.
[6] 竇建華,孫強,陸俊峰.基于JTAG和FPGA的嵌入式SoC驗證系統(tǒng)設(shè)計與實現(xiàn).合肥工業(yè)大學(xué)學(xué)報,2009,32(3):336~339.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。