基于ARM內(nèi)核SoC的FPGA 驗(yàn)證環(huán)境設(shè)計(jì)方法
摘 要:針對(duì)片上系統(tǒng)(SoC) 開發(fā)周期較長(zhǎng)和現(xiàn)場(chǎng)可編程門陣列(FPGA) 可重用的特點(diǎn),設(shè)計(jì)了基于ARM7TDMI 處理器核的SoC 的FPGA 驗(yàn)證平臺(tái),介紹了怎樣利用該平臺(tái)進(jìn)行軟硬件協(xié)同設(shè)計(jì)、IP核驗(yàn)證、底層硬件驅(qū)動(dòng)和實(shí)時(shí)操作系統(tǒng)設(shè)計(jì)驗(yàn)證。使用該平臺(tái)通過軟硬件協(xié)同設(shè)計(jì),能夠加快SoC 系統(tǒng)的開發(fā)。整個(gè)系統(tǒng)原理清晰,結(jié)構(gòu)簡(jiǎn)單,擴(kuò)展靈活、方便。
關(guān)鍵詞:SoC;FPGA;軟硬件協(xié)同設(shè)計(jì);驗(yàn)證平臺(tái);ARM7TDMI
引 言
隨著片上系統(tǒng)(SoC) 設(shè)計(jì)的復(fù)雜度和性能要求的不斷提高, 軟硬件協(xié)同設(shè)計(jì)(Hardware/ Software Co2de2sign) 貫穿于SoC 設(shè)計(jì)的始終。軟硬件協(xié)同設(shè)計(jì)是一個(gè)以性能和實(shí)現(xiàn)成本為尺度的循環(huán)優(yōu)化過程,驗(yàn)證設(shè)計(jì)是其中必不可少的重要環(huán)節(jié)。目前大多數(shù)公司提供的開發(fā)驗(yàn)證系統(tǒng)(開發(fā)板) 存在兩個(gè)弱點(diǎn):一是開發(fā)板的性能、規(guī)模難以根據(jù)特定的設(shè)計(jì)需求靈活、自由地調(diào)節(jié);二是開發(fā)板的功能大多數(shù)只能進(jìn)行軟件代碼的調(diào)試,即使ARM公司提供的開發(fā)平臺(tái)也只能調(diào)試部分硬件。這兩個(gè)弱點(diǎn)均在一定程度上限制了軟硬件劃分的探索空間,使所設(shè)計(jì)的SoC 不能獲得更佳結(jié)構(gòu)實(shí)現(xiàn)的能力。
本文利用現(xiàn)場(chǎng)可編程門陣列(FPGA) 重用性好、現(xiàn)場(chǎng)靈活性好的優(yōu)勢(shì),開發(fā)一個(gè)能進(jìn)行詳細(xì)的行為監(jiān)測(cè)和分析的實(shí)時(shí)運(yùn)行驗(yàn)證平臺(tái),實(shí)現(xiàn)軟硬件的緊密和靈活耦合,從而克服上述結(jié)構(gòu)的弱點(diǎn),以全實(shí)時(shí)方式運(yùn)行協(xié)同設(shè)計(jì)所產(chǎn)生的硬件代碼和軟件代碼,構(gòu)成一個(gè)可獨(dú)立運(yùn)行、可現(xiàn)場(chǎng)監(jiān)測(cè)的驗(yàn)證平臺(tái)。這樣,不但能夠提高SoC 流片成功率,加快SoC 的開發(fā),而且可以降低整個(gè)SoC 應(yīng)用系統(tǒng)的開發(fā)成本。
驗(yàn)證平臺(tái)的設(shè)計(jì)
系統(tǒng)設(shè)計(jì)
圖1 是我們?cè)O(shè)計(jì)的SoC 系統(tǒng)架構(gòu), 選用了ARM7TDMI 處理器核, 它是一個(gè)RISC 體系的32 位CPU ,具有功耗低、性價(jià)比高、代碼密度高三大特色(ARM公司本身不生產(chǎn)芯片,普通用戶無(wú)法獲得ARM可綜合的CPU 核) ,包括AMBA 總線、DMA 控制器和Bridge 、(外部存儲(chǔ)器接口EMI) 、通用串行總線(USB) 客戶端控制器、液晶顯示器(LCD) 控制器、多媒體加速器(MMA) 、AC97 控制器、通用串口/ 紅外(UART/ IrDA) 、通用定時(shí)器/ 脈寬調(diào)制器(TIMER/ PWM) 、中斷控制器( INTC) 、同步外設(shè)接口(SPI) 、實(shí)時(shí)時(shí)鐘(RTC/ WD) 、時(shí)鐘和功耗管理單元(PMU) 。
圖1 SoC的系統(tǒng)架構(gòu)
圖2 是該SoC 驗(yàn)證平臺(tái)的結(jié)構(gòu)框圖,選用Altera公司的APEX20K1500E 作為驗(yàn)證SoC 用的FPGA ,該器件由一系列的MegaLAB 結(jié)構(gòu)構(gòu)成,每個(gè)結(jié)構(gòu)包含一組邏輯陣列塊(LAB) 、一個(gè)嵌入式系統(tǒng)塊( ESB) 及一個(gè)在MegaLAB 結(jié)構(gòu)內(nèi)提供信號(hào)通道的MegaLAB 互連。在MegaLAB 結(jié)構(gòu)和I/ O 引腳間的信號(hào)布線通過Fast -Track 互連實(shí)現(xiàn)。另外,靠邊的LAB 能被I/ O 引腳通過局部互連驅(qū)動(dòng)。
該器件有如下特點(diǎn):具有多核結(jié)構(gòu),支持可編程單芯片系統(tǒng)(SOPC) ,密度高,專為低電壓應(yīng)用設(shè)計(jì),最多帶4 個(gè)鎖相環(huán)的時(shí)鐘管理電路,多達(dá)8路全局時(shí)鐘信號(hào),每個(gè)I/ O 引腳具有獨(dú)特的三態(tài)輸出使能控制及可編程壓擺率控制[1 ,2 ] 。使用該器件作為AMBA 總線模塊、DMA 控制模塊、EMI 模塊、USB 模塊及LCD 控制模塊等多個(gè)IP 模塊的硬件載體, 與ARM7 TDMI處理器構(gòu)成了一個(gè)SoC的驗(yàn)證系統(tǒng)。
評(píng)論