【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL23

embedded/2024/11/10 15:34:47/

ROM的简单实现

描述

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

接口信号图如下:

使用Verilog HDL实现以上功能并编写testbench验证。

输入描述:

clk:系统时钟

rst_n:异步复位信号,低电平有效

addr:8bit位宽的无符号数,输入到ROM的地址

输出描述:

data:4bit位宽的无符号数,从ROM中读出的数据

解题思路

`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) beginif (!rst_n) beginrom[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;endelse beginrom[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;			endendassign data = rom[addr];endmodule


http://www.ppmy.cn/embedded/114146.html

相关文章

【MySQL】表的相关操作

目录 1. 表的创建1.1 创建表语法1.2 创建表案例1.3 查看表 2. 表的修改2.1 修改表名2.2 插入数据2.3 新增一列2.4 修改某列2.4.1 修改列的类型2.4.2 修改列名 2.5 删除某列 3. 表的删除4. 注意 1. 表的创建 1.1 创建表语法 create table student ( 列属性名1 列数据类型, 列属…

优化Web性能:Varnish中精准识别并缓存移动与桌面请求

引言 在现代Web开发中&#xff0c;为了提升用户体验&#xff0c;针对不同类型的设备提供定制化的内容是一项重要的策略。Varnish作为HTTP加速器和缓存代理服务器&#xff0c;能够帮助我们实现这一目标。本文将详细介绍如何利用Varnish来实现基于设备类型&#xff08;PC端与移动…

【C语言】(指针系列3)数组指针+函数指针+typedef+函数数组指针+转移表

前言&#xff1a;前言&#xff1a;开始之前先感谢一位大佬&#xff0c;清风~徐~来-CSDN博客&#xff0c;由于是时间久远&#xff0c;博主指针的系列忘的差不多了&#xff0c;所以有顺序部分借鉴了该播主的&#xff0c;同时也加入了博主自己的理解&#xff0c;有些地方如果解释的…

Qt学习之旅 I

构建一个跨平台的应用(Create A Cross-Platform Application) 目录 构建一个跨平台的应用(Create A Cross-Platform Application) 设计模式 开始构建 Qt是跨平台的C框架&#xff0c;这里&#xff0c;我们将会构建一个简单的C跨平台项目来熟悉QT是如何实现简单的跨平台的。 …

上传富文本插入文件时报错:JSON parse error: Unexpected character解决办法

方式一&#xff08;加密解密&#xff09;&#xff1a; 1.前端 &#xff08;1&#xff09;安装 crypto-js npm install crypto-js&#xff08;2&#xff09;util下引入asc.js asc.js import CryptoJS from crypto-js// 需要和后端一致 const KEY CryptoJS.enc.Utf8.parse(…

前端开发规范

前端开发规范 编写背景&#xff1a;当前项目前端开发过程中&#xff0c;每个人有不同的编码风格&#xff0c;这就导致同一个模块不同人开发时可能产生阅读不方便的情况&#xff0c;这对于项目的长久开发是不利的&#xff0c;所以编写这套前端开发规范。 编写目的&#xff1a;避…

google map小叉号不显示

背景需求 需要在uniapp中接入google地图,研究了一番,都没有找到合适的,现在说一下教程。 效果图 前期工作 这两点缺一不可,否则你啥也看不到。 1、电脑安装L-O-U梯 用于访问G-OO-G-LE的API或者创建google map key。 2、手机安装L-O-U梯 用于显示google地图。我就是手…

C++ ——string的模拟实现

目录 前言 浅记 1. 构造函数 2. 拷贝构造函数 2.1 拷贝构造传统写法 2.2 拷贝构造现代写法 3. swap 4. 赋值重载 4.1 赋值重载的传统写法 4.2 赋值重载的现代写法1 4.3 赋值重载的现代写法2 5. 析构函数 6. reserve&#xff08;扩容&#xff09; 7. push_back&am…