0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA学习:使用matlab和ISE 创建并仿真ROM IP核

FPGA学习交流 2018-10-25 20:20 次阅读

大家好,又到了每日学习的时间了,今天我们来聊一聊使用matlab和ISE 创建并仿真ROM IP核。本人想使用简单的中值滤波进行verilog相关算法硬件实现,由于HDL设计软件不能直接处理图像,大部分过程都是可以将图像按照一定的顺序保存到TXT文档中,经过Modelsim仿真后,处理的数据再经过matlab显示图像;图像首先通过matlab或者C语言保存在TXT文档中,生成测试向量文件,然后在仿真软件中进行仿真处理,把处理后的数据保存为TXT格式,最后用matlab显示,观察结果。一般都是先创建MIF文件,将图像中的像素信息用一个ROM储存起来,然后调用ROM里面的地址进行处理,相当于制作了一个ROM查找表。

Quartus II创建并仿真ROM的步骤:
1.在Quatus工程下生成一个ROM
2.编写.mif文件,作为ROM的初始化文件
3.将.mif文件拷贝到Modelsim工程下
4.进行Modelsim仿真


图像保存的步骤:
1.使用matlab将图像生成txt文。
115840k6zpqb9d557du67d.png


2.创建mif文件(Memory Initialization File):使用mif生成器、C语言或者matlab语言来生成;选择直接使用matlab生成mif文件gray_image.mif;
115841lc18bybom8z8qyyj.png


生成的mif文件如下图所示:
115851r00xnfnuxinxcx1l.png


3.调用mif文件生成ROM(verilog文件即.v文件)

使用Xilinx创建并仿真ROM的步骤:
1.编写.coe文件,作为ROM的初始化文件,.coe文件的格式和内容如代码所示:
120349enb9gzgukbl5gnnl.png


2.生成的.coe文件格式如下图所示:
120521hvsmm3a3b1dvr38b.png


3.使用Xilinx中的Core Generator完成ROM的例化(生成的.coe文件的图像数据是一行行进行读取的)。打开ISE,右键单击New Source,如下图所示:
120521u00xajh3s066zhx3.png


单击之后选择IP_Core_Generator,
120522exgk3hgdecerrdjj.png


单击Next选项,选择Memories&Storage Elements->RAMs&ROMs->,选择块式存储或者分布式存储(这里根据存储数据的大小进行选择,较小的可以选择块式存储)。
120817zrgzdwww20n9a0ww.png


点击Next,然后Finish。然后就出现了下面的界面,一直点击Next进行ROM属性的一些设置,直至完成:
120817crxs27r5ztx7kruf.png



120818spx06pra6gp6a7vn.png



然后就要选择所需要的ROM的大小:
120818ha3aj1eca3d32a0a.png



120818wip5g1ppdsrefeec.png



portA 表示输出要不要时钟打拍输出,这个是在mux里实现的; 在添加初始化文件的时候,将之前matlab生成的.coe文件添加到ROM IP核中去。
121109hsps5srcs8tc3vp5.png



121110tz9ep2apan8x9tfm.png




一直next下去,就可以得到初始化好的ROM IP核,可以在./ipcore_dir目录下查看ROM文件,从而可以在顶层模块中对ROM进行例化。
121110ngfie9qpz4c0hz1e.png




生成的ROM文件的输入输出变量如下:
121319kapzsxuxpjpsyqyf.png




在顶层模块中对ROM进行例化如下:
121319nfpplkjjo5jjokgu.png




4.使用CoreGenerator完成ROM的例化后会生成一个.mif文件,这是Modelsim进行ROM仿真时需要的初始化文件,将.mif文件复制到Modelsim工程下进行仿真。

5.查看ROM模块中的初始化数据,双击Rom模块,出现如下图的界面,点击show按钮,即可查看数据;
121319bhdmrs4ebtn9rd44.png




各位,加油!
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1592

    文章

    21207

    浏览量

    592143
收藏 人收藏

    评论

    相关推荐

    仿真

    #2024,为FPGA生态加油,为FPGA社区点赞#...使用IP时如何进行modelsim仿真
    发表于 02-02 20:22

    如何使用MATLABMATLAB Parallel Server扩展整车仿真呢?

    使用 MATLAB 和 Simulink 设计和构建 Rivian 车辆仿真界面平台帮助我们实现了关键目标。我们为工程师和非工程师创建了统一平台,用于运行整车仿真、后处理结果和
    的头像 发表于 01-10 18:22 790次阅读
    如何使用<b class='flag-5'>MATLAB</b>和<b class='flag-5'>MATLAB</b> Parallel Server扩展整车<b class='flag-5'>仿真</b>呢?

    值得多看的FPGA 学习路线

    时序和面积的约束、各个阶段的仿真等等。我们至少应该知道,为什么需要这些步骤,每个步骤都完成了什么功能。 FPGA入门学习第三部分:开发工具 FPGA开发工具的使用也是入门
    发表于 01-02 23:03

    FPGAIP学习的正确打开方式

    的情况时,总会遇到一些以前未曾接触过的新内容,这些新内容会让我们感到陌生和恐惧,不知道该如何下手。 那么今天以xilinx vivado 为例分享学习FPGAIP的正确打开方式
    发表于 11-17 11:09

    使用MATLAB Simulink和HDL编码器创建自定义IP--AWB

    自动白平衡模块的设计是使用 HDL Coder 在 MATLAB 和 Simulink 中创建的。HDL Coder能够生成 HDL 文件,这些文件可以作为 IP 在我们的目标 FPGA
    的头像 发表于 11-13 09:27 459次阅读
    使用<b class='flag-5'>MATLAB</b> Simulink和HDL编码器<b class='flag-5'>创建</b>自定义<b class='flag-5'>IP</b>--AWB

    XILINX FPGA IP之DDS Compiler_ip例化仿真

    之前的文章对dds ip 的结构、精度、参数、接口进行了详细的说明,本文通过例化仿真对该IP的实际使用进行演示。本文例化固定模式和可配置模式两种模式分别例化ip
    的头像 发表于 09-07 18:31 810次阅读
    XILINX <b class='flag-5'>FPGA</b> <b class='flag-5'>IP</b>之DDS Compiler_<b class='flag-5'>ip</b>例化<b class='flag-5'>仿真</b>

    FPGA学习笔记:ROM IP核的使用方法

    ,一旦写入不能再修改或删除,断电不丢失。我们知道FPGA只有RAM,因此事实上在 FPGA 中通过 IP 核生成的 ROM 或 RAM掉电内容都会丢失。用
    的头像 发表于 08-22 15:06 1753次阅读
    <b class='flag-5'>FPGA</b><b class='flag-5'>学习</b>笔记:<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b>核的使用方法

    使用MATLAB和Simulink创建FPGA原型的最佳方法

    芯片设计和验证工程师通常要为在硅片上实现的每一行RTL代码写出多达10行测试平台代码。验证任务在设计周期内可能会占用50%或更多的时间。尽管如此辛 苦,仍有接近60%的芯片存在功能瑕疵,需要返工。由于HDL仿真不足以发现系统级错误,芯片设计人员正利用FPGA来加速算法
    的头像 发表于 08-06 10:49 1009次阅读
    使用<b class='flag-5'>MATLAB</b>和Simulink<b class='flag-5'>创建</b><b class='flag-5'>FPGA</b>原型的最佳方法

    Xlinx IP Core实现FFT变换——为什么你的matlab数据无法严格比对?

    尝试输出数据到状态通道但无法输出时拉高。只在Non-Realtime 模式下有效。 2.IP设置 以配置一个可更改变换点数的FFT IP 为目标,具体说明各个部分。 创建工程、添
    发表于 06-19 18:34

    FPGA零基础学习之Vivado-ROM使用教程

    说,上货。 ROM使用教程 ROM的英文全称为Read-Only Memory,即只读存储器。可以从任意地址上读取数据,但是不能写入。那么我们ROM中的数据,就需要我们提前存放进去,在
    发表于 06-15 16:57

    Vivado生成IP

    在vivado生成ip后缺少一大片文件,之前是可以用的,中途卸载过Modelsim,用vivado打开过ISE工程,因为工程中很多IP
    发表于 04-24 23:42

    IP CORE 之 FIFO 设计- ISE 操作工具

    不多说,上货。IP CORE 之 FIFO 设计- ISE 操作工具本篇实现基于叁芯智能科技的SANXIN -B02 FPGA开发板,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习
    发表于 04-11 20:50

    IP CORE 之 RAM 设计- ISE 操作工具

    不多说,上货。IP CORE 之 RAM 设计- ISE 操作工具本篇实现基于叁芯智能科技的SANXIN -B02 FPGA开发板,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习
    发表于 04-10 16:43

    IP CORE 之 ROM 设计- ISE 操作工具

    不多说,上货。IP CORE 之 ROM 设计- ISE 操作工具本篇实现基于叁芯智能科技的SANXIN -B02 FPGA开发板,如有入手开发板,可以登录官方淘宝店购买,还有配套的
    发表于 04-07 20:09

    IP CORE 之 PLL- ISE 操作工具

    不多说,上货。IP CORE 之 PLL- ISE 操作工具本篇实现基于叁芯智能科技的SANXIN -B02 FPGA开发板,如有入手开发板,可以登录官方淘宝店购买,还有配套的学习视频
    发表于 04-06 16:04