Verilog HDL语言实现ROM、RAM+有限状态机
- 利用MegaWizard实现创建RAM和ROM。(1)建立1个32单元8bit的RAM,并将0-31填入该RAM;(2)建立1个32单元8bit的ROM,建立.mif文件填入数据,并读出来显示。
(1)、RAM
功能代码:
module shiyan41(clk,wren,reset,q);
input clk;
input wren;
input reset;
output [7:0] q;
reg [4:0] address;
reg [7:0] data;
RAM1 U1(address,clk,data,wren,q);
always @(posedge clk)
begin
if(!reset)
begin
address<=5'b0;
data <=8'b0;
end
else
begin
address<=address+1;
data<=data +1;
end
end
Endmodule
测试文件:
`timescale 1ns/1ns
module test();
reg reset,clk,wren;
wire[7:0] q;
shiyan41 U2(clk,wren,reset,q);
always #10 clk=~clk;
initial
begin clk=0;reset=0;wren=0;
#20 reset=1;wren=1;
#650 reset=0;wren=0;
#2000 $stop;
end
endmodule
(2)ROM
功能代码:
module shiyan42(clk,reset,q);
input clk;
input reset;
output [7:0] q;
reg [4:0] address;
ROM1 U1(address,clk,q);
always @(posedge clk)
begin
if(!reset)
address<=5'b0;
else
address=address+1;
end
Endmodule
测试文件:
`timescale 1ns/1ns
module test();
reg reset,clk;
wire[7:0] q;
shiyan42 U2(clk,reset,q);
always #10 clk=~clk;
initial
begin clk=0;reset=0;
#20 reset=1;
#650 reset=0;
#2000 $stop;
end
endmodule
- 编写一个8路彩灯控制程序,要求彩灯有以下3种演示花型。
(1)8路彩灯同时亮灭;(2)从左至右逐个亮(每次只有1路亮);(3)8路彩灯每次4路灯亮,4路灯灭,且亮灭相间,交替亮灭;在演示过程中,只有当一种花型演示完毕才能转向其他演示花型。
功能代码:
module shiyan43(clk,light,reset);
input clk,reset;
output[7:0] light;
reg[3:0] state;
reg[7:0] light;
always @(posedge clk)
begin
if(!reset)
begin
light=8'b00000000;state=4'b0000;
end
else case(state)
4'b0000:begin light<=8'b11111111;state<=4'b0001;end
4'b0001:begin light<=8'b00000000;state<=4'b0010;end
4'b0010:begin light<=8'b10000000;state<=4'b0011;end
4'b0011:begin light<=8'b01000000;state<=4'b0100;end
4'b0100:begin light<=8'b00100000;state<=4'b0101;end
4'b0101:begin light<=8'b00010000;state<=4'b0110;end
4'b0110:begin light<=8'b00001000;state<=4'b0111;end
4'b0111:begin light<=8'b00000100;state<=4'b1000;end
4'b1000:begin light<=8'b00000010;state<=4'b1001;end
4'b1001:begin light<=8'b00000001;state<=4'b1010;end
4'b1010:begin light<=8'b00001111;state<=4'b1011;end
4'b1011:begin light<=8'b11110000;state<=4'b1100;end
4'b1100:begin light<=8'b00001111;state<=4'b0100;end
default:begin light<=8'b00000000;state<=4'b0000;end
endcase
end
endmodule
测试代码:
`timescale 1ns/1ns
module test();
reg reset,clk;
wire[7:0] light;
shiyan43 U2(clk,light,reset);
always #10 clk=~clk;
initial
begin clk=0;reset=0;
#10 reset=1;
#280 reset=0;
#20 reset=1;
#2000 $stop;
end
endmodule
Verilog HDL语言实现ROM、RAM+有限状态机相关推荐
- 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)
目录 前言 空调控制器 简介 状态转移图如下: Verilog HDL语言描述 测试文件 仿真图 ISE综合 RTL Schematic Technology Schematic 前言 关于工具的使用 ...
- 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)
目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...
- 级联模60计数器(Verilog HDL语言描述)(仿真与综合)
目录 前言 模60计数器 Verilog HDL语言描述 测试文件 仿真波形 RTL Schematic Technology Schematic 前言 看这篇文章前,推荐先看看模10计数器和模6计数 ...
- 模6计数器以及模10计数器(Verilog HDL语言设计)(Modelsim仿真与ISE综合)
目录 前言 模6计数器 Verilog HDL语言描述 测试文件 仿真电路图 RTL Schematic Technology Schematic 模10计数器 Verilog HDL语言描述 测试文 ...
- 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)
这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行 ...
- 通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器)
上篇博文写了用仿真和综合来认识D触发器(通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)),这篇博文采用完全并行的方式来认识JK触发器. 让我们迅速进入正题吧. J-K触发器的Ve ...
- Verilog HDL语言要素
Verilog HDL语言要素 Verilog HDL的基本要素,包括标识符.空白符.注释.数值和字符串.数据类型及运算符等. 标识符 Verilog HDL中的标识符(identifier)可以是任 ...
- Verilog HDL 语言基础语法
模块的结构 (1)Verilog的基本设计单元是"模块"(block). (2)一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能. (3)每个Verilog程序包括4个主 ...
- 数字时钟计数器(Verilog HDL语言描述)(仿真和综合)
目录 前言 主题 Verilog HDL设计代码 测试代码 仿真波形 ISE中综合 RTL Schematic Technology Schematic 前言 数字时钟计数器和我的前一篇博文:级联模6 ...
最新文章
- 词法作用域和动态作用域
- SVM分类器原理详解
- Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
- 使用glew和glad 新建窗口
- C BackgroundWorker类详细说明
- 阿里云发布聆听平台 全球招募300位MVP
- 深度学习需要计算机配置,深度学习工作站配置推荐
- 如何使用Win10原生的截图工具Snipping Tool?
- 内网环境下element-template配置element-admin
- python爬取豆瓣电影排行榜前250名
- 宝宝吃饭不乖,怎么办?
- java中获取中文拼音(全拼)和中文首字母
- 解决 CMD 命令行【不是内部或外部命令,也不是可运行的程序】或者【发生系统错误,拒绝访问】
- 【慕课网】前端零基础入门---步骤二:页面化妆师CSS---02-CSS文本样式
- VisualSvn破解(VS2019)
- 爬虫加tkinter做的中英互译小软件
- amazon ec2 一年试用免费申请
- 信息量和信息熵的理解
- ik做尾巴摆动 maya_maya跟随运动学教程(尾巴跟随)
- 一个c程序的执行是从哪里开始到哪里结束