基于ARM內(nèi)核SoC的FPGA 驗證環(huán)境設計方法
JTAG鏈的設計
通過ARM處理器內(nèi)的JTAG測試接口,可對整個系統(tǒng)進行探測和配置。使用Altera 公司的QUARTUSII軟件對APEX20K器件進行配置時,JTAG鏈是其中的一條重要配置通路。因此,JTAG鏈的設計十分重要,其主要設計任務是對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通路應當設計得越短越好。至于使用JTAG模式對器件進行編程和配置,可依據(jù)參考文獻[ 1 ]第5 章進行設計。JTAG數(shù)據(jù)通路在配置和調(diào)試時各不相同,在設計時應當選擇幾乎無導通電阻的多路選擇器對該信號作出合理的分配,對FPGA 器件進行配置和調(diào)試時,JTAG數(shù)據(jù)通路分別如圖4、圖5 所示。
圖4 配置時JTAG數(shù)據(jù)通路
圖5 調(diào)試時JTAG數(shù)據(jù)通路
存儲器電路的設計
ARM7TDMI 核雖給出了存儲器接口信號,但這些信號對存儲器的訪問是單一有限、擴展極為不方便的,不能適應不同用戶對多種存儲器系統(tǒng)( Flash、NANDFlash、SRAM 和SDRAM) 的使用需求,所以大多數(shù)SoC都在片內(nèi)集成了存儲器控制器(我們開發(fā)的SoC 的片外存儲器控制器稱為EMI) ,所以該驗證平臺上設計了以上4 種存儲器, 用以驗證該EMI IP 核。由于ARM7TDMI 核除了可以實現(xiàn)32 位訪問存儲器的方式外,也可以支持16 位訪存方式,所以,通過在控制線上設置軟件可配置的開關實現(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) 預充電,經(jīng)8 個自刷新周期后需要設置訪問模式,即編程模式寄存器。以上3 個過程要求如下:
評論