国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ARM內(nèi)核SoC的FPGA 驗證環(huán)境設(shè)計方法

發(fā)布時間:2010-11-3 19:40    發(fā)布者:techshare
關(guān)鍵詞: arm , FPGA , SoC , 內(nèi)核 , 驗證環(huán)境
隨著片上系統(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ù)只能進行軟件代碼的調(diào)試,即使ARM公司提供的開發(fā)平臺也只能調(diào)試部分硬件。這兩個弱點均在一定程度上限制了軟硬件劃分的探索空間,使所設(shè)計的SoC 不能獲得更佳結(jié)構(gòu)實現(xiàn)的能力。

本文利用現(xiàn)場可編程門陣列(FPGA) 重用性好、現(xiàn)場靈活性好的優(yōu)勢,開發(fā)一個能進行詳細的行為監(jiān)測和分析的實時運行驗證平臺,實現(xiàn)軟硬件的緊密和靈活耦合,從而克服上述結(jié)構(gòu)的弱點,以全實時方式運行協(xié)同設(shè)計所產(chǎn)生的硬件代碼和軟件代碼,構(gòu)成一個可獨立運行、可現(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 ,具有功耗低、性價比高、代碼密度高隨著片上系統(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ù)只能進行軟件代碼的調(diào)試,即使ARM公司提供的開發(fā)平臺也只能調(diào)試部分硬件。這兩個弱點均在一定程度上限制了軟硬件劃分的探索空間,使所設(shè)計的SoC 不能獲得更佳結(jié)構(gòu)實現(xiàn)的能力。

本文利用現(xiàn)場可編程門陣列(FPGA) 重用性好、現(xiàn)場靈活性好的優(yōu)勢,開發(fā)一個能進行詳細的行為監(jiān)測和分析的實時運行驗證平臺,實現(xiàn)軟硬件的緊密和靈活耦合,從而克服上述結(jié)構(gòu)的弱點,以全實時方式運行協(xié)同設(shè)計所產(chǎn)生的硬件代碼和軟件代碼,構(gòu)成一個可獨立運行、可現(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)的時鐘管理電路,多達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ā)人員使用邏輯分析儀進行信號實時采集和分析,也可讓信號發(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增強型I/ O的特點,該平臺選用2 . 5V內(nèi)核電壓和3. 3 V 的I/ O 電壓,同時提供2. 5 V 和1. 8 V 可選電壓,以滿足SoC 更低電壓、更低功耗的發(fā)展要求,方便以后重復(fù)使用。

時鐘信號電路的設(shè)計時鐘電路如圖3 所示。

ARM7TDMI 核有2 個時鐘:存儲器時鐘MCLK 和內(nèi)部TCK產(chǎn)生的時鐘DCLK。在正常操作期間,內(nèi)核由MCLK 供給時鐘, 內(nèi)部邏輯保持DCLK 為低。當ARM7TDMI 核處于調(diào)試狀態(tài)(nWAIT 必須為高) 時,內(nèi)核在TAP 狀態(tài)機控制下由DCLK供給時鐘,且MCLK可以自由運行。所選時鐘在信號ECLK上輸出,以便外部系統(tǒng)使用。在監(jiān)控模式下,內(nèi)核由MCLK供給時鐘,且不使用DCLK。所以,首先應(yīng)供給存儲器時鐘MCLK。由于該系統(tǒng)除了擁有ARM7TDMI 核外,還包括電源管理模塊、復(fù)位管理模塊、狀態(tài)和控制寄存器等,應(yīng)當額外供給時鐘MCLK1 和MCLK2。用以驗證可復(fù)用IP 的芯片APEX20K,也需要提供至少2 個時鐘(FP2GA2CLK1 和FPGA2CLK2);用做配置芯片的PLD 也需要提供一個時鐘(PLD2CLK) ;各個FPGA 和整個FPGA電路設(shè)計都采用全局時鐘控制方式,所有的時鐘都是由ICS525201 芯片產(chǎn)生,該芯片是一種可調(diào)時鐘芯片。              


圖3  時鐘電路

時鐘頻率f CLK用下式調(diào)節(jié):





式中:f i 為輸入頻率;v 為4~511 中的自然數(shù);r 為0~127 中的自然數(shù);OD 值由S[0 ,1 ,2 ]的3 位決定,S2S1S0的組合為:000 對應(yīng)十進制10 ,001 對應(yīng)2 ,010 對應(yīng)8 ,011 對應(yīng)4 ,100 對應(yīng)5 ,101 對應(yīng)7 ,110 對應(yīng)9 ,111 對應(yīng)6。注意:時鐘電路的頻率調(diào)節(jié)最終通過驅(qū)動軟件進行各個參數(shù)的配置,在FPGA 內(nèi)應(yīng)有相應(yīng)的配置寄存器,同樣,下面的復(fù)位控制模塊也應(yīng)有復(fù)位配置。

復(fù)位電路的設(shè)計

復(fù)位信號包括接口模塊中的外部硬件按鍵復(fù)位信號reset 、上電復(fù)位信號power on reset 、聯(lián)合測試訪問專家組(JTAG) 復(fù)位信號nTRST 和軟件調(diào)試復(fù)位信號nSRST。以上幾個信號都是必須的常用復(fù)位信號,但ARM7TDMI 核只提供了兩個復(fù)位信號接口reset 和nTRST ,為此,以上4 個信號必須加入適當?shù)倪壿嬰娐肥蛊渥罱K形成2 個復(fù)位信號,復(fù)位信號通路必須滿足復(fù)位時序要求且與時鐘信號通路一樣越短越好。

JTAG鏈的設(shè)計

通過ARM處理器內(nèi)的JTAG測試接口,可對整個系統(tǒng)進行探測和配置。使用Altera 公司的QUARTUSII軟件對APEX20K器件進行配置時,JTAG鏈是其中的一條重要配置通路。因此,JTAG鏈的設(shè)計十分重要,其主要設(shè)計任務(wù)是對FPGA 內(nèi)的JTAG鏈與ARM 處理器內(nèi)的JTAG測試接口進行匹配連接,形成一個統(tǒng)一的JTAG鏈,它主要包括TCK、RTCK、TDI、TDO 、TMS 和FPGA 配置成功(DONE) ,以及調(diào)試請求(DBGRQ) 應(yīng)答信號(DBGACK) 、系統(tǒng)復(fù)位(SRST) 和測試復(fù)位(TRST)等信號,其中時鐘信號TCK和RTCK通路應(yīng)當設(shè)計得越短越好。至于使用JTAG模式對器件進行編程和配置,可依據(jù)參考文獻[ 1 ]第5 章進行設(shè)計。JTAG數(shù)據(jù)通路在配置和調(diào)試時各不相同,在設(shè)計時應(yīng)當選擇幾乎無導(dǎo)通電阻的多路選擇器對該信號作出合理的分配,對FPGA 器件進行配置和調(diào)試時,JTAG數(shù)據(jù)通路分別如圖4、圖5 所示。





圖4  配置時JTAG數(shù)據(jù)通路





圖5  調(diào)試時JTAG數(shù)據(jù)通路

存儲器電路的設(shè)計

ARM7TDMI 核雖給出了存儲器接口信號,但這些信號對存儲器的訪問是單一有限、擴展極為不方便的,不能適應(yīng)不同用戶對多種存儲器系統(tǒng)( Flash、NANDFlash、SRAM 和SDRAM) 的使用需求,所以大多數(shù)SoC都在片內(nèi)集成了存儲器控制器(我們開發(fā)的SoC 的片外存儲器控制器稱為EMI) ,所以該驗證平臺上設(shè)計了以上4 種存儲器, 用以驗證該EMI IP 核。由于ARM7TDMI 核除了可以實現(xiàn)32 位訪問存儲器的方式外,也可以支持16 位訪存方式,所以,通過在控制線上設(shè)置軟件可配置的開關(guān)實現(xiàn)了3 種數(shù)據(jù)寬度的訪存方式,即8 位(byte) 、16 位(half word) 和32 位(word) 的訪存方式。

驗證平臺的調(diào)試和檢驗

當該系統(tǒng)中的各個模塊在PCB 上調(diào)試成功后,該驗證平臺能否很好地驗證SoC 的IP 核的開發(fā)呢? 我們將已經(jīng)成熟的AMBA 總線IP 核的Verilog 代碼,通過Synplify 綜合,利用Altera 公司的QUARTUS Ⅱ軟件作布局布線,燒入APEX20K1500E ,再用同樣方式將新開發(fā)的EMI IP 核的Verilog 代碼燒入該FPGA(注意:在該過程中有很多綜合和布局布線技巧) ,將其中的SDRAM控制器作為驗證示例,選取其中最簡單的訪問方式,來驗證該平臺能否使用。該驗證平臺中使用的SDRAM型號為W981216BH26。上電后,首先要對所有內(nèi)存區(qū)(bank) 預(yù)充電,經(jīng)8 個自刷新周期后需要設(shè)置訪問模式,即編程模式寄存器。以上3 個過程要求如下:            

a) 預(yù)充電命令的發(fā)出要求:在時鐘周期的上升沿處CS、RAS、WE 為低,CAS 為高。

b) 自刷新命令的發(fā)出要求:在時鐘周期的上升沿處CS、RAS、CAS 和CKE 保持低,WE 為高。

c) 模式寄存器的激活:在時鐘的上升沿處RAS、CAS、CS 和WE 為低。

剛開始時,外部端口根本不能出現(xiàn)有用的波形,通過AMBA 總線的一些控制線能夠正確地引出,從而排除了該驗證平臺原理的正確性和PCB 上的硬件可靠性的疑問,再將內(nèi)部狀態(tài)機的各個信號采出進行分析后,發(fā)現(xiàn)狀態(tài)機設(shè)計得不能工作,經(jīng)過修改代碼后,重新采集端口信號如圖6 所示。



圖6  預(yù)充電、自刷新

從圖6 中tr 線處的時序看出,上電后滿足預(yù)充電命令的要求,緊接著是8 個自刷新命令,最后是模式寄存器的設(shè)置,命令字為020H( 00100000B) ,即CASLatency 設(shè)置為2 個時鐘周期, Addressing Mode 為Sequential 模式, Burst Length 為1 個數(shù)據(jù)訪問模式,模式設(shè)置命令通過地址線a02a9 發(fā)出,如圖7 所示。




圖7  模式設(shè)置

將該SDRAM的地址映射成為從30000000 的地址空間開始的地址,利用SDRAM驅(qū)動程序(協(xié)同調(diào)試時,應(yīng)通過實時操作系統(tǒng)進行SDRAM 的讀寫) , 向以30000000 開始的地址空間連續(xù)寫入300 個從數(shù)據(jù)0 遞增到299 的數(shù),截取中間一段波形如圖8 所示。圖6~圖8 中各信號如下:clk 為同步時鐘,圖中是10 MHz ;cse 為EMI 的8 個片選信號之一,即SDRAM的片選信號cs;ras 和cas 為SDRAM 的控制信號;we 為SDRAM 的讀寫控制信號;bank021 為SDRAM 的4 個bank 選擇控制信號;sd10 為既是SDRAM 的控制信號又是地址信號a10;a0211 為不包括a10 的地址信號;dqm021 為字節(jié)選擇信號;d027 為低位數(shù)據(jù)線。              



圖8  寫時序

寫命令應(yīng)當滿足的時序要求是:在時鐘周期的上升沿處RAS 高,WE、CS、CAS 低;第一個要寫的數(shù)據(jù)必須與寫命令同時發(fā)出。從圖8 可以看出,確實能夠成功執(zhí)行寫操作訪問。注意: 在寫之前,必須將該bank激活,只有激活的bank 才能進行讀寫,圖中的激活命令沒有顯示出來,同時,由于該訪問總共300 個地址完全在一個行內(nèi),不用對其進行行預(yù)充電和再激活(在一個已經(jīng)激活的bank 內(nèi),讀寫不同的行就要求對該bank進行預(yù)充電和再激活) 。

通過圖6~圖8 ,還可以看出各種操作命令的建立時間Tsetup和保持時間Thold都設(shè)置得比較緊,幾乎剛好滿足。這種IP 核沒有給用戶留出足夠的余量,一旦用戶對PCB 的制作稍有不慎,在PCB 板級違反建立時間和保持時間極有可能,造成SDRAM 的不正確訪問,所以需要進行檢查和修改。經(jīng)過前端人員的仿真驗證,代碼中確實存在忽略建立時間和保持時間的問題,修改后重新在該平臺進行驗證,以上兩個時間都能很好地滿足,且有足夠的余量。另外,從圖中可以看出,數(shù)據(jù)線上有一些毛刺,這是由于FPGA 的I/ O 端口引腳對邏輯分析儀的接口沒有很好地分配造成的,重新分配FPGA 的I/ O 端口,絕大部分毛刺都能很好地消除。

通過以上實驗,說明該驗證平臺確實能夠達到驗證SOC IP 核的目的。要注意的是,當要驗證各個IP模塊(包括INT 中斷控制器、DMA 控制器、LCD 控制器和AC97 控制器等) 之間協(xié)同工作時,燒入的代碼較多,占用FPGA 資源較多,再加上需要實時運行,例如,播放PM3 實時解碼過程中,時鐘至少要求60 MHz ,需要工作的IP 核有總線、DMA 控制器、INT 中斷控制器、AC97 控制器等,在這種情況下,最好使用Multi PointSynthesis 的綜合流程和Timing driven 的綜合與優(yōu)化策略,使用Logic-lock 約束技術(shù)和人工干預(yù)布局布線,才能達到預(yù)期目的。

使用該平臺對我們開發(fā)的SoC 的各個模塊進行了驗證,并在10 MHz~70 MHz 條件下與代碼前(后) 仿真結(jié)果和SoC 實測結(jié)果進行了比較,結(jié)果見圖9。可以看出,該FPGA 驗證平臺在多模塊、高速情況下,性能有所下降,需進一步提高綜合和布局布線技術(shù)。              
               
               
               





圖9  代碼仿真、FPG平臺驗證及SoC芯片實測結(jié)果比較

結(jié)束語

本文提出了一種常用的基于ARM內(nèi)核SoC 的FPGA 驗證環(huán)境的設(shè)計方法,并給出了電路結(jié)構(gòu)框圖和相應(yīng)的外圍電路設(shè)計。根據(jù)該設(shè)計, 在FPGA 內(nèi)實現(xiàn)AMBA 總線、存儲器接口和中斷控制器,加上外面的ARM處理器核,構(gòu)成了ARM SoC 的最小系統(tǒng),根據(jù)具體目標系統(tǒng)的需要,可以增加LCD 控制器、AC97 控制器、USB 控制器等模塊,構(gòu)成一個非常實用的驗證平臺。在IP 核燒入后,可以使用ARM ADS(ARM Developer Suite) 軟件開發(fā)工具,在線對設(shè)計的硬件電路、硬件驅(qū)動軟件、操作系統(tǒng)和高層應(yīng)用軟件進行調(diào)試,從而大大縮短了基于SoC 芯片的應(yīng)用系統(tǒng)的開發(fā)時間。隨著FPGA 的飛速發(fā)展,用戶可以選用更加先進和方便使用的FPGA ,還可選用內(nèi)嵌ARM 核的FPGA 芯片來構(gòu)建驗證平臺。同時,該系統(tǒng)在電壓設(shè)計、模塊選用甚至處理器核的選用方面都考慮了升級擴展技術(shù),可供其他SoC 的驗證借鑒。
本文地址:http://m.qingdxww.cn/thread-36134-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓(xùn)教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一级毛片免费观看不卡的 | 亚洲国产成人最新精品资源 | 母亲的朋友在线观看完整版的 | 成人黄色片在线观看 | 污网站在线观看 | 国产成人精品三级在线 | 日本高清在线免费观看 | 免费观看日韩大尺码观看 | 国产香蕉视频在线播放 | 国产麻豆高清在线观看 | 欧美日本一本线在线观看 | 欧美国产伦久久久久 | 蘑菇香蕉茄子绿巨人丝瓜草莓 | 人人干天天干 | 在线观看精品视频一区二区三区 | 特级片免费看 | 免费一级毛片在线播放 | 欧美一级在线观看视频 | 国内精品伊人久久 | 夜夜超b天天| 老子不卡 | 岛国大片在线播放高清 | 久久这里只有精品免费看青草 | 老司机精品久久 | 亚洲激情婷婷 | 自拍偷拍欧美视频 | 国产精品国产香蕉在线观看网 | 久久久久久久久久免费视频 | 国产激情视频在线播放 | 亚洲zscs综合网站 | 羞羞免费观看网站 | 中文字幕一区二区三区免费视频 | 国产激情对白一区二区三区四 | 精品国产免费观看一区高清 | 一级一级一片免费高清 | 久久综合结合久久很很很97色 | 欧美三级在线观看视频 | 国产精品爽爽va在线观看网站 | 正在播放国产无套露脸 | 国产日产欧产麻豆精品精品推荐 | 亚洲二区在线播放 |