• 利用MegaWizard实现创建RAM和ROM。(1)建立1个32单元8bit的RAM,并将0-31填入该RAM2建立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种演示花型。

18路彩灯同时亮灭;(2)从左至右逐个亮(每次只有1路亮);(38路彩灯每次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+有限状态机相关推荐

  1. 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)

    目录 前言 空调控制器 简介 状态转移图如下: Verilog HDL语言描述 测试文件 仿真图 ISE综合 RTL Schematic Technology Schematic 前言 关于工具的使用 ...

  2. 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)

    目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...

  3. 级联模60计数器(Verilog HDL语言描述)(仿真与综合)

    目录 前言 模60计数器 Verilog HDL语言描述 测试文件 仿真波形 RTL Schematic Technology Schematic 前言 看这篇文章前,推荐先看看模10计数器和模6计数 ...

  4. 模6计数器以及模10计数器(Verilog HDL语言设计)(Modelsim仿真与ISE综合)

    目录 前言 模6计数器 Verilog HDL语言描述 测试文件 仿真电路图 RTL Schematic Technology Schematic 模10计数器 Verilog HDL语言描述 测试文 ...

  5. 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)

    这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行 ...

  6. 通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器)

    上篇博文写了用仿真和综合来认识D触发器(通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)),这篇博文采用完全并行的方式来认识JK触发器. 让我们迅速进入正题吧. J-K触发器的Ve ...

  7. Verilog HDL语言要素

    Verilog HDL语言要素 Verilog HDL的基本要素,包括标识符.空白符.注释.数值和字符串.数据类型及运算符等. 标识符 Verilog HDL中的标识符(identifier)可以是任 ...

  8. Verilog HDL 语言基础语法

    模块的结构 (1)Verilog的基本设计单元是"模块"(block). (2)一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能. (3)每个Verilog程序包括4个主 ...

  9. 数字时钟计数器(Verilog HDL语言描述)(仿真和综合)

    目录 前言 主题 Verilog HDL设计代码 测试代码 仿真波形 ISE中综合 RTL Schematic Technology Schematic 前言 数字时钟计数器和我的前一篇博文:级联模6 ...

最新文章

  1. 词法作用域和动态作用域
  2. SVM分类器原理详解
  3. Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
  4. 使用glew和glad 新建窗口
  5. C BackgroundWorker类详细说明
  6. 阿里云发布聆听平台 全球招募300位MVP
  7. 深度学习需要计算机配置,深度学习工作站配置推荐
  8. 如何使用Win10原生的截图工具Snipping Tool?
  9. 内网环境下element-template配置element-admin
  10. python爬取豆瓣电影排行榜前250名
  11. 宝宝吃饭不乖,怎么办?
  12. java中获取中文拼音(全拼)和中文首字母
  13. 解决 CMD 命令行【不是内部或外部命令,也不是可运行的程序】或者【发生系统错误,拒绝访问】
  14. 【慕课网】前端零基础入门---步骤二:页面化妆师CSS---02-CSS文本样式
  15. VisualSvn破解(VS2019)
  16. 爬虫加tkinter做的中英互译小软件
  17. amazon ec2 一年试用免费申请
  18. 信息量和信息熵的理解
  19. ik做尾巴摆动 maya_maya跟随运动学教程(尾巴跟随)
  20. 一个c程序的执行是从哪里开始到哪里结束

热门文章

  1. 写在校招季,谈谈机器学习岗的Offer选择问题
  2. GPT-3诞生,Finetune也不再必要了!NLP领域又一核弹!
  3. 巨省显存的重计算技巧在TF、Keras中的正确打开方式
  4. 论文浅尝 | PairRE: 通过成对的关系向量实现知识图谱嵌入
  5. 会议交流 | CNCC2021中国计算机大会 —— 知识图谱赋能数字化转型论坛
  6. day01『NLP打卡营』实践课1:词向量应用演示
  7. 常见的算法面试问题以及代码实现
  8. 一篇文章学习Python中的多线程
  9. Theano+Keras开发环境搭建(最简单的教程)
  10. 【TensorFlow】实现简单的鸢尾花分类器