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

    文章

    1250

    浏览量

    122600
  • ROM
    ROM
    +关注

    关注

    4

    文章

    578

    浏览量

    87483
  • Verilog
    +关注

    关注

    29

    文章

    1367

    浏览量

    112417

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Simcenter FLOEFD BCI-ROM和Package Creator模块

    优势采用独立于边界条件的降阶模型(BCI-ROM)加速执行瞬态热仿真,同时采用PackageCreator轻松创建电子封装热模型。求解速度比完整的3D详细模型快40,000倍,且不折损精度有效保持
    的头像 发表于 07-08 10:32 ?171次阅读
    Simcenter FLOEFD BCI-<b class='flag-5'>ROM</b>和Package Creator模块

    Simcenter Flotherm BCI-ROM技术:与边界条件无关的降阶模型可加速电子热设计

    BCI-ROM可生成为矩阵类型、用于电路仿真的电热模型(VHDL-AMS格式)、用于系统仿真(FMU格式)的模型,甚至用于3DCFD的嵌入式BCI-ROM从根据热瞬态测试数
    的头像 发表于 05-28 10:37 ?326次阅读
    Simcenter Flotherm BCI-<b class='flag-5'>ROM</b>技术:与边界条件无关的降阶模型可加速电子热设计

    ROM对计算机性能的影响

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

    ROM数据丢失的常见原因

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

    ROM在电子产品中的重要性

    在现代电子产品的设计和制造中,ROM(Read-Only Memory,只读存储器)是一种不可或缺的存储技术。它为设备提供了启动和运行所需的基本指令集,确保了设备的稳定性和功能性。 一、ROM的定义
    的头像 发表于 11-04 10:28 ?1387次阅读

    了解ROM与固态硬盘的关系

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

    手机中的ROM与内存的区别

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

    常见的ROM类型及其特点

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

    ROM在嵌入式系统中的应用

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

    如何选择适合的ROM类型

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

    固态ROM的工作原理

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

    ROM和RAM的主要区别

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

    什么是ROM存储器的定义

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

    什么是RAM和ROM

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

    ram存储器和rom存储器的区别是什么

    定义: RAM(Random Access Memory):随机存取存储器,是一种易失性存储器,主要用于计算机和其他设备的临时存储。 ROM(Read-Only Memory):只读存储器,是一种
    的头像 发表于 08-06 09:17 ?1504次阅读