Spartan6系列FPGA的配置模式详解(主模式/具体配置模式)

1. 配置概述
spartan6系列fpga通过把应用程序数据导入芯片内部存储器完成芯片的配置spart-6 fpga可以自己从外部非易失性存储器导入编程数据,或者通过外界的微处理器、dsp等对其进行编程对以上任何一种情况,都有串行配置和并行配置之分,串行配置可以减少芯片对引脚的要求,并行配置对8bit/16bit flash或者微处理器来说更合适
因为xilinx的fpga器件的配置数据存储在cmos 配置锁存器内(ccl),因此spartan6 fpga器件上电后必须重新配置spartan6器件有多种配置模式,包括:
jtag配置模式
master serial/spi配置模式(x1,x2,x4)
slave serial配置模式
master selectmap/bpi配置模式(x8,x16)
slave selectmap配置模式(x8,x16)
spartan6系列fpga的配置模式由引脚m[0:1]的状态决定(详细介绍见spartan6系列之器件引脚功能详述),在主配置模式中,cclk默认来自与内部的振荡器,也可以来自外部的gclk0/usercclk.,the bitgen?-g configrate选项可以设置内部时钟的振荡频率,默认频率为2mhz;无论m[0:1]状态如何,jtag配置始终可用
对一个fpga系统来说,可以有多种配置模式,但往往只有一种配置模式最适合自己的目标系统,应该要进行慎重的选择当然,fpga可以重新装载多个镜像文件,因此可以为1片fpga提供多个配置文件,典型的应用为:当fpga上电时,装载一个自检的镜像文件,完成自检后重新装载最终的应用程序镜像文件这种方法可大大提高fpga的使用效率
因为fpga的外部存储器可以存储多个镜像文件,因此可以通过fpga正在使用(已装载的镜像)更新外部存储器内容,实现远程镜像更新升级
1.1. 主模式配置(master mode)
由fpga自身将外部存储器的配置数据装载进内部的模式称为主模式配置;主配置模式的各种连接方式如下图1所示,左侧为串行配置连接方式,右侧为并行配置连接方式
图 1主配置模式连接方式汇总
1.2. 从模式配置(slave mode)
由外部器件(主要指处理器)对fpga进行配置的模式成为从模式;从配置模式的各种连接方式如下图1所示,左侧为串行配置连接方式,右侧为并行配置连接方式
图 2从配置模式连接方式汇总
2. 具体配置模式详解
spartan-6系列fpga的配置模式由模式控制引脚决定,具体情况如表1所示
表格 1spartan-6 fpga配置模式
2.1. jtag配置模式
在任何情况下,只要fpga上电,就可以使用jtag模式
2.2. serial配置模式
在serial配置模式中,fpga在每个cclk周期载入1bit配置数据
图 3serial configuration时序图
2.2.1. master serial配置模式
在配置完成之前,done信号为0,将在整个配置过程中片选platform flash;program_b是在配置fpga之前对fpga进行异步复位;由时序图可以看出,若没有crc错误,fpga的init_b是作为输出始终将platform flash的oe置高
图 4master serial mode 配置电路图
2.2.2. slave serial配置模式
对fpga的异步复位(program_b)既可以由外部器件如按钮产生,也可以由cpld或microprocessor产生;数据及时钟信号均由cpld等产生;
图 5slave serial 配置模式
2.3. selectmap配置模式
selectmap配置接口提供了8/16bit双向数据接口,即可用于对fpga的配置,也可用于对fpga配置数据的回读在selectmap模式中有多种配置思路,例举如下:
单fpga的master selectmap配置
单fpga的slave selectmap配置
多个fpga呈菊花链连接形式以selectmap总线配置不同image
多个fpga呈并列一组形式以selectmap总线配置同一个image
表格 2 selectmap接口中需特别说明的接口信号
图 6 selectmap配置接口
selectmap配置模式有多种时序,因控制信号的不同而不同,主要有三种:连续的selectmap配置模式数据载入时序、非连续数据总线可控的selectmap配置模式数据载入时序、非连续时钟可控的selectmap配置模式数据载入时序数据总线宽带可以是8/16bit宽,数据宽度取决于配置启动阶段对数据总线采样的结果,在启动阶段,数据总线会输出特殊的标志数据
图 7连续的selectmap配置模式数据载入时序
图 8非连续数据总线可控的selectmap配置模式数据载入时序
图 9非连续时钟可控的selectmap配置模式数据载入时序
2.3.1. 单fpga的master selectmap配置模式
在主模式下,csi_b和edwr_b接地,使能了selectmap的数据线并使数据线的方向为输入;因为是单fpga,所以不需要用到cso_b,浮置即可
图 10单fpga的主selectmap配置模式
2.3.2. 单fpga的slave selectmap配置模式
当使用cpld/microprocessor来配置fpga时,即可使用master selectmap模式也可使用slave selectmap模式,但优先使用slave selectmap配置模式当cpld/microprocessor的select等于0时,将使能fpga的selectmap配置模式数据总线;当cpld/microprocessor的read/write为0时,fpga的selectmap配置模式数据总线方向为输入,这时可以将配置数据输入到fpga内部
图 11单fpga的从selectmap配置模式
2.4. spi配置模式
spi配置模式只能工作于主模式,spi接口允许fpga把标准的工业spi flash作为配置数据存储介质需要注意的是,在fpga呈菊花链连接模式中,fpga的spi模式配置只能选择spix1方式,不能选择spix2或spix4模式要使能fpga的spix4的配置模式,需要在ise的bitgen选项里增加“-g: spi_buswidth:4”
图 12spartan-6 fpga spi配置接口
图 13spartan-6 fpga spi配置接口电路图
不同数据线传输模式根据spi总线每次传输的命令区分,single_read的命令操作码:0x03或0xe8;dual_read的命令操作码:0x3b;quad_read的命令操作码:0x6b
图 14spi总线single_read时序
图 15spi总线dual_read时序
图 16spi总线quad_read时序
2.5. bpi配置接口
bpi:byte-wide peripheral interface,字节宽度外设接口fpga可以从一个工业标准的并行nor flash读取配置数据spartan-6 fpga最高支持1gb的nor flash,也就是说地址线最高可达26根,但是并不是每种spartan-6 fpga都支持bpi配置或者26位的地址线的,具体情况例举如下:
mcb-m1(bank1的存储器控制模块)可以用作bpi配置接口,但是,用户只能选择将mcb_m1用作存储器控制接口或者bpi之一,不能同时作为两种接口使用
6slx4 、6slx25/t fpga不支持bpi配置接口
tqg144 和 cpg196封装的fpga不支持bpi配置接口
csg225封装中bpi配置地址线a22、a23不可用
图 17bpi配置接口
表格 3bpi配置中特殊引脚说明
图 18bpi配置总线电路连接图
图 19bpi配置总线时序图

洲明科技子公司公布年度业绩报告 营业收入较上年同期增长18.31%
简单电路将负载与低压电源隔离
螺纹铣刀过度磨损的原因及解决办法是什么?
腾讯医疗之路大揭秘 腾讯云将在AI+医疗中发挥更为深度的作用
Docker提供的构建功能有哪些
Spartan6系列FPGA的配置模式详解(主模式/具体配置模式)
iOS 6新升级功能大全
目前自动驾驶所面临的最突出的挑战有哪些?
荣耀Magic6 Pro采用BOE首发柔性OLED低功耗解决方案,引领行业技术潮流
台积电实现2nm工艺突破,为何能给“摩尔定律”续命
嵌入式测试方案及高速测试技术
静态和动态人脸识别两者存在什么样的区别
三菱FX系列PLC通过指令与A700变频器通讯
基于74LS160的N进制计数器仿真设计
Graphcore IPU-M2000在首个benchmark测试中显著优于GPU
深圳背后创新路径究竟是怎么样的?
2024年资本支出大减20%?台积电:明年1月评论
5G的商用更成为车联网落地的重要条件
HarmonyOS3超能力加持 聚能泵技术让华为Mate50“没电也能打电话”
以SURGE测试中通讯端口防护器件损坏为例,进行损坏机理等分析说明