新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 一種基于ARM內(nèi)核SoC的FPGA 驗證環(huán)境設(shè)計方法

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

作者: 時間:2012-11-13 來源:網(wǎng)絡 收藏


時鐘信號電路的設(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。所以,首先應供給存儲器時鐘MCLK。由于該系統(tǒng)除了擁有ARM7TDMI 核外,還包括電源管理模塊、復位管理模塊、狀態(tài)和控制寄存器等,應當額外供給時鐘MCLK1 和MCLK2。用以驗證可復用IP 的芯片APEX20K,也需要提供至少2 個時鐘(FP2GA2CLK1 和2CLK2);用做配置芯片的PLD 也需要提供一個時鐘(PLD2CLK) ;各個 和整個電路設(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 對應十進制10 ,001 對應2 ,010 對應8 ,011 對應4 ,100 對應5 ,101 對應7 ,110 對應9 ,111 對應6。注意:時鐘電路的頻率調(diào)節(jié)最終通過驅(qū)動軟件進行各個參數(shù)的配置,在FPGA 內(nèi)應有相應的配置寄存器,同樣,下面的復位控制模塊也應有復位配置。

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

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

圖4  配置時JTAG數(shù)據(jù)通路
 
圖5  調(diào)試時JTAG數(shù)據(jù)通路
 
存儲器電路的設(shè)計
ARM7TDMI 核雖給出了存儲器接口信號,但這些信號對存儲器的訪問是單一有限、擴展極為不方便的,不能適應不同用戶對多種存儲器系統(tǒng)( Flash、NANDFlash、SRAM 和SDRAM) 的使用需求,所以大多數(shù)都在片內(nèi)集成了存儲器控制器(我們開發(fā)的 的片外存儲器控制器稱為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)試成功后,該驗證平臺能否很好地驗證 的IP 核的開發(fā)呢? 我們將已經(jīng)成熟的AMBA 總線IP 核的Verilog 代碼,通過Synplify 綜合,利用Altera 公司的QUARTUS Ⅱ軟件作布局布線,燒入APEX20K1500E ,再用同樣方式將新開發(fā)的EMI IP 核的Verilog 代碼燒入該FPGA(注意:在該過程中有很多綜合和布局布線技巧) ,將其中的SDRAM控制器作為驗證示例,選取其中最簡單的訪問方式,來驗證該平臺能否使用。該驗證平臺中使用的SDRAM型號為W981216BH26。上電后,首先要對所有內(nèi)存區(qū)(bank) 預充電,經(jīng)8 個自刷新周期后需要設(shè)置訪問模式,即編程模式寄存器。以上3 個過程要求如下:
a) 預充電命令的發(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 所示。


關(guān)鍵詞: ARM內(nèi)核 SoC FPGA

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉