基于JTAG邊界掃描方式的重構(gòu)控制器的設(shè)計
仲裁與時序控制模塊
本文引用地址:http://butianyuan.cn/article/105941.htm仲裁與時序控制模塊主要完成對重構(gòu)控制器內(nèi)部各模塊的仲裁與時序控制。協(xié)調(diào)各模塊之間的數(shù)據(jù)流向。其具體的功能包括提供內(nèi)部各模塊所需的時鐘信號,并進(jìn)行相應(yīng)的時序控制;以及對內(nèi)部數(shù)據(jù)流的切換控制。
TCK,TMS,TDI,TDO產(chǎn)生模塊
TCK: JTAG配置時鐘輸入,所有基于JTAG的操作都必須同步于JTAG時鐘信號TCK。關(guān)鍵時序關(guān)系是:TMS和TDI采樣于TCK的上升邊沿,一個新的 TDO值將于TCK下降邊沿后出現(xiàn),因此一般情況下JTAG的時鐘不會太高。
TMS:模式選擇,控制JTAG狀態(tài)轉(zhuǎn)移,同步時鐘TCK上升沿時刻TMS的狀態(tài)決定狀態(tài)轉(zhuǎn)移過程。
TDI :配置數(shù)據(jù)輸入,配置數(shù)據(jù)在TCK的上升沿采樣進(jìn)入數(shù)據(jù)移位寄存器(SDR);
TDO:配置數(shù)據(jù)輸出,在TCK的下降沿從移位寄存器移出,輸出數(shù)據(jù)與輸入到TDI的數(shù)據(jù)應(yīng)不出現(xiàn)倒置。
目標(biāo)板
目標(biāo)板上被重構(gòu)的FPGA由支持重構(gòu)的Xilinx公司的VIRTEX-4系列FPGA來實現(xiàn),以菊花鏈方式串聯(lián),支持JTAG邊界掃描模式配置。
TAP控制器是16個狀態(tài)的有限狀態(tài)機(jī),主要為JTAG接口提供控制邏輯。主要有四大狀態(tài):復(fù)位(RESET),空閑(idle),數(shù)據(jù)寄存器移位(SDR)和指令寄存器移位(SIR)狀態(tài), 在TCK,TMS的控制下,根據(jù)輸入的配置指令實現(xiàn)狀態(tài)的轉(zhuǎn)移。Xlinx公司Virtex4系列 FPGA器件的邊界掃描指令集中有三條專用于配置的邊界掃描指令:CFG_IN、BYPASS和JSTART(10個bit位)。其中CFG_IN的代碼:0101001111;BYPASS的代碼:1111111111;JSTART的代碼:0011001111。執(zhí)行CFG_IN指令可以訪問器件內(nèi)部的配置總線,通過串行移入配置文件中的命令和數(shù)據(jù)執(zhí)行對內(nèi)部配置寄存器的讀寫,從而完成對FPGA的配置。BYPASS指令在對多個目標(biāo)器件配置時可以旁路不需要重配置的器件。JSTART指令使用TCK時鐘觸發(fā)啟動時序,使FPGA完成從配置狀態(tài)到操作狀態(tài)的轉(zhuǎn)換,激活FPGA。圖3為可重構(gòu)控制器模擬TAP狀態(tài)機(jī)配置指令執(zhí)行的狀態(tài)轉(zhuǎn)移圖。
評論