当前位置: 首页 > news >正文

【【典型电路设计之片内存储器的设计之RAM的Verilog HDL描述一】】

典型电路设计之片内存储器的设计之RAM的Verilog HDL描述一

RAM是随机存储器,存储单元的内容可按需随意取出或存入。这种存储器在断电后将丢失所有数据,一般用来存储一些短时间内使用的程序和数据。
其内部结构如下图所示:
在这里插入图片描述
例:用Verilog HDL 设计深度为8,位宽为8的单端口RAM。
单口RAM,只有一套地址总线,读和写操作是分开的。
下面是verilog代码

module ram_single( clk, addm, cs_n, we_n, din, dout);
input clk;
input [2:0]addm;
input  cs_n;
input we_n;
input [7:0] din;
output[7:0] dout;
reg [7:0] dout;
reg [7:0] raml [7:0];
always@(posedge clk)
begin
if(cs_n)
dout<=8'bzzzz_ZZZZ;
else
if(we_n)
dout<=raml[addm];
else
raml[addm]<=din;
end
endmodule

下面是testbench

module ram_single_tb;
reg clk, we_n, cs_n;
reg [2:0]addm;
reg [7:0]din;
wire [7:0]dout;
ram_single U1(.clk(clk),.addm(addm),.cs_n(cs_n),.we_n(we_n),.din(din),.dout(dout));
initial begin
clk=0; 
addm=0;cs_n=1; 
we_n=0;din=0;
#5 cs_n=0;
#315 we_n=1;
end
always 
#10 clk=~clk;
initial
begin
repeat(7) begin
#40 addm=addm+1;
din=din+1;
end
#40 repeat(7)
#40 addm=addm-1;
end
endmodule
http://www.lryc.cn/news/128444.html

相关文章:

  • 食品行业案例 | 燕千云助力头部食品企业搭建数智化 IT服务管理体系及平台
  • SpringBoot的日志信息及Lombok的常用注解
  • Genoss GPT简介:使用 Genoss 模型网关实现多个LLM模型的快速切换与集成
  • 淘宝API接口的实时数据和缓存数据区别
  • excel统计函数篇1之average系列
  • 数学建模(二)线性规划
  • 小白到运维工程师自学之路 第七十三集 (kubernetes应用部署)
  • 联合仿真 ADAMS 和 SIMULINK步骤
  • 【C++精华铺】7.C++内存管理
  • 牛客网华为OD前端岗位,面试题库练习记录02
  • 数据库动态增删数据,导致分页查询数据出现重复或遗漏的问题分析及解决方案
  • 神经网络基础-神经网络补充概念-44-minibatch梯度下降法
  • 比较海思麒麟810与高通骁龙855的优劣
  • 计算机机房的管理
  • 软件架构生态化-多角色交付的探索实践
  • 基于YOLOv5n/s/m不同参数量级模型开发构建茶叶嫩芽检测识别模型,使用pruning剪枝技术来对模型进行轻量化处理,探索不同剪枝水平下模型性能影响【续】
  • 深度解析 Llama 2 的资源汇总:不容错过
  • Git 删除 GitHub仓库的文件
  • 如何使用 ChatGPT 将文本转换为 PowerPoint 演示文稿
  • html(七)meta标签
  • 《Go 语言第一课》课程学习笔记(五)
  • Golang 并发编程基础
  • 代码随想录算法训练营(二叉树总结篇)
  • 华为开源自研AI框架昇思MindSpore应用案例:基于MindSpore框架的UNet-2D案例实现
  • Python入门【TCP建立连接的三次握手、 TCP断开连接的四次挥手、套接字编程实战、 TCP编程的实现、TCP双向持续通信】(二十七)
  • React笔记-React入门
  • SD WebUI 扩展:prompt-all-in-one
  • Go和Java实现中介者模式
  • CentOS系统环境搭建(十五)——CentOS安装Kibana
  • 简单的洗牌算法