基于FPGA的SoC原型驗證的設(shè)計與實現(xiàn)
摘要:在SoC開發(fā)過程中,基于FPGA的原型驗證是一種有效的驗證方法,它不僅能加快SoC的開發(fā),降低SoC應(yīng)用系統(tǒng)的開發(fā)成本,而且提高了流片的成功率。文章主要描述了基于FPGA的SoC原型驗證的設(shè)計與實現(xiàn),針對FPGA基驗證中存在的問題進(jìn)行了分析并提出了解決方案。
關(guān)鍵詞:現(xiàn)場可編程門陣列;系統(tǒng)級芯片;原型驗證;驗證平臺
0 引言
隨著SoC設(shè)計規(guī)模的與日俱增,其功能日趨復(fù)雜,芯片的驗證階段占據(jù)了整個芯片開發(fā)的大部分時間。為了縮短驗證時間,在傳統(tǒng)的仿真驗證的基礎(chǔ)上涌現(xiàn)了許多新的驗證手段,如SDV(Software Driven verification)、BFM(Bus Function Model)等,以及基于FPGA的原型驗證技術(shù)。
因FPGA工藝及技術(shù)的發(fā)展,其速度、容量和密度都大大增加,功耗和成本在不斷的降低,使得基于FPGA的原型驗證得到廣泛的應(yīng)用。基于FPGA的原型驗證可以比軟件仿真速度高出4~6個數(shù)量級,而且還可以提高流片成功率,并為軟件開發(fā)提供了硬件平臺,加速了軟件的開發(fā)速度。
本文主要論述了FPGA基原型驗證的實現(xiàn)方法,并且針對ARM1136為內(nèi)核的SoC,如何快速而有效地搭建一個原型驗證平臺做了詳細(xì)的論述,最后還以UART為例來說明一種簡單、可重用性好、靈活性強的測試程序架構(gòu)。
1 基于ARM1136的SoC設(shè)計
本文驗證的SoC芯片是定位于手持視頻播放設(shè)備、衛(wèi)星導(dǎo)航產(chǎn)品的高性能應(yīng)用處理器,采用了ARM1136作為內(nèi)核,ARM11在提供超高性能的同時,還能保證功耗、面積的有效性。
同時在這個架構(gòu)中還采用了ARM公司的AMBA(Advanced Microcontroller Bus Architecture)總線,它是一組針對基于ARM核的片上系統(tǒng)之間通信而設(shè)計的標(biāo)準(zhǔn)協(xié)議。在設(shè)計中,對于一些處理數(shù)據(jù)和通訊速度要求較高的設(shè)備掛在AHB總線上,而那些對總線性能要求不高的設(shè)備掛在APB總線上。
為了能夠提高一些設(shè)備間的數(shù)據(jù)傳輸速度,該設(shè)計加入了DMA,其支持存儲器到存儲器、存儲器到外設(shè)、外設(shè)到存儲的傳輸。
基于ARM11設(shè)計的SoC系統(tǒng)構(gòu)架如圖1所示,這個系統(tǒng)還包括了USB控制器、LCD控制器、圖像處理單元GPU、視頻處理單元VPU、GPS、I2S、通用異步串口UART、同步串口SPI、TIMER、PWM、實時時鐘(RTC)、I2C總線和功耗管理單元(PMU)等。
2 FPGA原型驗證平臺的快速搭建
FPGA的發(fā)展為SoC的原型驗證提供了巨大的發(fā)揮空間,面對復(fù)雜的SoC系統(tǒng),傳統(tǒng)的一些驗證方法和單一的驗證技術(shù)已經(jīng)不能滿足設(shè)計的要求。本文所設(shè)計的平臺不僅能加快開發(fā)速度,提高流片成功率,而且還具有低錯誤率、快速和簡易的特點,因此特別適合用于RTL代碼更改頻繁的設(shè)計中。
評論