前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FPGA仿真必备——Matlab生成.mif/.txt/.coe【Testbench】【Modelsim】【Matlab】

FPGA仿真必备——Matlab生成.mif/.txt/.coe【Testbench】【Modelsim】【Matlab】

作者头像
FPGA探索者
发布2021-03-30 11:37:03
2K0
发布2021-03-30 11:37:03
举报
文章被收录于专栏:FPGA探索者FPGA探索者

.mif 和 .coe 是 FPGA 设计中常用的存储文件,用于 ROM、RAM 等存储器数据的加载,常见的还用在 DDS 信号发生器和 FIR 滤波器的设计中。

比如:

matlab与FPGA数字滤波器设计(2)——Vivado调用IP核设计FIR滤波器

.txt 文件主要用于 Matlab 和 FPGA 的联合仿真,比如在滤波器的设计中,可以使用 Matlab 先把加噪声的信号写入到 .txt 文件,然后 FPGA 仿真中在 Testbench 中读取该信号源的数据,滤波后的数据再写入 .txt 文件,拿到 Matlab 里面读取后,可以很方面的进行时域和频域的分析。

比如:

matlab与FPGA数字滤波器设计(6)—— Vivado 中使用 Verilog 实现并行 FIR 滤波器/截位操作

1. mif 文件

MIF(Memory Initialization File),内存初始化文件,用于 Altera / Intel 的 FPGA 器件的 RAM 或 ROM 配置。 例如: (1)图像处理中,使用 ROM 存储图片或字体信息,进行图像的处理或者VGA显示的字模、固定图片等; (2)数字信号处理中,使用 ROM 存储 FIR 滤波器等所需的滤波系数; (3)DDS 信号发生器中,部分实现方式采用 ROM 存储一个周期的采样波形,通过以不同间隔的读取方式输出不同频率的波形;

mif 文件

2. matlab 制作 mif 文件

以 . jpg 图片为例,转成 .mif 文件。 首先是读取 .jpg 图片并进行灰度化(sobel算法处理需要),此时 image_1 数组中保存的是 0~255 之间的数据,可以用无符号的 8 位二进制数据表示,此后按照格式写入数据。

对于其他的数据,也是按照这种方法,只是将 image_1 中的数据换成你要写入的数据。

3. matlab 制作 txt 文件

txt 文件广泛应用于 matlab 与 FPGA 的联合仿真中,特别是在 TestBench中,经常需要先使用 Matlab 将待仿真的输入数据制作成 .txt 文件,然后在 TestBench 中读取该 txt 文件作为输入数据,并将模块的输出数据写入新的 txt 文件,可以使用 Matlab 读取输出数据并进行绘图、数据比对等性能分析等。

4. matlab 读取 txt 文件

5. matlab 写 .coe

.coe 与 .mif 一样,是存储文件,不同点在于 Altera 的 FPGA 使用 .mif 格式,Xilinx 的 FPGA 使用 .coe 格式。

.coe 的格式如下:

或者:

matlab代码:

写好的数据可以在 Testbench 中读取,参考:

matlab与FPGA数字滤波器设计(3)—— Matlab 与 Vivado 联合仿真 FIR 滤波器

【FIR 滤波器的 Vivado 工程在公众号回复【FIR滤波器教程代码】获取】

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-03-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA探索者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. mif 文件
  • 2. matlab 制作 mif 文件
  • 3. matlab 制作 txt 文件
  • 4. matlab 读取 txt 文件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档