碧波液压网 欢迎你,游客。 登录 注册

基于FIash和JTAG接口的FPGA多配置系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  

  引言

  针对需要切换多个FPGA配置码流的场合,Xilinx公司提出了一种名为System ACE的解决方案,它利用CF(Compact Flash)存储卡来替代配置用PROM,用专门的ACE控制芯片完成CF卡的读写,上位机软件生成专用的ACE文件并下载到CF存储卡中,上电后通过ACE控制芯片实现不同配置码流间的切换。

  System ACE的解决方案需要购买CF存储卡和专用的ACE控制芯片,增加了系统搭建成本和耗费了更多空间,而且该方案只能实现最多8个配置文件的切换,在面对更多个配置文件时,这种方案也无能为力。但若要开发System ACE的替代方案,则需要选择更合适的可反复编程存储器,并且需要选用合适的传输协议接口来下载配置码流。通过串口或并口来下载配置码流速度太慢,不能满足应用中快速下载的需要;通过USB接口来下载配置码流则需要专门的控制芯片,增加了系统设计的成本。

  本文选用大容量NOR Flash存储器来存储配置码流,并利用JTAG接口完成配置码流下载的FPGA多配置解决方案。与System ACE方案相比,该方案不仅能快速完成多个配置码流的下载,还具有更高的配置速度和更低的实现成本。

  1 JTAG接口模块的设计

  为了将配置码流写入Flash存储器,上位机软件通过JTAG下载线与JTAG接口模块连接。JTAG接口模块接收上位机软件发送的JTAG信号,从中提取出JTAG指令及对应的数据,并产生针对Flash存储器的擦除和烧写信号。由IEEE 1149.1—2001标准以及NOR Flash存储器先擦除后写入的特性,设计上位机软件的具体执行流程如图1所示。同时为了完成Flash存储器的擦除和烧写,本文在软件设计中规定了一系列的自定义JTAG指令,如图1中括号内所示。本文规定一帧数据大小为4 096比特。

  JTAG接口模块通过外部引脚接收到JTAG信号后,为了完成JTAG指令及数据的提取,JTAG接口模块中必需包含一个TAP(Test Access Port)控制器,TAP控制器是一个16状态的状态机,在TCK的上升沿通过TMS的变化可以控制状态的转移。在特定的状态即可将JTAG指令及数据分别存入指令寄存器(IR-Instruetion Register)和数据寄存器(DR-Data Register)中。JTAG接口模块在接收到上位机软件发送的指令后,相应的解释如表1所列。

  2 FIash控制器和FPGA器件配置模块设计

  2.1 FIash控制器设计

  烧写Flash存储器和利用Flash存储器配置FPGA器件时,都需要对Flash存储器进行操作,因此需要设计一个控制器模块来专门产生Flash存储器的控制指令。Flash控制器要实现的功能是:响应输入的擦除、写、读命令,并根据命令产生相应的时序来实现对Flash的操作。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论