求配置FPGA时 读取bit文件并把配置数据写入到FPGA中的详细过程

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求配置FPGA时 读取bit文件并把配置数据写入到FPGA中的详细过程相关的知识,希望对你有一定的参考价值。

参考技术A FPGA
生成的bit文件,就是一个Hex文件,你只需要按照器件推荐的时序要求写入FPGA即可。这部分的详细说明见使用器件配置说明哪个章节。
其实,以Altera器件的PS模式为例,在datasheet上可以看到,将Program管脚拉低,然后等待FPGA的nStatus信号从低到高后,等待一段时间后开始送CLK和DATA0,待bit文件中数据送完,在保持一段时间CLK,等待DONE信号变高即可完成配置。
具体时序要求见文档,这里不再详细说明。
由于你的问题很模糊,我的理解,就是你想自己做一个下载FPGA的程序(如CPU配置FPGA),给出的这一个例子可以参考,如果使用Xilinx或Lattice的器件,配置方式略有差异,主要还是HEX文件的问题,datasheet上对于这部分的描述相对详细,建议你看看。

AT24C02写一个数据然后读取一个数据是正确的,但是当写入多个数据时,读出数据就不正确,求指教?

恩,这个问题困扰了两天,终于找到原因并且顺利解决了!原因是:单片机接收应答信号(向AT24C02写数据时)和发送应答信号(AT24C02向单片机发送数据)的代码是不一样的!
void ack()//acknowledge (单片机接收应答信号)

uchar i;
scl=1;
delay();
while((sda == 1)&&(i > 250))
i++;
scl=0;//注意此处,此处表示第九个时钟结束,不能不写
delay();


void ack2(bit response)//(单片机发送的应答信号,response=1时是非应答,response=0时是应答!)

sda=response;
scl=1;
delay();
scl=0;
delay();

//然后严格遵循datasheet的操作时序
//读数据的代码是这样的()
void read_add(uchar address)


start();
write_byte(0xa0);
ack();
write_byte(address);
ack();//dummy write
start();
write_byte(0xa1);
ack();
P1=read_byte();
ack2(0);//这个应答才正确
// ack();这个应答不正确
P1=read_byte();
ack2(1);
delay();
stop();


//这里注意,我用郭天祥老师的TX-1C,给P1口赋值让lcd灯来检验我的应答信号是否正确
参考技术A 我找了几个小时的bug,终于找到 了,,,,你是不是多写一个等待信号。
——————————————错误代码如下
unsigned int read_E2prom(unsigned char adr)

unsigned int re;
IIC_Start();
IIC_SendByte(0xa0);
IIC_WaitAck();
IIC_SendByte(adr);
IIC_WaitAck();

IIC_Start();
IIC_SendByte(0xa1);
IIC_WaitAck();
re=IIC_RecByte();
IIC_SendAck(0);
IIC_WaitAck();//这个代码多余,要删除。
re=(IIC_RecByte()<<8)|re;
IIC_Stop();
Delayms(5);
return re;


———————————————————正确代码如下
unsigned int read_E2prom(unsigned char adr)

unsigned int re;
IIC_Start();
IIC_SendByte(0xa0);
IIC_WaitAck();
IIC_SendByte(adr);
IIC_WaitAck();

IIC_Start();
IIC_SendByte(0xa1);
IIC_WaitAck();
re=IIC_RecByte();
IIC_SendAck(0);
re=(IIC_RecByte()<<8)|re;
IIC_Stop();
Delayms(5);
return re;
参考技术B 注意写入位置和读取位置。
另外读写程序也要注意是否正确

以上是关于求配置FPGA时 读取bit文件并把配置数据写入到FPGA中的详细过程的主要内容,如果未能解决你的问题,请参考以下文章

FPGA的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)

基于ARM的FPGA加载配置实现 想将ISE生成的bit文件远程下载和调试FPGA。

FPGA配置方式

什么是fpga 中的配置文件

fpga的EPCS 配置的2种方法 FPGA下载程序的方法(EPCS)

FPGA学习笔记之Altera FPGA使用JIC文件配置固化教程(转)