xilinx下载模式

这几天一直对 FPGA 的程序下载方式感到疑惑,特别是关于SPI的下载以及多个 芯片 的程序下载控制。先说说单片下载问题。以Xilinx的下载方式为例,通常我们做实验、自己学习的时候都是以JTAG模式下载到 开发板 上的FPGA芯片中,也就是说JTAG是我们最熟悉的通常说的 嵌入式 下载模式(当前流行的STM32系列 单片机 的烧写也是这种主要模式),但是稍微熟悉点的人都知道JTAG只是一种在线调试下载模式,也就是说是实时可以改变的,JTAG只是程序的一个传输介质,只在上电后才能正常工作,并不会在芯片中保存下程序,即程序不能固化到开发板上的芯片中,掉电后程序就失去。为了解决掉电后程序丢失的问题,不同的FPGA设计生产商都有自己的解决方法,以xilinx的FPGA芯片为例,就是将程序代码转化成固化烧写到一个外挂的Flash中,本人接触的较多的是通过iMPACT软件进行一定得配置将.bit文件转化成.mcs文件(具体可以查阅xilinx的相关教程),然后再下载到开发板上的flash中。这整个过程都没问题,但是本人一直很奇怪.mcs文件是怎么写入flash中的,是通过JTAG连接器经过FPGA芯片在写入flash中的?还是直接通过JTAG下载到flash中的?通过网上相关 论坛 查询并没有找到自己想要的相关答案,讲的大多是altera的三种下载配置方式,但是本人并不太理解,或者说不是我想要的答案。

通过查阅xilinx芯片开发板的相关文件后基本算是解决了这个问题。在FPGA Configuration User Guide和Configuring FPGAs from SPI Serial Flash两个文档中有详细的关于flash下载的配置说明。通过阅读文档知道xilinx主要是JTAG在线调试和SPI Serial Flash两种模式,而SPI Serial Flash包含三种:Third-party programmers (off-board programming)、Indirect in-system programming (JTAG tool vendor or custom solution)和Direct in-system programming (SPI direct interface connect)。在此本人理解是,通过JTAG连接器将程序固化到flash中的是第二种间接模式,但是查看原理图发现flash芯片M25P16并没有直接与JTAG相连的引脚都是连接到FPGA芯片引脚(如图1),文档中也没有作具体解释,故本人认为这种间接模式是通过JTAG将.mcs文件通过FPGA后再传到flash中保存的。

                                                       

                                                                                               图1 M25P16

对于直接进行SPI模式下载的配置,如图2,以Virtex-5 FPGA的配置为例。图中左边是JTAG在线调试模式,右边是恒忆的M25PXX系列flash芯片,flash芯片和FPGA相关引脚互联,通过类似JTAG接口对通常的SPI四线进行相应的控制输入,既是直接将程序下载到外部flash中,掉电重新上电后程序不会丢失,即可启动。但是这要注意主从配置问题。

                         

                                                                                                            图2

现在来说说多芯片控制问题。多芯片中和单芯片一样,下载方式也是上面几种。直接用图说明。

                           

                                                                              图3 JTAG多芯片模式

              

                                                                                       图4 并行flash多芯片

                                                               

                                                                                                     图5 串行主从多芯片

                         

                                                                                                图6 FPGA 主从模式

以上仅是本人的一定理解,如有不对,欢迎大交流指正。




  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值