verilog实现ram16*8 (vivado)

module ram_16x2 (input clk,        // 时钟信号input we,         // 写使能input en,         // 使能信号input [3:0] addr, // 地址线input [1:0] datain, // 输入数据线output reg [1:0] dataout // 输出数据线
);// 定义存储器数组reg [1:0] mem [15:0];always @(posedge clk) beginif (en) beginif (we) beginmem[addr] <= datain; // 写入数据enddataout <= mem[addr]; // 读取数据endendendmodulemodule ram_16x8 (input clk,          // 时钟信号input we,           // 写使能input en,           // 使能信号input [3:0] addr,   // 地址线input [7:0] datain, // 输入数据线output [7:0] dataout // 输出数据线
);// 输出数据线wire [1:0] dataout0, dataout1, dataout2, dataout3;// 实例化4个16×2位存储器ram_16x2 ram0 (.clk(clk),.we(we),.en(en),.addr(addr),.datain(datain[1:0]),.dataout(dataout0));ram_16x2 ram1 (.clk(clk),.we(we),.en(en),.addr(addr),.datain(datain[3:2]),.dataout(dataout1));ram_16x2 ram2 (.clk(clk),.we(we),.en(en),.addr(addr),.datain(datain[5:4]),.dataout(dataout2));ram_16x2 ram3 (.clk(clk),.we(we),.en(en),.addr(addr),.datain(datain[7:6]),.dataout(dataout3));// 合并4个16×2位存储器的输出数据assign dataout = {dataout3, dataout2, dataout1, dataout0};endmodule

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/48137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

影响转化率的多元因素分析及定制开发AI智能名片S2B2C商城系统小程序的应用案例

摘要&#xff1a;在互联网时代&#xff0c;转化率是衡量营销活动成功与否的关键指标。本文首先分析了影响转化率的多种因素&#xff0c;包括活动页面的设计、活动的限时性、主题文案的吸引力、从众心理的运用&#xff0c;以及最核心的产品质量与优惠力度。接着&#xff0c;本文…

Linux 13:网络编程1

1. 预备知识 1-1. 理解源IP地址和目的IP地址 在IP数据包头部中&#xff0c;有两个IP地址&#xff0c;分别叫做源IP地址&#xff0c;和目的IP地址。 我们光有IP地址就可以完成通信了嘛&#xff1f;想象一下发qq消息的例子&#xff0c;有了IP地址能够把消息发送到对方的…

【周记】2024暑期集训第一周

例题记录 Together 题目解析 输入n个数&#xff0c;你可以将这些数分别1&#xff0c;-1或者保持不变&#xff0c;尽可能多的将这些数变成同一个数x&#xff0c;输出x的个数。 算法思路 每个数都有3种情况&#xff0c;那么只需要将所有情况得到的数&#xff0c;每一个的个数…

Python __init__与__new__的区别

Python __init__与__new__的区别 在 Python 中,__init__ 和 __new__ 是两个特殊的方法,用于创建和初始化对象,但它们的作用和执行时机有所不同。 __new__ 方法 __new__ 是在一个对象实例化的时候调用的第一个方法。它的任务是创建一个实例并返回它,是一个类级别的方法(c…

【Qt】常用控件 Q widget的enabled属性,geometry属性

Qt是一个实现图形化程序的程序。为了便于我们开发&#xff0c;Qt为我们提供了许多“控件”。我们需要熟悉并掌握这些控件的使用。 一.什么是控件 控件是构成⼀个图形化界⾯的基本要素. 示例一&#xff1a; 像上述⽰例一中的,按钮,列表视图,树形视图,单⾏输⼊框,多⾏输⼊框,滚动…

Web开发:图片九宫格与非九宫格动态切换效果(HTML、CSS、JavaScript)

目录 一、业务需求 二、实现思路 三、实现过程 1、基础页面 2、图片大小调整 3、图片位置调整 4、鼠标控制切换 5、添加过渡 四、完整代码 一、业务需求 默认显示基础图片&#xff1b; 当鼠标移入&#xff0c;使用九宫格效果展示图片&#xff1b; 当鼠标离开&#…

数学建模熵权法

目录 熵权法 简介 熵权法的基本原理 熵权法的步骤 应用实例 优缺点 优点&#xff1a; 缺点&#xff1a; 延伸 熵权法在环境评价中的具体应用案例是什么&#xff1f; 如何处理和减少熵权法计算过程中的数据异常值或缺失值的影响&#xff1f; 缺失值处理&#xff1a; …

SpringCloud—08—高级之SpringCloud Alibaba中—Sentinel

文章目录 提前预知18、Sentinel是什么&#xff1f;18.1、sentinel是什么&#xff1f;18.2、Sentinel下载安装运行18.3、Sentinel初始化监控18.4、Sentinel流控规则1、流控规则基本介绍2、流控规则之-QPS-直接-快速失败3、流控规则之-线程数-直接失败4、流控规则之-QPS-关联-快速…

做可视化项目如何才能让前端开发和UI设计和谐相处呢?仅供参考

做可视化项目如何才能让前端开发和 UI 设计和谐相处呢&#xff1f; 在当今数字化的时代&#xff0c;可视化项目在各个领域都变得越来越重要。无论是构建一个精美的网站、开发一款实用的移动应用&#xff0c;还是设计一套复杂的数据可视化系统&#xff0c;前端开发和 UI 设计都…

c++信号和槽机制的轻量级实现,sigslot 库介绍及使用

Qt中的信号与槽机制很好用&#xff0c;然而只在Qt环境中。在现代 C 编程中&#xff0c;对象间的通信是一个核心问题。为了解决这个问题&#xff0c;许多库提供了信号和槽&#xff08;Signals and Slots&#xff09;机制。今天推荐分享一个轻量级的实现&#xff1a;sigslot 库。…

深入理解MySQL的PreparedStatement

前言 在数据库操作中,安全和效率是至关重要的。PreparedStatement 是一种有效的技术,可以显著提高这两个方面的性能和安全性。下面来具体讲讲。 什么是PreparedStatement PreparedStatement 是一种执行预编译SQL语句的接口。与普通SQL不同,PreparedStatement 在执行前会对…

【UE5.1】NPC人工智能——04 NPC巡逻

效果 步骤 一、准备行为树和黑板 1. 对我们之前创建的AI控制器创建一个子蓝图类 这里命名为“BP_NPC_AIController_Lion”&#xff0c;表示专门用于控制狮子的AI控制器 2. 打开狮子蓝图“Character_Lion” 在类默认值中将“AI控制器类”修改为“BP_NPC_AIController_Lion” 3…

vue3 学习笔记10 -- 父子组件传参和组件间通信

vue3 学习笔记10 – 父子组件传参和组件间通信 父子组件之间的传参 父子组件之间的传参可以通过属性(prop)和事件(event)来实现 使用属性(props)传递数据 在子组件中定义 props 在子组件中使用 defineProps 来定义接收的属性 // children.vue <template> <div>{…

Spring 定时任务Scheduler监控异常和超时取消

Spring 定时任务Scheduler监控异常 设置Scheduler任务超时时间 监控Spring 定时任务Scheduler执行情况 1、定义一个执行任务 import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Comp…

中文词嵌入模型学习

中文词嵌入模型是一种将中文词语表示为固定维度的向量的技术。这些向量保留了词语之间的语义关系&#xff0c;使得相似的词在向量空间中距离更近。以下是关于中文词嵌入模型的详细介绍&#xff0c;包括其原理、特征以及如何使用。 中文词嵌入模型的原理 词嵌入模型的基本原理…

qt log 输出为文件,每分钟换一个log文件

1.qt log 输出为文件&#xff0c;每分钟换一个log文件 在Qt中&#xff0c;如果你想要每分钟将日志输出到一个新的文件中&#xff0c;你需要实现一个自定义的日志处理机制。以下是一个基本的实现方法&#xff1a; 创建一个日志管理类&#xff1a;这个类将负责处理日志的写入&am…

web的运行

目录 1. web基础知识 1. http协议 2. 网络的三种架构及特点 1.客户机/服务器结构&#xff08;C/S&#xff09; 2. 浏览器/服务器结构&#xff08;B/S&#xff09; 3. P2P结构 3. 网站搭建 1. 服务器 2.中间件 4. 网站的运行原理 1. 网站的常用术语 1. 基本术语 2. …

《JavaSE》---16.<抽象类接口Object类>

目录 前言 一、抽象类 1.1什么是抽象类 1.2抽象类代码实现 1.3 抽象类特点 1.4抽象类的作用 二、接口 2.1什么是接口 2.2接口的代码书写 2.3 接口使用 2.4 接口特点 2.5 实现多个接口 快捷键&#xff08;ctrl i &#xff09;&#xff1a; 2.6接口的好处 2.7 接…

windows常用命令整理

本文分享一些常用的windows命令。根据功能的不同&#xff0c;大致可分为以下几个方面&#xff0c;一是文件操作命令&#xff0c;二是进程相关命令&#xff0c;三是磁盘相关命令&#xff0c;四是网络相关命令&#xff0c;五是其他命令。 1.文件操作命令 dir&#xff1a;显示当…