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