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

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

3天内不再提示

为了方便仿真这样写个ROM

ruikundianzi 来源:IP与SoC设计 作者:IP与SoC设计 2022-12-21 14:26 次阅读
FPGA中有专门的ROM IP Core,如果按照规范用Verilog编写的ROM文件可以被工具综合成RAM资源,而ASIC在需要后端去做专门Memory,前端仿真可以自己编写RAM/ROM/FIFO/RegFile IP。为了方便仿真这样写个ROM,方便初始化。
module single_port_rom(/*autoarg*/
   // Outputs
   q,
   // Inputs
   addr, clk
   );


parameter DATA_WIDTH = 8;
parameter ADDR_WIDTH = 8;


input   [ADDR_WIDTH-1:0] addr;
input   clk;
output reg [DATA_WIDTH-1:0] q;


reg [DATA_WIDTH-1:0] rom[2**ADDR_WIDTH-1:0];


initial begins
    $readmemh("/home/IC/Digital_Front_End_Verilog/ip_lib/rtl/DDS/triangular.txt", rom);
  //$readmemb("sin.txt", rom);
end


always @ (posedge clk)begin
   q <= rom[addr];
end


endmodule
系统函数$readmemh和$readmemb分别用来读取十六进制文件和二进制文件。貌似没有读十进制的。txt中的数据每行一个不需要逗号和最后一个数据后面的分号,数据格式对应。更多使用可以查询IEEE的Verilog语法手册。例化方式和rom IP一样可参数化配置任意大小
single_port_rom 
#(
        .DATA_WIDTH(DATA_WIDTH),
        .ADDR_WIDTH(ADDR_WIDTH)
)
u_sin(/*autoinst*/
      // Outputs
      .q                                (dout[DATA_WIDTH-1:0]),
      // Inputs
      .addr                             (addra[ADDR_WIDTH-1:0]),
      .clk                              (clk));
整了三个波形,仿真能跑起来。 36bf3126-80ed-11ed-8abf-dac502259ad0.png36df6e46-80ed-11ed-8abf-dac502259ad0.png37024c18-80ed-11ed-8abf-dac502259ad0.png          将设计电路参数化可重复使用,构建自己的代码库,搭建起你的数字积木。

审核编辑 :李倩


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

    关注

    34

    文章

    1193

    浏览量

    120303
  • ROM
    ROM
    +关注

    关注

    4

    文章

    562

    浏览量

    85660
  • Verilog
    +关注

    关注

    28

    文章

    1343

    浏览量

    109970

原文标题:为了方便仿真这样写个ROM

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ROM对计算机性能的影响

    只读存储器(ROM)是计算机硬件中的一个重要组成部分,它负责存储计算机启动时必需的固件和基本输入输出系统(BIOS)。ROM的性能和质量对计算机的整体性能有着深远的影响。 ROM的基本概念 R
    的头像 发表于 11-04 10:31 153次阅读

    ROM数据丢失的常见原因

    ROM(Read-Only Memory,只读存储器)是一种非易失性存储器,用于存储固件或系统软件,这些数据在断电后仍然可以保留。ROM数据丢失可能会导致设备无法启动或功能异常。 ROM数据丢失
    的头像 发表于 11-04 10:29 222次阅读

    了解ROM与固态硬盘的关系

    在计算机存储领域,ROM(Read-Only Memory,只读存储器)和固态硬盘(Solid State Drive,简称SSD)是两种不同类型的存储技术。它们在功能、用途和性能上有着明显的区别
    的头像 发表于 11-04 10:24 272次阅读

    手机中的ROM与内存的区别

    1. ROM(只读存储器) 定义: ROM是一种非易失性存储器,这意味着即使在断电的情况下,存储在ROM中的数据也不会丢失。在智能手机中,ROM主要用于存储固件和操作系统,以及一些预装
    的头像 发表于 11-04 10:23 243次阅读

    常见的ROM类型及其特点

    ROM(Read-Only Memory,只读存储器)是一种半导体存储器,用于存储计算机或其他电子设备中的固件或固定数据。ROM在系统启动时提供必要的启动代码和数据,确保设备能够正常运行。以下是一些
    的头像 发表于 11-04 10:21 305次阅读

    ROM在嵌入式系统中的应用

    ROM(Read-Only Memory,只读存储器)是一种非易失性存储器,即使在断电的情况下也能保持存储的数据。在嵌入式系统中,ROM扮演着至关重要的角色,它用于存储固件、操作系统、配置数据和启动
    的头像 发表于 11-04 10:06 161次阅读

    如何选择适合的ROM类型

    在现代电子设备和计算机系统中,ROM扮演着至关重要的角色。它用于存储固件、操作系统、启动代码以及其他重要的系统信息。随着技术的发展,ROM的种类和特性也在不断变化。 1. ROM的基本概念 R
    的头像 发表于 11-04 10:04 127次阅读

    固态ROM的工作原理

    在计算机和电子设备的发展历程中,存储技术扮演了至关重要的角色。其中,固态ROM作为一种可靠的非易失性存储解决方案,被广泛应用于各种设备中。 ROM的基本结构 ROM的基本结构由存储单元、地址解码器
    的头像 发表于 11-04 10:03 180次阅读

    ROM和RAM的主要区别

    在现代计算机系统中,存储技术扮演着至关重要的角色。ROM和RAM是两种基本的存储类型,它们共同支撑着计算机的运行。 一、定义与基本功能 1.1 ROM(只读存储器) ROM是一种非易失性存储器,这
    的头像 发表于 11-04 10:01 357次阅读

    什么是ROM存储器的定义

    一、ROM存储器的定义 ROM存储器是一种在计算机和电子设备中用于存储固定数据的存储器。与RAM(随机存取存储器)不同,ROM存储器中的数据在断电后不会丢失,因此它被广泛用于存储不经常改变的系统软件
    的头像 发表于 11-04 09:59 197次阅读

    什么是RAM和ROM

    RAM(Random Access Memory,随机存取存储器)和ROM(Read-Only Memory,只读存储器)是计算机存储系统中的两种重要组成部分,它们在计算机的性能和功能上扮演着不同的角色。下面将分别详细解释RAM和ROM的定义、特点、工作原理、类型及其在计
    的头像 发表于 08-30 11:38 2805次阅读

    做emwin应用,图片太大,单片机ROM存不下怎么解决?

    在做emwin应用,图片太大,单片机ROM存不下! 开发板上有QSPI FLASH,想下载到这个存储体里,但是不知道用什么样的软件 不知道ST有没有相应的软件支持!知道STLINK可以,但是手头没有这个仿真器呀!捉急!
    发表于 05-09 06:23

    利用ISE与Matlab创建并仿真FPGA设计中的ROM IP核

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

    rom是什么存储器是内存还是外存

    ROM(Read-Only Memory)是一种只读存储器,用于存储计算机程序和数据,它在计算机系统中扮演着非常重要的角色。ROM的存储内容在制造时就被写入,并且在计算机运行过程中不能被改变。ROM
    的头像 发表于 02-05 10:05 5698次阅读

    rom与ram的主要区别 rom断电后数据会丢失吗

    ROM(Read-Only Memory)是只读存储器,而RAM(Random Access Memory)是随机存取存储器。它们在计算机系统中扮演着不同的角色和功能。 ROM是一种非易失性存储器
    的头像 发表于 01-25 10:46 3509次阅读