基于ARM內(nèi)核SoC的FPGA 驗(yàn)證環(huán)境設(shè)計(jì)方法
JTAG鏈的設(shè)計(jì)
通過(guò)ARM處理器內(nèi)的JTAG測(cè)試接口,可對(duì)整個(gè)系統(tǒng)進(jìn)行探測(cè)和配置。使用Altera 公司的QUARTUSII軟件對(duì)APEX20K器件進(jìn)行配置時(shí),JTAG鏈?zhǔn)瞧渲械囊粭l重要配置通路。因此,JTAG鏈的設(shè)計(jì)十分重要,其主要設(shè)計(jì)任務(wù)是對(duì)FPGA 內(nèi)的JTAG鏈與ARM 處理器內(nèi)的JTAG測(cè)試接口進(jìn)行匹配連接,形成一個(gè)統(tǒng)一的JTAG鏈,它主要包括TCK、RTCK、TDI、TDO 、TMS 和FPGA 配置成功(DONE) ,以及調(diào)試請(qǐng)求(DBGRQ) 應(yīng)答信號(hào)(DBGACK) 、系統(tǒng)復(fù)位(SRST) 和測(cè)試復(fù)位(TRST)等信號(hào),其中時(shí)鐘信號(hào)TCK和RTCK通路應(yīng)當(dāng)設(shè)計(jì)得越短越好。至于使用JTAG模式對(duì)器件進(jìn)行編程和配置,可依據(jù)參考文獻(xiàn)[ 1 ]第5 章進(jìn)行設(shè)計(jì)。JTAG數(shù)據(jù)通路在配置和調(diào)試時(shí)各不相同,在設(shè)計(jì)時(shí)應(yīng)當(dāng)選擇幾乎無(wú)導(dǎo)通電阻的多路選擇器對(duì)該信號(hào)作出合理的分配,對(duì)FPGA 器件進(jìn)行配置和調(diào)試時(shí),JTAG數(shù)據(jù)通路分別如圖4、圖5 所示。
圖4 配置時(shí)JTAG數(shù)據(jù)通路
圖5 調(diào)試時(shí)JTAG數(shù)據(jù)通路
存儲(chǔ)器電路的設(shè)計(jì)
ARM7TDMI 核雖給出了存儲(chǔ)器接口信號(hào),但這些信號(hào)對(duì)存儲(chǔ)器的訪問(wèn)是單一有限、擴(kuò)展極為不方便的,不能適應(yīng)不同用戶對(duì)多種存儲(chǔ)器系統(tǒng)( Flash、NANDFlash、SRAM 和SDRAM) 的使用需求,所以大多數(shù)SoC都在片內(nèi)集成了存儲(chǔ)器控制器(我們開(kāi)發(fā)的SoC 的片外存儲(chǔ)器控制器稱為EMI) ,所以該驗(yàn)證平臺(tái)上設(shè)計(jì)了以上4 種存儲(chǔ)器, 用以驗(yàn)證該EMI IP 核。由于ARM7TDMI 核除了可以實(shí)現(xiàn)32 位訪問(wèn)存儲(chǔ)器的方式外,也可以支持16 位訪存方式,所以,通過(guò)在控制線上設(shè)置軟件可配置的開(kāi)關(guān)實(shí)現(xiàn)了3 種數(shù)據(jù)寬度的訪存方式,即8 位(byte) 、16 位(half word) 和32 位(word) 的訪存方式。
驗(yàn)證平臺(tái)的調(diào)試和檢驗(yàn)
當(dāng)該系統(tǒng)中的各個(gè)模塊在PCB 上調(diào)試成功后,該驗(yàn)證平臺(tái)能否很好地驗(yàn)證SoC 的IP 核的開(kāi)發(fā)呢? 我們將已經(jīng)成熟的AMBA 總線IP 核的Verilog 代碼,通過(guò)Synplify 綜合,利用Altera 公司的QUARTUS Ⅱ軟件作布局布線,燒入APEX20K1500E ,再用同樣方式將新開(kāi)發(fā)的EMI IP 核的Verilog 代碼燒入該FPGA(注意:在該過(guò)程中有很多綜合和布局布線技巧) ,將其中的SDRAM控制器作為驗(yàn)證示例,選取其中最簡(jiǎn)單的訪問(wèn)方式,來(lái)驗(yàn)證該平臺(tái)能否使用。該驗(yàn)證平臺(tái)中使用的SDRAM型號(hào)為W981216BH26。上電后,首先要對(duì)所有內(nèi)存區(qū)(bank) 預(yù)充電,經(jīng)8 個(gè)自刷新周期后需要設(shè)置訪問(wèn)模式,即編程模式寄存器。以上3 個(gè)過(guò)程要求如下:
評(píng)論