基于SRAM的FPGA配置数据存储方式解析方案
来源:元器件交易网 作者:—— 时间:2012-02-17 15:57
接收完配置数据后,DONE 管脚会被拉高。但这并不是表示配置过程已经结束,系统仍 需要时钟来进行后续的上电启动工作。为保证上电配置过程的正确进行,最好的办法是将配 置文件中的所有数据写入FPGA 中之后,然后继续输出CCLK 信号,直到DONE 管脚被拉 高。之后,再输出8 个周期的CCLK,保证配置能正常完成。
根据上述流程,配置程序的主要函数的伪码如下。
1.初始化函数SelectMAP_Init,在其它函数之前运行。
SelectMAP_Init(){
将ARM 通用IO 设置为对应的SelectMap 管脚信号;
设置 PROGRAM#,CS#和WRITE#管脚为低电平;
延时至少300ns;
设置 PROGRAM#为高电平;
循环检查INIT#是否变为高电平;
}
2.发送数据的函数SendData_Byte,发送1 字节的数据。
SendData(uint8 data){
拉低CCLK;
将 D0~D7 电平设置为与data 对应的状态;
拉高 CCLK;
}
3.发送数据的函数SendData_Sector,发送SD 卡中1 个扇区的数据。
void SendData_Sector(uint8 * data){
声明计数器,并将初始值设为0;
调用 SendData_Byte 发送1 个字节的数据,计数器加1;
检查 BUSY 管脚的状态,等待其变为低电平;
检查计数器是否到达规定的数据块大小,达到时函数返回,未到达时继续发送数据;
}
2.3.3 配置文件的格式
FPGA 支持将配置文件生成为几种不同的格式,但在本方案中不是所有格式都可以使用 的。一般最常用的格式是.BIN 和.BIT 格式。由于.BIT 格式包含头部开销,会增加额外的处 理过程,因此本方案没有支持.BIT 格式的数据,仅推荐使用.BIN 格式。
2.4 文件在SD 卡中的存储
发送数据前,需要先从SD 卡中读取配置文件。所有文件在SD 卡中都是按照一定的格式来组织的,本方案默认文件采用FAT16 格式进行存储。FAT16 格式下,SD 卡的结构如下图所示[3]。

- •同步突发式SRAM2019-01-21
- •厚翼科技提供检测与修復结合的SRAM解决方案-START2018-06-05
- •对华输出14nm:现在他们又搞定了5nm2018-05-29
- •赛普拉斯授权UMC生产的SRAM 器件获航空航天级 QML 认证2017-11-16
- •基于J750EX测试系统的SRAM VDSR32M32测试技术研究2017-09-05
- •台积电:128G 7nm SRAM良率已达40% 2016-06-15
- •世界首颗!三星10nm FinFET工艺SRAM面世2015-11-19
- •瑞萨电子推出16Mb/32Mb超低功耗SRAM2015-08-03
- •基于SRAM的核心路由器交换矩阵输入端口设计2014-12-31
- •赛普拉斯全新低功耗异步SRAM开始出样2014-09-12