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
    +关注

    关注

    1629

    文章

    21729

    浏览量

    602991
收藏 人收藏

    评论

    相关推荐

    Vivado中FFT IP的使用教程

    本文介绍了Vidado中FFT IP的使用,具体内容为:调用IP>>配置界面介绍>>IP
    的头像 发表于 11-06 09:51 728次阅读
    Vivado中FFT <b class='flag-5'>IP</b><b class='flag-5'>核</b>的使用教程

    芯驿电子 ALINX 推出全新 IP 产品线,覆盖 TCP/UDP/NVMe AXI IP

    在创新加速的浪潮中,为更好地响应客户群需求, 芯驿电子 ALINX 推出全新 IP 产品线 ,致力于为高性能数据传输和复杂计算需求提供 高带宽、低延迟 的解决方案。发布的第一批 IP
    的头像 发表于 10-30 17:39 293次阅读
     芯驿电子 ALINX 推出全新 <b class='flag-5'>IP</b> <b class='flag-5'>核</b>产品线,覆盖 TCP/UDP/NVMe AXI <b class='flag-5'>IP</b> <b class='flag-5'>核</b>

    如何申请xilinx IP的license

    在使用FPGA的时候,有些IP是需要申请后才能使用的,本文介绍如何申请xilinx IP的license。
    的头像 发表于 10-25 16:48 325次阅读
    如何申请xilinx <b class='flag-5'>IP</b><b class='flag-5'>核</b>的license

    将ASIC IP核移植到FPGA上——更新概念推动改变以完成充满挑战的任务!

    本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍
    的头像 发表于 08-10 17:13 828次阅读
    将ASIC <b class='flag-5'>IP</b>核移植到<b class='flag-5'>FPGA</b>上——更新概念<b class='flag-5'>并</b>推动改变以完成充满挑战的任务!

    如何使用MATLAB创建预测模型

    在这篇文章中,我们将讨论如何使用MATLAB创建预测模型。MATLAB(矩阵实验室)是一种用于数值计算、可视化和编程的高级编程语言和交互式环境。它广泛应用于工程、科学研究和金融领域。 1.
    的头像 发表于 07-11 14:29 676次阅读

    如何在ModelSim中添加Xilinx仿真

    。 9、再次打开ModelSim,即可以看到Xilinx的库已经默认出现在了库列表里。以后仿真Xilinx的IP时,就不用每次都添加库了。
    发表于 07-03 18:16

    FPGA | Xilinx ISE14.7 LVDS应用

    今天给大侠带来 Xilinx ISE14.7 LVDS应用,话不多说,上货。 最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用。Xilinx FPGA中,主要通过原语实现差分信
    发表于 06-13 16:28

    FPGAIP使用技巧

    配置相应的参数。 在进行参数化配置时,务必注意参数的取值范围、限制条件和影响。避免由于错误的参数配置导致IP无法正常工作。 集成和验证 : 将所选的IP
    发表于 05-27 16:13

    关于FPGA IP

    对于深入学习使用FPGA的小伙伴们,特别是一些复杂的、大规模的设计应用,适宜的IP核对开发能起到事半功倍的作用。IP的概念与我们sdk里库
    发表于 04-29 21:01

    利用ISEMatlab创建仿真FPGA设计中的ROM IP

    一般都是先创建MIF文件,将图像中的像素信息用一个ROM储存起来,然后调用ROM里面的地址进行处理,相当于制作了一个ROM查找表。
    发表于 04-16 11:49 564次阅读
    利用<b class='flag-5'>ISE</b>与<b class='flag-5'>Matlab</b><b class='flag-5'>创建</b><b class='flag-5'>并</b><b class='flag-5'>仿真</b><b class='flag-5'>FPGA</b>设计中的<b class='flag-5'>ROM</b> <b class='flag-5'>IP</b><b class='flag-5'>核</b>

    fpga仿真软件有哪些

    此外,还有一些其他的FPGA仿真软件,如Gvim和ISE等,可以根据具体需求和开发环境进行选择。需要注意的是,不同的FPGA仿真软件可能具有
    的头像 发表于 03-15 14:00 3760次阅读

    仿真

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

    AMD亮相ISE 2024:推进沉浸式、自适应与智能音视频

    ISE 2024 上,AMD 与我们的合作伙伴将展示了前沿的音频和视频处理、领先的 AV-over-IP 标准(IPMX、NDI 和 Dante AV Ultra)、机器学习应用以及基于
    的头像 发表于 01-24 09:20 714次阅读

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

    使用 MATLAB 和 Simulink 设计和构建 Rivian 车辆仿真界面平台帮助我们实现了关键目标。我们为工程师和非工程师创建了统一平台,用于运行整车仿真、后处理结果和
    的头像 发表于 01-10 18:22 1209次阅读
    如何使用<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