引言
MachXO2是基于SRAM的可编程逻辑器件,它包含一个内部Flash存储器,可以让MachXO2表现为非易失性器件。MachXO2为FPGA的编程和配置提供了丰富的特征。你有许多可用的选项构建适合自己需求的编程解决方案。每个可用选项都将会详细进行阐述,以便设计人员可以结合编程解决方案和配置解决方案满足设计需求。
MachXO2特征
MachXO2设备的关键编程和配置特征如下:
- 来自内部Flash PROM的随开即用配置----在几毫秒内上电.
- 单片安全解决方案.
- 多种编程和配置接口:
3.1 1194.1 JTAG
3.2 自下载
3.3 从SPI
3.4 主SPI
3.5 双引导
3.6 I2C
3.7 Wishbone总线 - 用户Flash存储器(UFM)用作非易失性数据存储:
4.1 配置Flash存储器溢出
4.2 EBR初始化数据
4.3 应用相关数据 - 非易失性透明编程
- 可选双引导功能(需要增加外部SPI存储器)
- 用于设计保护的可选安全位
词条定义
配置详情
MachXO2器件包含了两种类型的存储器:SRAM和Flash。SRAM存储器用于存放有效配置,这些配置本质上是定义FPGA行为的熔丝。在大部分情况下,有效配置从非易失性存储器中获取。非易失性存储器中保存着需要加载到FPGA SRAM存储器的配置信息。MachXO2提供了内部Flash存储器,可以存储加载到SRAM存储器的配置信息。
配置流程
在FPGA可以正常工作前,FPGA会经历一系列状态变化,包括初始化,配置和唤醒。
MachXO2 sysCONFIG端口提供了业界标准通讯协议用来对FPGA进行编程和配置。每种协议都提供了一种方法访问MachXO2器件的内部Flash存储器,或者加载它的配置SRAM。存储器空间可达性部分提供了每个sysCONFIG端口功能的信息。
能够访问Flash存储器的sysCONFIG端口有优先级次序。MSPI配置端口没有权限改变Flash存储空间。优先级方案一定要清楚认识到低优先级sysCONFIG端口的配置逻辑操作可以被更高优先级的sysCONFIG端口中断。当低优先级sysCONFIG端口被中断时,逻辑操作并没有被定义。不要使用sysCONFIG端口同时访问配置逻辑。
上电时序
为了使MachXO2正常工作,必须保证器件上电正常。随着电压逐渐施加到系统上,在短时间内会有中间状态。
初始化
在POR电路拉低INITN和DONE引脚后,MachXO2立即进入存储器初始化阶段。存储器初始化的目的是清除FPGA内部的所有SRAM存储器。
除非满足下面所有条件,否则FPGA将保持在初始化状态:
- tINITL时间已经计满.
- PROGRAMN引脚被拉高.
- INITN引脚不再被外部主设备断言.
专用INITN引脚在初始化阶段提供了两种功能,第一种功能是指示FPGA正在清除SRAM中配置信息;第二种就是作为输入,来阻止FPGA从初始化状态向配置状态跳变。专用INITN引脚在初始化阶段提供了两种功能,第一种功能是指示FPGA正在清除SRAM中配置信息;第二种就是作为输入,来阻止FPGA从初始化状态向配置状态跳变。
在tINITL期间,FPGA清除SRAM中的配置信息。当多个MachXO2器件构成链式结构时,每个器件有不同的tINITL初始化时间。tINTIL最慢的FPGA将会链上其他设备开始配置。