Verilog快速入门(17)—— ROM的简单实现

这篇具有很好参考价值的文章主要介绍了Verilog快速入门(17)—— ROM的简单实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Verilog快速入门

(1) 四选一多路器
(2)异步复位的串联T触发器
(3)奇偶校验
(4)移位运算与乘法
(5)位拆分与运算
(6)使用子模块实现三输入数的大小比较
(7)4位数值比较器电路
(8)4bit超前进位加法器电路
(9)优先编码器电路①
(10)用优先编码器①实现键盘编码电路
(11)8线-3线优先编码器
(12)使用8线-3线优先编码器实现16线-4线优先编码器
(13)用3-8译码器实现全减器
(14)使用3-8译码器①实现逻辑函数
(15)数据选择器实现逻辑函数
(16)状态机
(17)ROM的简单实现



一、题目描述

实现一个深度为8,位宽为4bit的ROM,数据初始化为0,2,4,6,8,10,12,14。可以通过输入地址addr,输出相应的数据data。

接口信号图如下:
Verilog快速入门(17)—— ROM的简单实现

输入描述:
clk:系统时钟
rst_n:异步复位信号,低电平有效
addr:8bit位宽的无符号数,输入到ROM的地址
输出描述:
data:4bit位宽的无符号数,从ROM中读出的数据文章来源地址https://www.toymoban.com/news/detail-473992.html

二、解析与代码

`timescale 1ns/1ns
module rom(
	input clk,
	input rst_n,
	input [7:0]addr,
	
	output [3:0]data
);
reg [3:0] rom[7:0];
always@(posedge clk or negedge rst_n)begin
	if(!rst_n)begin
		rom[0] <= 4'd0;
		rom[1] <= 4'd2;
		rom[2] <= 4'd4;
		rom[3] <= 4'd6;
		rom[4] <= 4'd8;
		rom[5] <= 4'd10;
		rom[6] <= 4'd12;
		rom[7] <= 4'd14;
	end
	else begin 
		rom[0] <= rom[0];
		rom[1] <= rom[1];
		rom[2] <= rom[2];
		rom[3] <= rom[3];
		rom[4] <= rom[4];
		rom[5] <= rom[5];
		rom[6] <= rom[6];
		rom[7] <= rom[7];
	end

end


assign data = rom[addr];
endmodule

到了这里,关于Verilog快速入门(17)—— ROM的简单实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Verilog快速入门(7)—— 4位数值比较器电路

    (1) 四选一多路器 (2)异步复位的串联T触发器 (3)奇偶校验 (4)移位运算与乘法 (5)位拆分与运算 (6)使用子模块实现三输入数的大小比较 (7)4位数值比较器电路 (8)4bit超前进位加法器电路 (9)优先编码器电路① (10)用优先编码器①实现键盘编码电路 (11)8线-3线优先编码器 (12)使用8线-3线

    2023年04月12日
    浏览(20)
  • Verilog快速入门(11)—— 8线-3线优先编码器

    (1) 四选一多路器 (2)异步复位的串联T触发器 (3)奇偶校验 (4)移位运算与乘法 (5)位拆分与运算 (6)使用子模块实现三输入数的大小比较 (7)4位数值比较器电路 (8)4bit超前进位加法器电路 (9)优先编码器电路① (10)用优先编码器①实现键盘编码电路 (11)8线-3线优先编码器 (12)使用8线-3线

    2024年02月07日
    浏览(31)
  • Verilog快速入门(8)—— 4bit超前进位加法器电路

    (1) 四选一多路器 (2)异步复位的串联T触发器 (3)奇偶校验 (4)移位运算与乘法 (5)位拆分与运算 (6)使用子模块实现三输入数的大小比较 (7)4位数值比较器电路 (8)4bit超前进位加法器电路 (9)优先编码器电路① (10)用优先编码器①实现键盘编码电路 (11)8线-3线优先编码器 (12)使用8线-3线

    2024年02月04日
    浏览(34)
  • 【Flink-1.17-教程】-【一】Flink概述、Flink快速入门

    在准备好所有的开发环境之后,我们就可以开始开发自己的第一个 Flink 程序了。首先我们要做的,就是在 IDEA 中搭建一个 Flink 项目的骨架。我们会使用 Java 项目中常见的 Maven 来进行依赖管理。 1、创建工程 (1)打开 IntelliJ IDEA,创建一个 Maven 工程。 (2)将这个 Maven 工程命

    2024年01月16日
    浏览(37)
  • 音乐播放器蜂鸣器ROM存储歌曲verilog,代码/视频

    名称:音乐播放器蜂鸣器ROM存储歌曲 软件:Quartus 语言:Verilog 代码功能:        设计音乐播放器,要求至少包含2首歌曲,使用按键切换歌曲,使用开发板的蜂鸣器播放音乐,使用Quartus内的ROM IP核存储音乐文件, 简谱存储在ROM中,共2首歌曲。      《茉莉花》的简谱存

    2024年02月04日
    浏览(33)
  • FPGA_学习_17_IP核_ROM(无延迟-立即输出)

    由于项目中关于厂商提供的温度-偏压曲线数据已经被同事放在ROM表了,我这边可用直接调用。 今天在仿真的时候,发现他的ROM表用的IP核是及时输出的,就是你地址给进去,对应地址的ROM数据就立马输出,没有延迟。 我打开他的IP核配置一看,他用的是 Distributed Memory Genera

    2024年02月11日
    浏览(29)
  • MongoDB简单快速入门

     MongoDB是一个开源、高性能、无模式的文档型数据库。NoSQL数据库产品中的一种,是最想关系型数据库的非关系型数据库  直接将安装的压缩包进行解压,然后在创建一个data文件夹,在data文件夹下面创建一个子文件夹db 启动服务端 创建数据库 mongod --dbpath=…datadb 进入bin目

    2024年02月08日
    浏览(33)
  • Hadoop快速入门+MapReduce案例(赠送17到23年往年真题答案+MapReduce代码文件)-----大数据与人工智能比赛

    Hadoop的核心就是HDFS和MapReduce HDFS为海量数据提供了 存储 而MapReduce为海量数据提供了 计算框架 一.HDFS 整个HDFS有三个重要角色: NameNode (名称节点)、 DataNode (数据节点)和 Client (客户机) NameNode :是Master节点(主节点) DataNode : 是Slave节点(从节点),是文件存储的基本

    2024年02月20日
    浏览(38)
  • Git快速入门篇—— Windows版本淘宝镜像快速下载安装详细步骤及简单入门教程(附带图文教程)

    前言:我们平时在整理代码的时候,尤其是与别人一起开发项目的时候,常常涉及到代码的更新,因此代码版本问题成了一个很头痛的事。而git正是为了解决这种问题而诞生。本文将详细介绍如何通过淘宝镜像进行git的安装以及git的简单入门技巧。 下一章: git与远程仓库的交

    2024年02月03日
    浏览(74)
  • 【FPGA/verilog -入门学习4】verilog 实现多路脉冲计数

    设计一个脉冲计数器,其功能如下 输入脉冲:4路脉冲信号,分别对每路进行脉冲检测并计数 使能信号:高电平进行计数,低电平清零计数器 计数器:在使能信号高电平期间,对脉冲信号的上升沿进行检测并递增计数值 编写测试脚本,进行仿真验证 使用上一章的一路脉冲检

    2024年02月04日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包