首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于JTAG边界扫描方式的重构控制器的设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于JTAG边界扫描方式的重构控制器的设计
发短消息
加为好友
Bazinga
当前离线
UID
1023230
帖子
5213
精华
0
积分
2607
阅读权限
70
在线时间
158 小时
注册时间
2013-12-20
最后登录
2015-10-22
金牌会员
UID
1023230
1
#
打印
字体大小:
t
T
Bazinga
发表于 2015-4-13 21:49
|
只看该作者
基于JTAG边界扫描方式的重构控制器的设计
处理器
,
控制器
引言
JTAG(联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),目前主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS(模式选择)、TCK(时钟)、TDI(数据输入)、TDO(数据输出线)。本文利用JTAG标准协议设计一种针对同类FPGA进行动态重构配置的重构控制器。
重构控制器硬件系统组成
本文介绍一种基于“ARM处理器+FPGA”架构的重构控制器,重构控制器中的FPGA能够根据ARM处理器传送来的命令,对目标可编程器件JTAG接口进行控制,并模拟JTAG接口中TAP状态机产生激励信号(TMS、TDI、TCK序列),向目标可编程器件的JTAG接口提供所需的激励,使目标可编程器件内的TAP状态机进行状态转换,将指令和数据扫描到FPGA内部边界扫描电路指令寄存器和数据寄存器中。完成一次目标可编程器件配置,实现用户此时所要求功能,在下一时段,可根据用户新的要求,调用重构控制器内部存储器中不同方案在系统重新配置目标可编程器件,实现硬件的时分复用,灵活快速的改变系统功能,节省逻辑资源,满足大规模应用需求。
其主要功能是控制按照用户不同需求调用不同的方案配置目标可编程器件。它主要包括ARM处理器、FPGA、Flash存储器,各功能部件主要功能如下:
(1) ARM处理器,其主要功能是控制模拟JTAG接口的FPGA读取Flash存储器中的重构方案,实现在系统配置;
(2) FPGA协处理器选用Xilinx公司SPARTEN3AN系列,是基于非易失性存储的FPGA,自身带有PROM,它作为外部总线和ARM控制器之间的双端口,主要功能是模拟JTAG接口实现TAP控制器时序,完成配置方案数据的并串转换并输出至外部总线;
(3)FLASH存储器容量为32M×16bit,用于处理器的上电引导、存放多种重构配置方案。由于要求的存储容量较大,采用SPANSION公司[1]S29GL512P(32M×16bit)的存储空间,访问速度110ns,可以达到25ns快速页存取和相应的90ns随机存取时间;
(4) 测试线TCK 、TMS 、TDI 和TDO,是重构控制器向目标可编程器件提供所需的JTAG TAP 激励,分别控制目标多个FPGA的重构配置和反馈重构信息。
系统实现
重构控制器
本文设计的重构控制器采用ARM微处理器作为主控制器,以FPGA芯片作为协处理器配合主控制器工作。用户事先根据需求设计出不同的配置方案,并存储在重构控制器内部的存储器中,上电后,重构控制器就可以按需求将不同设计方案分时定位到目标可编程器件内,同时保持其他部分电路功能正常,实现在系统灵活配置,提高系统工作效率。
重构控制器框图如图1所示。ARM执行的初始化工作包括程序更新加载运行,FPGA参数设定等(见图2)。FPGA初始化包括设定内部命令寄存器和逻辑状态的初始值、内部缓冲区数据清零等。ARM处理器一方面通过ARM总线读取外部Flash中的配置方案,将其存储到TDI模块的缓存中;另一方面重构控制器中模拟TAP控制器的FPGA,通过执行ARM处理器发出的配置指令,模拟产生TCK 、TMS 、TDI 和TDO信号,作为目标可编程器件的JTAG接口激励,与目标可编程器件的JTAG口串联成菊花链,对目标可编程器件进行在系统编程。
重构控制器模块
ARM接口模块
如图1所示,ARM接口模块主要作为FPGA和ARM处理器之间的接口,完成ARM的命令控制和参数传递。当系统上电后,ARM处理器将预先设定好的各种配置信息传送至ARM接口模块,完成对FPGA及各外围模块进行配置。系统正常运行时,该模块处于闲置状态。直到ARM处理器请求进行新的配置时,ARM接口模块再次传递新的配置信息,完成目标板重新配置。
仲裁与时序控制模块
仲裁与时序控制模块主要完成对重构控制器内部各模块的仲裁与时序控制。协调各模块之间的数据流向。其具体的功能包括提供内部各模块所需的时钟信号,并进行相应的时序控制;以及对内部数据流的切换控制。
TCK,TMS,TDI,TDO产生模块
TCK: JTAG配置时钟输入,所有基于JTAG的操作都必须同步于JTAG时钟信号TCK。关键时序关系是:TMS和TDI采样于TCK的上升边沿,一个新的 TDO值将于TCK下降边沿后出现,因此一般情况下JTAG的时钟不会太高。
TMS:模式选择,控制JTAG状态转移,同步时钟TCK上升沿时刻TMS的状态决定状态转移过程。
TDI :配置数据输入,配置数据在TCK的上升沿采样进入数据移位寄存器(SDR);
TDO:配置数据输出,在TCK的下降沿从移位寄存器移出,输出数据与输入到TDI的数据应不出现倒置。
目标板
目标板上被重构的FPGA由支持重构的Xilinx公司的VIRTEX-4系列FPGA来实现,以菊花链方式串联,支持JTAG边界扫描模式配置。
JTAG边界扫描配置的FPGA实现
TAP控制器是16个状态的有限状态机,主要为JTAG接口提供控制逻辑。主要有四大状态:复位(RESET),空闲(idle),数据寄存器移位(SDR)和指令寄存器移位(SIR)状态, 在TCK,TMS的控制下,根据输入的配置指令实现状态的转移。Xlinx公司Virtex4系列 FPGA器件的边界扫描指令集中有三条专用于配置的边界扫描指令:CFG_IN、BYPASS和JSTART(10个bit位)。其中CFG_IN的代码:0101001111;BYPASS的代码:1111111111;JSTART的代码:0011001111。执行CFG_IN指令可以访问器件内部的配置总线,通过串行移入配置文件中的命令和数据执行对内部配置寄存器的读写,从而完成对FPGA的配置。BYPASS指令在对多个目标器件配置时可以旁路不需要重配置的器件。JSTART指令使用TCK时钟触发启动时序,使FPGA完成从配置状态到操作状态的转换,激活FPGA。图3为可重构控制器模拟TAP状态机配置指令执行的状态转移图。
系统仿真
仿真在Active-HDL7.1软件下运行,所有仿真是基于对单器件配置的过程。
图4为JTAG边界扫描方式核心控制TAP状态机仿真波形 ,本文把整个下载模拟过程设计为三步,分别为TAP_Reset、TAP_CFG、TAP_JStart,ARM分别给三步提供一个启动命令,三个步骤分时按顺序由自己独立的状态机实现,由图可以看出状态衔接正确。
图5为各状态机个状态下接口输出波形,TCK、TMS、TDI时序和输出值满足JTAG扫描方式配置Virtex-4系列FPGA接口激励要求。
本系统ARM工作时钟为50MHz,TCK输出为25MHz,为便于观察,TAP_CFG部分状态机中SDR状态项实际由配置方案文件bit位数决定,仿真图有所压缩。
如果目标板FPGA是Virtex-4 XC4VLX25,其配置方案文件为995KB,整个配置过程大约所需时间327ms。
结语
本文介绍的重构控制器具有相对通用性,适用于对同一类FPGA芯片实现可编程器件在系统配置,使得硬件信息(可编程器件的配置信息)也可以象软件程序一样被动态调用或修改,从而动态的改变电路的结构和功能,对电路中出现的错误和故障进行实时动态重构,达到高可靠性的目的,有效节省逻辑资源,通过设计和仿真验证了此方法的可行性。
收藏
分享
评分
the king of nerds
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议