摘 要:为满足可重配置系统的灵活性要求,介绍了一种“ar处理器+fpga”结构的重构控制器的设计,提出由ar微处理器通过模拟jtag接口的fpga在系统配置目标可编程器件的方法。给出系统设计的硬件结构,并详细介绍了jtag在系统配置fpga的时序要求,以及在此结构中如何利用ieee jtag 1149.1边界扫描测试技术和描述jtag总线标准的xsvf格式配置文件来实现对目标可编程器件进行在系统配置。
关键词:jtag接口;fpga;重构;xsvf格式
中图分类号:tp29文献标识码:a
文章编号:1004-373x(2010)01-195-03
design f renfigurable ntrller based n ar and fpga
zhang bali,gng lngqing,fang ha
(n.771 researh institute f as,xi′an,710054,hina)
abstrat:the design f renfigurable ntrller based n ar and fpga is intrdued.the ethd f fpga nfiguratin ith jtag de using ar pressr hih added the higher flexibility f the renfigurable syste.syste struture and funtin are disussed,the tiing using ieee jtag 1149.1 de and xsvf fr nfiguratin files t nfigurate fpga n the syste.
keyrds:jtag interfae;fpga;renfiguratin;xsvf
可重构技术是指利用可重用的软硬件资源,根据不同的应用需求,灵活地改变自身体系结构的设计方法。常规sra 工艺的fpga 都可以实现重构,利用硬件复用原理,本文设计的可重构控制器采用ar核微控制器作为主控制器,以fpga芯片作为协处理器配合主控制器工作。用户事先根据需求设计出不同的配置方案,并存储在重构控制器内部的存储器中,上电后,重构控制器就可以按需求将不同设计方案分时定位到目标可编程器件内,同时保持其他部分电路功能正常,实现在系统灵活配置,提高系统工作效率。
1 svf格式配置文件
很多嵌入式系统中都用到了fpga/pld等可编程器件,在这些系统中利用svf格式配置文件[1]就可以方便地通过微控制器对可编程器件进行重新配置。目前可编程芯片厂商的配套软件都可以生成可编程器件的svf格式配置文件,串行矢量格式(svf)是一种用于说明高层ieee 1149.1(jtag)总线操作的语法规范。svf由texas instruents开发,并已成为数据交换标准而被teradyne,tektrnix等jtag测试设备及软件制造商采用。xilinx的fpga以及配置pr[2]可通过jtag接口中tap控制器接收svf格式的编程指令。由于svf文件由asii语句构成,它要求较大的存储空间,并且存储效率很低,无法胜任嵌入式应用。为了在嵌入式系统中充分利用其有限的存储空间,并不直接利用svf文件对可编程器件进行在系统编程[3],而是将svf文件转换成另一种存储效率比较高的二进制格式的文件,把它存储在数据存储器中。xilinx公司提供用于创建器件编程文件的ipat工具,该工具随附于标准xilinx iset软件内。ipat软件能自动读取标准的bit/s器件编程文件,并将其转换为紧凑的二进制xsvf格式。
本设计是基于“ar处理器+fpga”结构的重构控制器,重构控制器中的fpga能够根据ar处理器传送来的命令,对目标可编程器件jtag接口进行控制,并负责解译xsvf格式的配置文件信息,生成xilinx器件所用的编程指令、数据和控制信号(ts,tdi,tk序列)向目标可编程器件的jtag tap控制器[4]提供所需的激励,从而执行最初在xsvf文件内指定的编程和(可选的)测试操作。使目标可编程器件内的tap状态机进行状态转换,将指令和数据扫描到fpga内部边界扫描电路指令寄存器和数据寄存器中。完成一次目标可编程器件配置,实现用户此时所要求功能,在下一时段,可根据用户新的要求,调用重构控制器内部存储器中不同方案在系统重新配置目标可编程器件,这样就实现了硬件复用,减少成本。
2 边界扫描(jtag)原理[4]
2.1 jtag接口基本结构
未完...点击下方链接下载完整文档