王 丹,代雪峰
(1.中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032;2.東北大學(xué)理學(xué)院物理系,沈陽(yáng)110004))
基于FPGA的ARM SoC原型驗(yàn)證平臺(tái)設(shè)計(jì)
王 丹1,代雪峰2
(1.中國(guó)電子科技集團(tuán)公司第四十七研究所,沈陽(yáng)110032;2.東北大學(xué)理學(xué)院物理系,沈陽(yáng)110004))
隨著應(yīng)用需求的不斷提升,SoC設(shè)計(jì)規(guī)模急劇增大,功能日益復(fù)雜,性能要求也越來越高,如何縮短驗(yàn)證時(shí)間,提高驗(yàn)證效率和質(zhì)量以縮短芯片的生產(chǎn)時(shí)間成為當(dāng)今SoC設(shè)計(jì)領(lǐng)域中最為關(guān)注的課題之一。FPGA原型驗(yàn)證是SoC設(shè)計(jì)的有效途徑。在流片前建立一個(gè)基于FPGA的高性價(jià)比原型驗(yàn)證系統(tǒng)成為SoC驗(yàn)證的重要方法,可以及時(shí)發(fā)現(xiàn)芯片設(shè)計(jì)中的缺陷和錯(cuò)誤,同時(shí)進(jìn)行軟件程序設(shè)計(jì),進(jìn)而縮短SoC芯片的開發(fā)周期。描述了以ARM為核心處理器的SoC設(shè)計(jì)的FPGA原型驗(yàn)證平臺(tái)實(shí)現(xiàn)過程,介紹了怎樣利用該平臺(tái)進(jìn)行軟硬件協(xié)同驗(yàn)證,并在此基礎(chǔ)上移植了uC/OSII嵌入式操作系統(tǒng),對(duì)該SoC設(shè)計(jì)進(jìn)行系統(tǒng)級(jí)驗(yàn)證。
ARM處理器;SoC設(shè)計(jì);FPGA原型驗(yàn)證;軟硬件協(xié)同驗(yàn)證;uC/OS-II操作系統(tǒng)
隨著集成電路設(shè)計(jì)技術(shù)和半導(dǎo)體工藝技術(shù)的不斷進(jìn)步,IC設(shè)計(jì)的規(guī)模和復(fù)雜度迅速增長(zhǎng),SoC(System on Chip)驗(yàn)證工作也越來越困難,驗(yàn)證和調(diào)試所占的時(shí)間可以達(dá)到總工期70%以上,單靠軟件仿真,不足以發(fā)現(xiàn)一些問題。為了模擬實(shí)際應(yīng)用環(huán)境,F(xiàn)PGA作為設(shè)計(jì)的原型載體,被應(yīng)用到驗(yàn)證中進(jìn)行軟硬件協(xié)同驗(yàn)證,彌補(bǔ)了軟件仿真的速度問題,使設(shè)計(jì)者盡快發(fā)現(xiàn)電路中存在的缺陷[1]。下面詳細(xì)論述了一個(gè)以ARM為核心處理器的SoC芯片的FPGA原型驗(yàn)證平臺(tái)實(shí)現(xiàn)過程。文章首先描述了該SoC芯片的系統(tǒng)架構(gòu),然后闡述了該SoC芯片F(xiàn)PGA驗(yàn)證平臺(tái)的硬件設(shè)計(jì)、軟件設(shè)計(jì)、軟硬件協(xié)同驗(yàn)證。
SoC一般是指將微處理器、模擬IP核、數(shù)字IP核和各類存儲(chǔ)器集成在單一芯片上。SoC不是各個(gè)芯片功能的簡(jiǎn)單疊加,而是從整個(gè)系統(tǒng)功能和性能出發(fā),選用合適的平臺(tái),軟硬結(jié)合的設(shè)計(jì)和驗(yàn)證方法,在一個(gè)芯片上實(shí)現(xiàn)復(fù)雜的功能[2]。所驗(yàn)證的SoC芯片以ARM為核心處理器,具有高度靈活的可配置性,方便集成各種標(biāo)準(zhǔn)接口。
該SoC設(shè)計(jì)[3]內(nèi)嵌了256KB的Flash和96KB的SRAM、4個(gè)32位定時(shí)器、2個(gè)看門狗定時(shí)器、多個(gè)GPIO口、片外設(shè)備接口(EPI)、通信接口包括三路UART、三路CAN 2.0控制器、兩路I2C模塊、兩路同步串行接口SPI、一路音頻接口I2S、集成MAC和PHY的10/100以太網(wǎng)、USB 2.0 OTG/Host/Device。圖1為該SoC的系統(tǒng)架構(gòu)。
圖1 SoC系統(tǒng)架構(gòu)
現(xiàn)場(chǎng)可編程門陣列(FPGA)作為集成電路設(shè)計(jì)技術(shù)的第三次重大進(jìn)步標(biāo)志,可以使RTL綜合的結(jié)果直接運(yùn)行在FPGA芯片上,重用性及現(xiàn)場(chǎng)靈活性較好。SoC設(shè)計(jì)在流片之前進(jìn)行系統(tǒng)原型驗(yàn)證,就是將仿真平臺(tái)硬件化,所以其驗(yàn)證就更具有真實(shí)性。
該FPGA驗(yàn)證硬件平臺(tái)包括FPGA原型驗(yàn)證母板和驗(yàn)證子板。FPGA驗(yàn)證母板與驗(yàn)證子板之間通過HPC接口連接,如圖2所示。
該驗(yàn)證系統(tǒng)的FPGA驗(yàn)證母板采用Xilinx公司的TEL-Device Kintex7 325T FPGA開發(fā)板[4],該器件采用了TSMC領(lǐng)先的28nm高性能、低功耗工藝。
由于ASIC和FPGA在物理結(jié)構(gòu)上有很大不同,ASIC是基于標(biāo)準(zhǔn)單元庫(kù),F(xiàn)PGA是基于查找表結(jié)構(gòu),所以使用FPGA進(jìn)行原型驗(yàn)證時(shí),需要把ASIC設(shè)計(jì)轉(zhuǎn)換為FPGA設(shè)計(jì)。需要轉(zhuǎn)換的主要有以下幾個(gè)方面:
圖2 FPGA驗(yàn)證平臺(tái)的硬件結(jié)構(gòu)框圖
(1)時(shí)鐘
在ASIC設(shè)計(jì)中,用布局布線工具來放置時(shí)鐘樹,利用代工廠提供的PLL進(jìn)行時(shí)鐘設(shè)計(jì),而在FPGA中通常有一定數(shù)量的PLL宏單元,并有針對(duì)時(shí)鐘優(yōu)化的全局時(shí)鐘網(wǎng)絡(luò),這樣的時(shí)鐘網(wǎng)絡(luò)可以保證相同的時(shí)鐘沿到達(dá)每個(gè)觸發(fā)器的延遲時(shí)間差異是可以忽略不計(jì)的,因此時(shí)鐘單元要進(jìn)行轉(zhuǎn)換。
(2)Memory
ASIC中的存儲(chǔ)單元使用代工廠所提供的Memory Compiler來定制,這是FPGA不能綜合的部分,F(xiàn)PGA內(nèi)部提供了經(jīng)過驗(yàn)證并優(yōu)化的存儲(chǔ)單元,因此存儲(chǔ)單元需要轉(zhuǎn)換為FPGA中的存儲(chǔ)單元或者用外部存儲(chǔ)器芯片來替換。
(3)I/O
由于ASIC的Pad使用的是ASIC器件庫(kù)中的單元,F(xiàn)PGA不能直接使用,要替換成FPGA的I/O。
FPGA硬件實(shí)現(xiàn)流程如圖3所示。SoC系統(tǒng)的RTL設(shè)計(jì)代碼,通過ISE和Synplify軟件進(jìn)行FPGA綜合并映射,映射工具根據(jù)設(shè)置的約束條件對(duì)設(shè)計(jì)代碼進(jìn)行邏輯優(yōu)化并生成網(wǎng)表,接著進(jìn)行布局布線,生成配置文件和進(jìn)行靜態(tài)時(shí)序分析,如果時(shí)序不能滿足約束,可通過時(shí)序報(bào)告文件來確認(rèn)關(guān)鍵路徑,進(jìn)行時(shí)序優(yōu)化??梢酝ㄟ^修改約束條件,或者修改RTL代碼來滿足時(shí)序要求。當(dāng)時(shí)序能滿足約束條件時(shí),就可以利用配置文件進(jìn)行下載。
由于該SoC設(shè)計(jì)包括豐富的接口模塊,為了更好的驗(yàn)證這些接口模塊,需要設(shè)計(jì)一塊驗(yàn)證子板,該驗(yàn)證子板包括:
·2MB SPI Flash(W25Q16),通過讀寫Flash,實(shí)現(xiàn)SoC的SPI接口功能測(cè)試;
·2048-Bit I2C EEPROM(AT24L02),通過讀寫EEPROM,實(shí)現(xiàn)SoC的I2C接口功能測(cè)試;
·4.3英寸QVGA帶觸摸屏的TFT LCD(分辨率480×272,SSD1963主控),該LCD顯示屏是通過EPI接口連接的,通過LCD顯示,實(shí)現(xiàn)SoC的EPI接口功能測(cè)試;
圖3 FPGA硬件實(shí)現(xiàn)流程
·Micro SD卡座,SD卡是通過SPI接口控制,讀寫SD卡,實(shí)現(xiàn)SoC的SPI接口功能測(cè)試;
·CAN收發(fā)器SN65VHD230,實(shí)現(xiàn)CAN數(shù)字信號(hào)轉(zhuǎn)為差分信號(hào),用于CAN總線的數(shù)據(jù)傳輸。將該CAN接口與其它開發(fā)板的CAN接口互連進(jìn)行收發(fā)測(cè)試,實(shí)現(xiàn)SoC的CAN控制器功能測(cè)試;
·USB PHY芯片TUSB1106PWR,通過與PC機(jī)的USB接口通訊,實(shí)現(xiàn)SoC的USB控制器功能測(cè)試;
·Ethernet PHY芯片RTL8201BL,通過與PC機(jī)的網(wǎng)口進(jìn)行通訊,實(shí)現(xiàn)SoC的Ethernet MAC功能測(cè)試;
·1個(gè)232串口收發(fā)器芯片MAX3232,實(shí)現(xiàn)UART信號(hào)的電平轉(zhuǎn)換,通過與PC機(jī)的UART接口通信,實(shí)現(xiàn)SoC的UART控制器功能測(cè)試;
·1個(gè)I2S音頻編解碼芯片(WM8978)。通過I2C接口實(shí)現(xiàn)對(duì)該音頻編解碼器的控制,通過I2S接口傳輸音頻數(shù)據(jù),揚(yáng)聲器可播放音頻,實(shí)現(xiàn)SoC的I2C和I2S接口功能測(cè)試;
·1個(gè)Reset按鈕,用于系統(tǒng)復(fù)位,1個(gè)NMI按鈕,用于產(chǎn)生不可屏蔽的中斷信號(hào),1個(gè)用戶自定義的按鈕,用于測(cè)試SoC的GPIO輸入功能;
·1個(gè)電源指示LED燈,顯示供電系統(tǒng)是否正常,3個(gè)LED燈,用于測(cè)試SoC的GPIO輸出功能;
·1個(gè)JTAG接口,用于調(diào)試和下載測(cè)試程序;
·驗(yàn)證子板的電源及時(shí)鐘均來自于FPGA母板。
前一部分主要介紹了FPGA驗(yàn)證平臺(tái)的硬件部分,在這個(gè)硬件平臺(tái)上運(yùn)行的程序就是驗(yàn)證平臺(tái)的軟件部分。軟件部分的實(shí)現(xiàn)方式有兩種:一種是編寫匯編和C代碼直接在平臺(tái)上運(yùn)行,此種方法用于驗(yàn)證單個(gè)功能模塊,不能并行工作;另一種是先將嵌入式操作系統(tǒng)移植到平臺(tái)上,然后在操作系統(tǒng)的基礎(chǔ)上用C語(yǔ)言編寫驗(yàn)證代碼,此種方法適用于系統(tǒng)級(jí)驗(yàn)證。
4.1 模塊級(jí)驗(yàn)證
驗(yàn)證平臺(tái)的軟件集成開發(fā)工具使用的是IAR Embedded Workbench,這是一套用于編譯和調(diào)試嵌入式系統(tǒng)軟件程序的開發(fā)工具,支持匯編、C和C++語(yǔ)言。它提供完整的集成開發(fā)環(huán)境,包括工程管理器、編輯器、編譯鏈接工具和C-SPY調(diào)試器。
軟件實(shí)現(xiàn)主要包括:?jiǎn)?dòng)代碼、驅(qū)動(dòng)程序、應(yīng)用程序三個(gè)部分。
啟動(dòng)代碼是系統(tǒng)上電后執(zhí)行的第一段代碼,主要完成系統(tǒng)的初始化,為系統(tǒng)運(yùn)行準(zhǔn)備好軟硬件環(huán)境。該部分代碼的設(shè)計(jì)由匯編完成,實(shí)現(xiàn)的功能為:①定義入口地址;②建立異常中斷向量表;③初始化外部存儲(chǔ)器;④初始化堆棧指針;⑤進(jìn)入到C程序。
驅(qū)動(dòng)程序是硬件的接口,應(yīng)用程序只有通過這個(gè)接口才能控制硬件工作,離開驅(qū)動(dòng)程序,硬件模塊是無法工作的。為了方便用戶使用,可以將驅(qū)動(dòng)程序開發(fā)后,以API函數(shù)的形式提供給用戶使用。
應(yīng)用程序是在驅(qū)動(dòng)程序的基礎(chǔ)上,直接針對(duì)特定的應(yīng)用場(chǎng)景或者特定的功能測(cè)試而開發(fā)的軟件代碼。
啟動(dòng)程序運(yùn)行后,完成最基本的初始化工作,然后應(yīng)用程序直接調(diào)用驅(qū)動(dòng)程序中的API函數(shù),針對(duì)模塊的功能,或者模擬用戶的使用場(chǎng)景,對(duì)SoC設(shè)計(jì)中的各個(gè)模塊進(jìn)行功能驗(yàn)證。該部分工作是分別對(duì)各個(gè)模塊的功能進(jìn)行驗(yàn)證,能夠及時(shí)發(fā)現(xiàn)各個(gè)模塊的設(shè)計(jì)缺陷,是系統(tǒng)級(jí)驗(yàn)證的基礎(chǔ)。
4.2 系統(tǒng)級(jí)驗(yàn)證
實(shí)時(shí)操作系統(tǒng)是嵌入式系統(tǒng)的靈魂,它對(duì)整個(gè)系統(tǒng)進(jìn)行硬件資源管理、多任務(wù)協(xié)調(diào)調(diào)度、任務(wù)間同步和通信及存儲(chǔ)管理。在SoC上移植嵌入式操作系統(tǒng)并開發(fā)測(cè)試程序,可以對(duì)整個(gè)SoC進(jìn)行集成后的系統(tǒng)級(jí)驗(yàn)證,也是一種更為有效的驗(yàn)證方式。現(xiàn)在流行的嵌入式操作系統(tǒng)有很多種,如Linux、WinCE、uC/OS-II、VxWorks、Andrio操作系統(tǒng)等,主要闡述在該SoC運(yùn)行uC/OS-II[7]及上層應(yīng)用程序來驗(yàn)證與測(cè)試該SoC系統(tǒng)的設(shè)計(jì)。采用uC/OS-II來驗(yàn)證與測(cè)試該SoC設(shè)計(jì),是因?yàn)閡C/OS-II具有如下顯著優(yōu)點(diǎn):
·開放源碼。測(cè)試人員可以根據(jù)自己的驗(yàn)證與測(cè)試需要直接修改uC/OS-II源碼。
·精簡(jiǎn)小巧。這使得軟件虛擬仿真在花費(fèi)較少時(shí)間的情況下便可以檢測(cè)到SoC邏輯設(shè)計(jì)錯(cuò)誤。
·易裁減。測(cè)試人員可以根據(jù)自己的需要集中測(cè)試某個(gè)IP核設(shè)計(jì)。
·多任務(wù)。由于uC/OS-II支持多任務(wù),所以在系統(tǒng)級(jí)測(cè)試時(shí),可以使多個(gè)IP核并發(fā)工作。
uC/OS-II的移植只需要修改與處理器相關(guān)的代碼,在uC/OS-II內(nèi)核源碼中與操作系統(tǒng)相關(guān)的源碼涉及三個(gè)文件:os_cpu.h、os_cpu_a.s、os_cpu_c.c。
(1)os_cpu.h
包括了用#define定義的與處理器相關(guān)的常量、宏和類型定義。需要根據(jù)ARM處理器的特點(diǎn)修改系統(tǒng)數(shù)據(jù)類型定義、棧增長(zhǎng)方向定義、關(guān)中斷和開中斷定義、系統(tǒng)軟中斷的定義等相關(guān)源碼。
(2)os_cpu_a.s
這部分需要對(duì)處理器的寄存器進(jìn)行操作,需要修改四個(gè)子函數(shù):OsstartHighRdy()、OSC_txSw()、OSIntCtxSw()、OSTicklSR()。
(3)os_cpu_c.c
該文件中共定義了6個(gè)函數(shù),需要修改的函數(shù)是OsTaskstklnit(),其他的函數(shù)無需修改,是對(duì)系統(tǒng)內(nèi)核擴(kuò)展時(shí)用的。
uC/OS-II提供了任務(wù)調(diào)度的內(nèi)核和一些系統(tǒng)服務(wù)。開發(fā)底層驅(qū)動(dòng)需要為系統(tǒng)編寫中斷處理控制程序和各個(gè)模塊的驅(qū)動(dòng)程序。在底層設(shè)備驅(qū)動(dòng)開發(fā)成功后。再為各個(gè)模塊編寫一些專門用于測(cè)試其功能的應(yīng)用層任務(wù),并給各個(gè)測(cè)試任務(wù)賦予不同的優(yōu)先級(jí),使它們?cè)趗C/OS-II操作系統(tǒng)并行運(yùn)行起來。通過穩(wěn)健地運(yùn)行uC/OS-II操作系統(tǒng),驗(yàn)證各個(gè)模塊能否在系統(tǒng)環(huán)境下并行正常工作,即進(jìn)行集成后的系統(tǒng)級(jí)驗(yàn)證。
軟硬件協(xié)同驗(yàn)證是一種在硬件設(shè)計(jì)確認(rèn)制造之前,驗(yàn)證軟件在設(shè)計(jì)的硬件上能否正確運(yùn)行的過程,使軟件和硬件同時(shí)得到驗(yàn)證。PC機(jī)上編寫好的測(cè)試程序,可以通過仿真器,下載到驗(yàn)證板的存儲(chǔ)系統(tǒng)中,SoC設(shè)計(jì)中的ARM核心處理器,讀取并執(zhí)行存儲(chǔ)器中的指令,控制外圍模塊工作,從而驗(yàn)證SoC的設(shè)計(jì)功能是否正確?;谏厦娴脑?,整個(gè)FPGA軟硬件協(xié)同驗(yàn)證平臺(tái)架構(gòu)如圖4所示。該系統(tǒng)分為:PC機(jī)部分、驗(yàn)證板部分、調(diào)試方案。其中PC機(jī)負(fù)責(zé)配置文件的產(chǎn)生與配置,激勵(lì)數(shù)據(jù)的收發(fā)與測(cè)試結(jié)果的讀??;驗(yàn)證板部分包括FPGA驗(yàn)證母板及驗(yàn)證子板,F(xiàn)PGA驗(yàn)證母板實(shí)現(xiàn)整個(gè)SoC設(shè)計(jì),是被測(cè)試的設(shè)計(jì)部分;驗(yàn)證子板包括各種接口模塊芯片,與SoC設(shè)計(jì)中同種類型的接口模塊之間進(jìn)行通信,測(cè)試其功能是否正確。調(diào)試方案負(fù)責(zé)控制監(jiān)測(cè)運(yùn)行結(jié)果。三者相互配合,共同完成整個(gè)SoC系統(tǒng)的驗(yàn)證。具體功能說明如下:
圖4 軟硬件協(xié)同驗(yàn)證平臺(tái)架構(gòu)
(1)PC機(jī)部分
>生成配置FPGA的BIT流文件,并通過JTAG口配置FPGA;
>編寫調(diào)試測(cè)試程序,并對(duì)FPGA中實(shí)現(xiàn)的SoC設(shè)計(jì)進(jìn)行調(diào)試下載;
>與FPGA中實(shí)現(xiàn)的SoC設(shè)計(jì)進(jìn)行通信,接收測(cè)試程序運(yùn)行的結(jié)果或控制測(cè)試程序的執(zhí)行流程。
(2)驗(yàn)證板部分
該系統(tǒng)的驗(yàn)證板包括FPGA開發(fā)母板和驗(yàn)證子板兩部分,共同實(shí)現(xiàn)下面的功能:
>FPGA開發(fā)母板中實(shí)現(xiàn)SoC設(shè)計(jì),是被測(cè)試的部分;
>驗(yàn)證子板包括各種接口模塊的芯片,與SoC設(shè)計(jì)的接口通信;
>接收PC機(jī)發(fā)送的測(cè)試程序和測(cè)試數(shù)據(jù);
>運(yùn)行測(cè)試程序形成運(yùn)行結(jié)果;
>將運(yùn)行結(jié)果發(fā)送PC機(jī)。
(3)調(diào)試方案
FPGA實(shí)現(xiàn)的功能趨于復(fù)雜化,其調(diào)試也越來越困難,很多時(shí)候僅憑很少的輸入/輸出信號(hào),很難判斷設(shè)計(jì)是否有問題以及設(shè)計(jì)的癥結(jié)所在,因此,硬件調(diào)試中非常有必要深入FPGA內(nèi)部去了解數(shù)據(jù)的運(yùn)算、存儲(chǔ)、流動(dòng)是否正常,主要采用斷點(diǎn)調(diào)試、串口顯示運(yùn)行結(jié)果、示波器和邏輯分析儀等調(diào)試手段。
闡述了SoC設(shè)計(jì)的FPGA原型驗(yàn)證的軟硬件實(shí)現(xiàn),在芯片流片前,通過這個(gè)驗(yàn)證平臺(tái)對(duì)SoC設(shè)計(jì)進(jìn)行功能測(cè)試,一方面可以加快驗(yàn)證的速度,迅速發(fā)現(xiàn)設(shè)計(jì)中的問題,另一方面方便進(jìn)行軟件開發(fā),從而大大縮短了項(xiàng)目的開發(fā)周期。
[1] M.Abramovici,C.Stroud,M.Emmert.Using Embedded FPGAs for SoCYield Improvement[J].39th Design Automation Conf.2002:10-14.
[2] 楊杰林.基于嵌入式處理器的片上系統(tǒng)設(shè)計(jì)和應(yīng)用[D].西安:西安電子科技大學(xué),2004.
Yang Jie-lin.Based on the design and application of embedded system on chip[D].Xi'an:Xidian University,2004.
[3] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計(jì)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.
XIA Yu-wen.Verilog digital system design(Second Edition)[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2008.
[4] 田耘,胡彬.Xilinx ISE Design Suit 10.x FPGA開發(fā)指南:邏輯設(shè)計(jì)篇[M].北京:人民郵電出版社,2008.
Tian Yun,Hu Bin.Xilinx ISE Design Suit 10.x FPGA Development Guide:Logic design articles[M].Beijing:People’s Posts and Telecom-munications Press,2008.
[5] 周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程(第2版)[M].北京:北京航空航天大學(xué)出版社,2008.
ZHOU Li-gong.ARM Embedded System Essentials(Second Edition)[M].Beijing:Beijing University of Aeronautics and Astronautics Press,2008.
[6] 杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.
DU Chun-lei.ARM architecture and programming[M].Beijing:Tsinghua University Press,2003.
[7] Jean J,Labrosse.MicroC/OS_II The Real-Time Kernel(Second Edition)[M].USA:CMP Books,2002.
[8] 詹瑾瑜.SoC軟/硬件協(xié)同設(shè)計(jì)方法研究[D].成都:電子科技大學(xué),2005.
ZHAN Jin-yu.Research on collaborative design method of hardware and software of SOC[D].Chengdu:University of Electronic Science and technology,2005.
Design of Prototyping Method Based on FPGA for ARM SoC Verification
Wang Dan1,Dai Xuefeng2
(1.The47th Research Institute of China Electronics Technology Group Corporation,Shenyang 110032,China;2.Physics Department,Collage of Sciences,Northeast University,Shenyang 110004,China)
With the application requirements constantly promoting and the SoC design size growing,the function is gettingmore and more complex and the higher requirements are generated for the performance as well.So how to shorten verification time and improve efficiency and quality of test chips to reduce the production time has become one of the greatest concern issues in today's SoC designing field.FPGA prototype verification is an effective verification way of SoC design.FPGA prototype verification system is becoming very important to build a prototype of the SoC before taping out.It can find the shortcomings and mistakes in the chip design in time,and also can save the developing timewith software programme design at the same time.In this paper,the implementation of FPGA prototyping verification platform for ARM SoC design flow is described,aswell as how to progress hardware and software co-verification.As a result,the uC/OS-II embedded operating system is transplanted and the system level verification of the SoC design is conducted.
ARM processor;SoC design;FPGA prototype verification;Hardware and software co-verification;uC/OS-IIembedded operating system
10.3969/j.issn.1002-2279.2015.06.004
TN492
B
1002-2279(2015)06-0015-04
王丹(1982-),女,遼寧省錦州市義縣人,工程師,碩士,主研方向:嵌入式微處理器設(shè)計(jì)、驗(yàn)證。
2015-03-11