一種基于A(yíng)RM內(nèi)核SoC的FPGA 驗(yàn)證環(huán)境設(shè)計(jì)方法
引 言
隨著片上系統(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)化過(guò)程,驗(yàn)證設(shè)計(jì)是其中必不可少的重要環(huán)節(jié)。目前大多數(shù)公司提供的開(kāi)發(fā)驗(yàn)證系統(tǒng)(開(kāi)發(fā)板) 存在兩個(gè)弱點(diǎn):一是開(kāi)發(fā)板的性能、規(guī)模難以根據(jù)特定的設(shè)計(jì)需求靈活、自由地調(diào)節(jié);二是開(kāi)發(fā)板的功能大多數(shù)只能進(jìn)行軟件代碼的調(diào)試,即使ARM公司提供的開(kāi)發(fā)平臺(tái)也只能調(diào)試部分硬件。這兩個(gè)弱點(diǎn)均在一定程度上限制了軟硬件劃分的探索空間,使所設(shè)計(jì)的SoC 不能獲得更佳結(jié)構(gòu)實(shí)現(xiàn)的能力。
本文利用現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA) 重用性好、現(xiàn)場(chǎng)靈活性好的優(yōu)勢(shì),開(kāi)發(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 的開(kāi)發(fā),而且可以降低整個(gè)SoC 應(yīng)用系統(tǒng)的開(kāi)發(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 ,具有功耗低、性?xún)r(jià)比高、代碼密度高三大特色(ARM公司本身不生產(chǎn)芯片,普通用戶(hù)無(wú)法獲得ARM可綜合的CPU 核) ,包括AMBA 總線(xiàn)、DMA 控制器和Bridge 、(外部存儲(chǔ)器接口EMI) 、通用串行總線(xiàn)(USB) 客戶(hù)端控制器、液晶顯示器(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)布線(xiàn)通過(guò)Fast -Track 互連實(shí)現(xiàn)。另外,靠邊的LAB 能被I/ O 引腳通過(guò)局部互連驅(qū)動(dòng)。
該器件有如下特點(diǎn):具有多核結(jié)構(gòu),支持可編程單芯片系統(tǒng)(SOPC) ,密度高,專(zhuān)為低電壓應(yīng)用設(shè)計(jì),最多帶4 個(gè)鎖相環(huán)的時(shí)鐘管理電路,多達(dá)8路全局時(shí)鐘信號(hào),每個(gè)I/ O 引腳具有獨(dú)特的三態(tài)輸出使能控制及可編程壓擺率控制[1 ,2 ] 。使用該器件作為AMBA 總線(xiàn)模塊、DMA 控制模塊、EMI 模塊、USB 模塊及LCD 控制模塊等多個(gè)IP 模塊的硬件載體, 與ARM7 TDMI處理器構(gòu)成了一個(gè)SoC的驗(yàn)證系統(tǒng)。
圖2 中外圍電路的主要功能是驗(yàn)證SoC 中各個(gè)接口IP 模塊能否與ARM7TDMI 核、外部接口單元、硬件驅(qū)動(dòng)軟件和實(shí)時(shí)操作系統(tǒng)協(xié)調(diào)高效地工作。由于接口(如USB 接口、UART/ IrDA 接口、SPI 和LCD 接口等) 電路結(jié)構(gòu)比較簡(jiǎn)單,且很多資料都有介紹,在設(shè)計(jì)時(shí),除了注意通用的設(shè)計(jì)規(guī)則和印制電路板(PCB) 布局布線(xiàn)外,沒(méi)有特別的要求(總結(jié)構(gòu)框圖中所有外圍電路都在該開(kāi)發(fā)驗(yàn)證系統(tǒng)中調(diào)試成功) ,同時(shí),為了便于分析各個(gè)被驗(yàn)證的IP 模塊在任意時(shí)刻的狀態(tài), 我們將APEX20K1500E 的大多數(shù)I/ O 引腳都引出到PCB 上,以方便SoC 開(kāi)發(fā)人員使用邏輯分析儀進(jìn)行信號(hào)實(shí)時(shí)采集和分析,也可讓信號(hào)發(fā)生器產(chǎn)生一些特定信號(hào)通過(guò)以供系統(tǒng)調(diào)試使用。該開(kāi)發(fā)系統(tǒng)在PCB 的設(shè)計(jì)時(shí)還特別注意了電磁干擾的屏蔽。
圖2 驗(yàn)證平臺(tái)結(jié)構(gòu)框圖
電路設(shè)計(jì)
電源的設(shè)計(jì)
擁有符合FPGA 要求的電壓對(duì)該驗(yàn)證環(huán)境的設(shè)計(jì)十分重要。根據(jù)SoC 的發(fā)展趨勢(shì)和APEX20K1500E增強(qiáng)型I/ O的特點(diǎn),該平臺(tái)選用2 . 5V內(nèi)核電壓和3. 3 V 的I/ O 電壓,同時(shí)提供2. 5 V 和1. 8 V 可選電壓,以滿(mǎn)足SoC 更低電壓、更低功耗的發(fā)展要求,方便以后重復(fù)使用。
評(píng)論