999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ARM+FPGA的重構(gòu)控制器設(shè)計(jì)

2010-04-12 00:00:00張寶利龔龍慶
現(xiàn)代電子技術(shù) 2010年1期

摘 要:為滿足可重配置系統(tǒng)的靈活性要求,介紹了一種“ARM處理器+FPGA”結(jié)構(gòu)的重構(gòu)控制器的設(shè)計(jì),提出由ARM微處理器通過模擬JTAG接口的FPGA在系統(tǒng)配置目標(biāo)可編程器件的方法。給出系統(tǒng)設(shè)計(jì)的硬件結(jié)構(gòu),并詳細(xì)介紹了JTAG在系統(tǒng)配置FPGA的時(shí)序要求,以及在此結(jié)構(gòu)中如何利用IEEE JTAG 1149.1邊界掃描測試技術(shù)和描述JTAG總線標(biāo)準(zhǔn)的XSVF格式配置文件來實(shí)現(xiàn)對(duì)目標(biāo)可編程器件進(jìn)行在系統(tǒng)配置。

關(guān)鍵詞:JTAG接口;FPGA;重構(gòu);XSVF格式

中圖分類號(hào):TP29文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2010)01-195-03

Design of Reconfigurable Controller Based on ARM and FPGA

ZHANG Baoli,GONG Longqing,F(xiàn)ANG Chao

(No.771 Research Institute of CASC,Xi′an,710054,China)

Abstract:The design of reconfigurable controller based on ARM and FPGA is introduced.The method of FPGA configuration with JTAG mode using ARM processor which added the higher flexibility of the reconfigurable system.System structure and function are discussed,the timing using IEEE JTAG 1149.1 mode and XSVF form configuration files to configurate FPGA on the system.

Keywords:JTAG interface;FPGA;reconfiguration;XSVF

可重構(gòu)技術(shù)是指利用可重用的軟硬件資源,根據(jù)不同的應(yīng)用需求,靈活地改變自身體系結(jié)構(gòu)的設(shè)計(jì)方法。常規(guī)SRAM 工藝的FPGA 都可以實(shí)現(xiàn)重構(gòu),利用硬件復(fù)用原理,本文設(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)工作效率。

1 SVF格式配置文件

很多嵌入式系統(tǒng)中都用到了FPGA/CPLD等可編程器件,在這些系統(tǒng)中利用SVF格式配置文件[1]就可以方便地通過微控制器對(duì)可編程器件進(jìn)行重新配置。目前可編程芯片廠商的配套軟件都可以生成可編程器件的SVF格式配置文件,串行矢量格式(SVF)是一種用于說明高層IEEE 1149.1(JTAG)總線操作的語法規(guī)范。SVF由Texas Instruments開發(fā),并已成為數(shù)據(jù)交換標(biāo)準(zhǔn)而被Teradyne,Tektronix等JTAG測試設(shè)備及軟件制造商采用。Xilinx的FPGA以及配置PROM[2]可通過JTAG接口中TAP控制器接收SVF格式的編程指令。由于SVF文件由ASCII語句構(gòu)成,它要求較大的存儲(chǔ)空間,并且存儲(chǔ)效率很低,無法勝任嵌入式應(yīng)用。為了在嵌入式系統(tǒng)中充分利用其有限的存儲(chǔ)空間,并不直接利用SVF文件對(duì)可編程器件進(jìn)行在系統(tǒng)編程[3],而是將SVF文件轉(zhuǎn)換成另一種存儲(chǔ)效率比較高的二進(jìn)制格式的文件,把它存儲(chǔ)在數(shù)據(jù)存儲(chǔ)器中。Xilinx公司提供用于創(chuàng)建器件編程文件的iMPACT工具,該工具隨附于標(biāo)準(zhǔn)Xilinx ISETM軟件內(nèi)。iMPACT軟件能自動(dòng)讀取標(biāo)準(zhǔn)的BIT/MCS器件編程文件,并將其轉(zhuǎn)換為緊湊的二進(jìn)制XSVF格式。

本設(shè)計(jì)是基于“ARM處理器+FPGA”結(jié)構(gòu)的重構(gòu)控制器,重構(gòu)控制器中的FPGA能夠根據(jù)ARM處理器傳送來的命令,對(duì)目標(biāo)可編程器件JTAG接口進(jìn)行控制,并負(fù)責(zé)解譯XSVF格式的配置文件信息,生成Xilinx器件所用的編程指令、數(shù)據(jù)和控制信號(hào)(TMS,TDI,TCK序列)向目標(biāo)可編程器件的JTAG TAP控制器[4]提供所需的激勵(lì),從而執(zhí)行最初在XSVF文件內(nèi)指定的編程和(可選的)測試操作。使目標(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)了硬件復(fù)用,減少成本。

2 邊界掃描(JTAG)原理[4]

2.1 JTAG接口基本結(jié)構(gòu)

JTAG(Joint Test Action Group,聯(lián)合測試行動(dòng)小組)是一種國際標(biāo)準(zhǔn)測試協(xié)議(IEEE 1149.1兼容),其工作原理是在器件內(nèi)部定義一個(gè)測試訪問端口(Test Access Port,TAP),通過專用的JTAG測試工具對(duì)內(nèi)部節(jié)點(diǎn)進(jìn)行測試和調(diào)試。TAP是一個(gè)通用的端口,外部控制器通過TAP可以訪問芯片提供的所有數(shù)據(jù)寄存器和指令寄存器?,F(xiàn)在JTAG接口還常用于芯片的在線配置(In-System Programmable,ISP),對(duì)PLD,F(xiàn)LASH等器件進(jìn)行配置。JTAG允許多個(gè)器件通過JTAG接口串聯(lián)在一起,形成一個(gè)JTAG鏈,實(shí)現(xiàn)對(duì)各個(gè)器件分別測試和在系統(tǒng)配置。

JTAG主要由三部分構(gòu)成:TAP控制器、指令寄存器和數(shù)據(jù)寄存器,如圖1所示。標(biāo)準(zhǔn)的JTAG接口有四組輸出線:TMS,TCK,TDI,TDO,以及1個(gè)可選信號(hào)TRST。

圖1 JTAG結(jié)構(gòu)

TCK:JTAG測試時(shí)鐘輸入,當(dāng)TCK保持在零狀態(tài)時(shí),測試邏輯狀態(tài)應(yīng)保持不變;

TMS:測試模式選擇,控制JTAG狀態(tài),如選擇寄存器、數(shù)據(jù)加載、測試結(jié)果輸出等,出現(xiàn)在TMS的信號(hào)在TCK的上升沿由測試邏輯采樣進(jìn)入TAP控制器;

TDI:測試數(shù)據(jù)輸入,測試數(shù)據(jù)在TCK的上升沿采樣進(jìn)入移位寄存器(SR);

TDO:測試數(shù)據(jù)輸出,測試結(jié)果在TCK的下降沿從移位寄存器(SR)移出,輸出數(shù)據(jù)與輸入到TDI的數(shù)據(jù)應(yīng)不出現(xiàn)倒置;

TRST:可選復(fù)位信號(hào),低電平有效。

Xilinx器件[5]接受使用 JTAG TAP 的編程指令和測試指令。在IEEE 1149.1的標(biāo)準(zhǔn)中,用于CPLD,F(xiàn)PGA以及配置PROM的常見指令有:旁路(BYPASS)指令,通過用1 b長的BYPASS寄存器將TDI 與 TDO 直接連接,繞過(即旁路)邊界掃描鏈中的某個(gè)器件; EXTEST 指令,將器件I/O引腳與內(nèi)部器件電路分離,以實(shí)現(xiàn)器件間的連接測試,它通過器件引腳應(yīng)用測試值并捕獲結(jié)果;IDCODE指令,返回用于定義部件類型、制造商和版本編號(hào)的 32 位硬件級(jí)別的識(shí)別碼;HIGHZ指令,使所有器件引腳懸置為高阻抗?fàn)顟B(tài);CFGIN/CFGOUT指令,允許訪問配置和讀回所用的配置總線;JSTART,當(dāng)啟動(dòng)時(shí)鐘=JTAGCLK時(shí)為啟動(dòng)時(shí)序提供時(shí)鐘。

2.2 Tap狀態(tài)機(jī)時(shí)序介紹[4]

JTAG邊界掃描測試由測試訪問端口的TAP控制器管理。TMS,TRST 和TCK引腳管理TAP控制器的操作,TDI和TDO位數(shù)據(jù)寄存器提供串行通道。TDI也為指令寄存器提供數(shù)據(jù),然后為數(shù)據(jù)寄存器產(chǎn)生控制邏輯。對(duì)于選擇寄存器、裝載數(shù)據(jù)、檢測和將結(jié)果移出的控制信號(hào),由測試時(shí)鐘(TCK)和測試模式(TMS)選擇兩個(gè)信號(hào)控制。測試復(fù)位信號(hào)(TRST,一般以低電平有效)一般作為可選的第五個(gè)端口信號(hào)。

如圖2所示,所有基于JTAG的操作都必須同步于JTAG時(shí)鐘信號(hào)TCK。所有測試邏輯的變化(例如指令寄存器,數(shù)據(jù)寄存器等)必須出現(xiàn)在TCK的上升沿或下降沿。關(guān)鍵時(shí)序關(guān)系是:TMS和TDI采樣于TCK的上升邊沿,一個(gè)新的TDO值將于TCK下降邊沿后出現(xiàn),因此一般情況下JTAG的時(shí)鐘不會(huì)太高。

圖2 JTAG電路的時(shí)序關(guān)系示意圖

圖3表示了IEEE 1149.1標(biāo)準(zhǔn)定義的TAP控制器的狀態(tài)圖,TAP控制器是16個(gè)狀態(tài)的有限狀態(tài)機(jī),為JTAG接口提供控制邏輯。TAP 狀態(tài)轉(zhuǎn)移如圖3所示,箭頭上的1或0,表示TMS在TCK上升沿的值(高電平 TMS=1,低電平 TMS=0),同步時(shí)鐘TCK上升沿時(shí)刻TMS的狀態(tài)決定狀態(tài)轉(zhuǎn)移過程。對(duì)于TDI端輸入到器件的配置數(shù)據(jù)有兩個(gè)狀態(tài)變化路徑:一個(gè)用于移指令到指令寄存器中,另一個(gè)用于移數(shù)據(jù)到有效的數(shù)據(jù)寄存器,該寄存器的值由當(dāng)前執(zhí)行的JTAG指令決定。當(dāng)TAP控制器處于指令寄存器移位(SHIFT-IR)狀態(tài)時(shí),對(duì)于每一個(gè)TCK的上升沿,連接在TDI和TDO之間的指令寄存器組中的移位寄存器向串行輸出方向移一位。

當(dāng)TMS保持為高電平時(shí),在TCK的上升沿TAP控制器進(jìn)入到“EXIT1-IR”狀態(tài);當(dāng)TMS為低電平時(shí),TAP控制器保持在“指令寄存器移位”狀態(tài)。

圖3 TAP控制器

3 重構(gòu)控制器設(shè)計(jì)

3.1 硬件系統(tǒng)組成

其主要功能是控制按照用戶不同需求控制調(diào)用不同的方案配置目標(biāo)可編程器件。它主要包括ARM處理器、FPGA、FLASH存儲(chǔ)器和對(duì)外總線接口,各功能部件主要功能如下:

(1) ARM處理器選用AT91FR40162S,其主要功能是控制模擬JTAG接口的FPGA讀取FLASH存儲(chǔ)器中的重構(gòu)方案,實(shí)現(xiàn)在系統(tǒng)配置;

(2) FPGA協(xié)處理器選用Xilinx公司SPARTEN3AN系列的XC3S700AN-FGG484[6],是基于非易失性存儲(chǔ)的FPGA,自身帶有PROM,它作為外部總線和ARM控制器之間的雙端口,主要功能是模擬JTAG接口實(shí)現(xiàn)TAP控制器時(shí)序,完成配置方案數(shù)據(jù)的并串轉(zhuǎn)換并輸出至外部總線;

(3) FLASH存儲(chǔ)器容量為32M×16 b,用于處理器的上電引導(dǎo)、存放多種重構(gòu)配置方案。由于要求的存儲(chǔ)容量較大,采用SPANSION公司[2]S29GL512P(32M×16 b)的存儲(chǔ)空間,訪問速度為110 ns,可以達(dá)到25 ns快速頁存取和相應(yīng)的90 ns隨機(jī)存取時(shí)間,F(xiàn)BGA封裝;

(4) 外部總線接口,可采用1路RS 232驅(qū)動(dòng)接收器,實(shí)現(xiàn)和外部通信的接口;

(5) 測試線TCK,TMS,TDI和TDO,是重構(gòu)控制器向目標(biāo)可編程器件提供所需的JTAG TAP 激勵(lì)[7],分別控制目標(biāo)多個(gè)FPGA的重構(gòu)配置和反饋重構(gòu)信息。

3.2 重構(gòu)控制器工作原理

ARM執(zhí)行的初始化工作包括程序更新加載運(yùn)行,F(xiàn)PGA參數(shù)設(shè)定等;FPGA設(shè)定內(nèi)部寄存器和邏輯狀態(tài)的初始值、內(nèi)部緩沖區(qū)數(shù)據(jù)清零等。

重構(gòu)控制器示意圖如圖4所示。圖中ARM處理器一方面通過ARM總線讀取外部FLASH中的配置方案,對(duì)其進(jìn)行并串轉(zhuǎn)化操作,將其存儲(chǔ)到FLASH存儲(chǔ)器中;另一方面重構(gòu)控制器中模擬TAP控制器的FPGA,從ARM內(nèi)置的FLASH存儲(chǔ)器中讀取配置文件,并執(zhí)行ARM處理器發(fā)出的指令解譯該文件,重構(gòu)控制器解釋二進(jìn)制文件方法如下:在ARM處理器的控制下,從裝載配置文件的FLASH中讀出一個(gè)字節(jié),判斷是哪條JTAG指令,然后根據(jù)指令的格式作具體的處理,產(chǎn)生TCK,TMS,TDI 和TDO信號(hào),作為目標(biāo)可編程器件的JTAG接口激勵(lì),與目標(biāo)可編程器件的JTAG口串聯(lián)成菊花鏈,在ARM處理器的控制下,對(duì)目標(biāo)可編程器件進(jìn)行在系統(tǒng)編程。被重構(gòu)的FPGA由支持局部動(dòng)態(tài)重構(gòu)的Xilinx公司的Virtex-4系列FPGA來實(shí)現(xiàn)。

圖4 重構(gòu)控制器結(jié)構(gòu)框圖

4 結(jié) 語

本文介紹的重構(gòu)控制器既具有ARM微控制器所擁有的高速處理器核、體積小、集成度高、運(yùn)算速度快、存儲(chǔ)器容量大、功耗低等特點(diǎn),又具有FPGA強(qiáng)大的并行計(jì)算能力和方便靈活的動(dòng)態(tài)可重構(gòu)性,使硬件信息(可編程器件的配置信息)像軟件程序一樣被動(dòng)態(tài)調(diào)用或修改。對(duì)于特定的目標(biāo)FPGA芯片,在一定控制邏輯的驅(qū)動(dòng)下,對(duì)芯片的全部或部分邏輯資源重新進(jìn)行動(dòng)態(tài)配置,從而實(shí)現(xiàn)硬件的時(shí)分復(fù)用,靈活快速地改變系統(tǒng)功能,節(jié)省邏輯資源,滿足大規(guī)模應(yīng)用需求。

參考文獻(xiàn)

[1]Xilinx.SVF and XSVF File Formats for Xilinx Devices[Z].V2.0.2007.

[2]Xilinx.Platform Flash PROM User Guide[Z].V1.0.2005.

[3]韓曉茹,肖鐵軍.嵌入式系統(tǒng)中CPLD器件的在系統(tǒng)編程[J].計(jì)算機(jī)工程,2003,29(14):172-173.

[4]IEEE Std.1149.1-2001,Test Access Port and Boundary Scan Architecture.IEEE,2001.

[5]Xilinx.Virtex-4 Configuration Guide[Z].V1.5.2007.

[6]Xilinx.Configuration and Readback of the Spartan-II and Spartan-IIE Families[Z].2002.

[7]趙蕙.邊界掃描測試技術(shù)在遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)中的應(yīng)用研究[D].鎮(zhèn)江:江蘇大學(xué),2005.

[8]吳冬冬.一種基于FPGA的可重構(gòu)計(jì)算系統(tǒng)設(shè)計(jì)[D].北京: 中國科學(xué)院計(jì)算技術(shù)研究所,2006.

[9]ARM Ltd.ARM9TDMITMTechnical Reference Manual[Z].2008.

主站蜘蛛池模板: 五月天综合婷婷| 日韩精品无码不卡无码| 91精品小视频| 国产激情无码一区二区免费| 青青青国产视频手机| 国产一级毛片yw| 无码精品国产dvd在线观看9久| 国产精品女熟高潮视频| 在线人成精品免费视频| 国产内射在线观看| 亚洲欧美综合在线观看| 国产一级无码不卡视频| 波多野结衣第一页| 老司机精品99在线播放| 人妻精品全国免费视频| 成人欧美日韩| 欧美日韩激情在线| A级全黄试看30分钟小视频| 亚洲日韩在线满18点击进入| 国产91在线免费视频| 无码av免费不卡在线观看| 无码啪啪精品天堂浪潮av| 18禁色诱爆乳网站| 欧美视频在线播放观看免费福利资源 | 亚洲最大在线观看| 国产毛片基地| 六月婷婷综合| 国产精品永久免费嫩草研究院| 亚洲成a人在线播放www| 欧美精品啪啪| 夜夜操国产| 国产91九色在线播放| 国产一在线观看| 欧美午夜一区| 99在线观看视频免费| 久久国产成人精品国产成人亚洲 | 在线a视频免费观看| 国产精品99久久久久久董美香| 高清码无在线看| 国产精品妖精视频| 国产中文在线亚洲精品官网| 99久久精品无码专区免费| 第一页亚洲| a级免费视频| 欧美精品H在线播放| 亚国产欧美在线人成| 99久久人妻精品免费二区| 国产欧美高清| 99久久这里只精品麻豆| 亚洲大尺码专区影院| 日本欧美在线观看| 亚洲午夜18| 九色在线观看视频| 欧美日韩高清在线| 一级黄色片网| 欧美日韩成人| 成人蜜桃网| 亚洲AⅤ无码国产精品| 国产高清国内精品福利| 99人妻碰碰碰久久久久禁片 | 亚洲欧美精品一中文字幕| 亚洲热线99精品视频| 久久6免费视频| 亚洲男人的天堂在线| 91啦中文字幕| 91精品啪在线观看国产91九色| 在线色综合| 国产视频一二三区| 无码aaa视频| 亚洲国产综合自在线另类| 在线不卡免费视频| 亚欧成人无码AV在线播放| 国产成人乱无码视频| 亚洲欧美日韩另类在线一| 毛片在线播放网址| 老司机午夜精品网站在线观看| 日韩AV手机在线观看蜜芽| 亚洲av中文无码乱人伦在线r| 四虎成人在线视频| 中文字幕在线观看日本| 在线一级毛片| 国产成人免费|