vivado中coe与mif的区别与联系

2016-09-01 22:47 阅读 1,507 次 评论 0 条

前几天折腾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,可能与设计不一致。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:vivado中coe与mif的区别与联系 | 起点博客
分类:应用笔记 标签:, , ,

发表评论


表情