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