基于JTAG邊界掃描方式的重構(gòu)控制器的設(shè)計(jì)
引言
本文引用地址:http://butianyuan.cn/article/105941.htmJTAG(聯(lián)合測(cè)試行動(dòng)小組)是一種國(guó)際標(biāo)準(zhǔn)測(cè)試協(xié)議(IEEE 1149.1兼容),目前主要用于芯片內(nèi)部測(cè)試。現(xiàn)在多數(shù)的高級(jí)器件都支持JTAG協(xié)議,如DSP、FPGA器件等。標(biāo)準(zhǔn)的JTAG接口是4線:TMS(模式選擇)、TCK(時(shí)鐘)、TDI(數(shù)據(jù)輸入)、TDO(數(shù)據(jù)輸出線)。本文利用JTAG標(biāo)準(zhǔn)協(xié)議設(shè)計(jì)一種針對(duì)同類FPGA進(jìn)行動(dòng)態(tài)重構(gòu)配置的重構(gòu)控制器。
重構(gòu)控制器硬件系統(tǒng)組成
本文介紹一種基于“ARM處理器+FPGA”架構(gòu)的重構(gòu)控制器,重構(gòu)控制器中的FPGA能夠根據(jù)ARM處理器傳送來的命令,對(duì)目標(biāo)可編程器件JTAG接口進(jìn)行控制,并模擬JTAG接口中TAP狀態(tài)機(jī)產(chǎn)生激勵(lì)信號(hào)(TMS、TDI、TCK序列),向目標(biāo)可編程器件的JTAG接口提供所需的激勵(lì),使目標(biāo)可編程器件內(nèi)的TAP狀態(tài)機(jī)進(jìn)行狀態(tài)轉(zhuǎn)換,將指令和數(shù)據(jù)掃描到FPGA內(nèi)部邊界掃描電路指令寄存器和數(shù)據(jù)寄存器中。完成一次目標(biāo)可編程器件配置,實(shí)現(xiàn)用戶此時(shí)所要求功能,在下一時(shí)段,可根據(jù)用戶新的要求,調(diào)用重構(gòu)控制器內(nèi)部存儲(chǔ)器中不同方案在系統(tǒng)重新配置目標(biāo)可編程器件,實(shí)現(xiàn)硬件的時(shí)分復(fù)用,靈活快速的改變系統(tǒng)功能,節(jié)省邏輯資源,滿足大規(guī)模應(yīng)用需求。
其主要功能是控制按照用戶不同需求調(diào)用不同的方案配置目標(biāo)可編程器件。它主要包括ARM處理器、FPGA、Flash存儲(chǔ)器,各功能部件主要功能如下:
(1) ARM處理器,其主要功能是控制模擬JTAG接口的FPGA讀取Flash存儲(chǔ)器中的重構(gòu)方案,實(shí)現(xiàn)在系統(tǒng)配置;
(2) FPGA協(xié)處理器選用Xilinx公司SPARTEN3AN系列,是基于非易失性存儲(chǔ)的FPGA,自身帶有PROM,它作為外部總線和ARM控制器之間的雙端口,主要功能是模擬JTAG接口實(shí)現(xiàn)TAP控制器時(shí)序,完成配置方案數(shù)據(jù)的并串轉(zhuǎn)換并輸出至外部總線;
(3)FLASH存儲(chǔ)器容量為32M×16bit,用于處理器的上電引導(dǎo)、存放多種重構(gòu)配置方案。由于要求的存儲(chǔ)容量較大,采用SPANSION公司[1]S29GL512P(32M×16bit)的存儲(chǔ)空間,訪問速度110ns,可以達(dá)到25ns快速頁存取和相應(yīng)的90ns隨機(jī)存取時(shí)間;
(4) 測(cè)試線TCK 、TMS 、TDI 和TDO,是重構(gòu)控制器向目標(biāo)可編程器件提供所需的JTAG TAP 激勵(lì),分別控制目標(biāo)多個(gè)FPGA的重構(gòu)配置和反饋重構(gòu)信息。
系統(tǒng)實(shí)現(xiàn)
重構(gòu)控制器
本文設(shè)計(jì)的重構(gòu)控制器采用ARM微處理器作為主控制器,以FPGA芯片作為協(xié)處理器配合主控制器工作。用戶事先根據(jù)需求設(shè)計(jì)出不同的配置方案,并存儲(chǔ)在重構(gòu)控制器內(nèi)部的存儲(chǔ)器中,上電后,重構(gòu)控制器就可以按需求將不同設(shè)計(jì)方案分時(shí)定位到目標(biāo)可編程器件內(nèi),同時(shí)保持其他部分電路功能正常,實(shí)現(xiàn)在系統(tǒng)靈活配置,提高系統(tǒng)工作效率。
評(píng)論