vivado中coe与mif的区别与联系

前几天折腾zynq下bram作为rom使用,初始化rom时需要用到.coe文件,但在vivado中“generate output products”后,还会生成.mif文件,下面看一下两个文件的内容。

.coe文件的内容如下图

image

.mif文件的内容如下图

image

对比发现.mif文件的内容就是.coe文件内容的二进制形式显示。

在ZC702_blk_mem_gen_0_0目录下,同时存在.coe与.mif文件。

image

那么初始化rom的到底.coe文件还是.mif文件呢?

答案是.mif文件,因为初始化时,没有.mif文件,generate output products之后才生成的。再者直接编辑.mif文件,再综合实现生成bit文件,通过sdk读取rom中的数据与编辑后的.mif文件中的内容一致。

总结起来,在使用过程中,需要注意以下几点:

1、 MIF文件是根据COE文件生成的。

2、 COE文件只会在生成ROM模块时起作用,其作用就是根据文件内容生成相应的MIF文件,而ROM真正使用的是MIF文件。

3、直接编辑.mif文件的方式不可取,因为在重新生成其他模块generate output products后会根据coe文件重新生成.mif,可能与设计不一致。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值