Verilog HDL语言实现ROM、RAM+有限状态机

  • 利用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

 

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

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

相关文章

重磅!亚马逊将在2019年全面弃用Oracle数据库

来源&#xff1a;AI 前线摘要&#xff1a;11 月 29 日&#xff0c;AI 前线获悉&#xff0c;亚马逊 AWS 首席执行官 Andy Jassy 在正在美国拉斯维加斯召开的 AWS re&#xff1a;Invent 2018 中表示&#xff1a;到 2019 年底&#xff0c;亚马逊将全面放弃使用 Oracle 数据库&…

数字图像处理实验6图像编码

一、实验目的 &#xff08;1&#xff09;了解图像编码的目的及意义&#xff0c;加深对图像编码的感性认识。 &#xff08;2&#xff09;熟练掌握哈夫曼编码的实现与应用。 &#xff08;3&#xff09;掌握行程长度编码的实现与应用&#xff0c;尤其是BMP和PCX文件的行程长度编…

机器人日行十万步却无需动力源!究竟如何完美的机械结构让你开始怀疑人身...

来源&#xff1a;机器人大讲堂摘要&#xff1a;上图这个机器人可不简单&#xff0c;它是世界纪录的保持者&#xff0c;目前最新的纪录是连续步行27小时&#xff0c;总长72公里&#xff08;相当于十万步还要多&#xff09;。而最最关键的是&#xff0c;它完全凭借自己完美的机械…

数字图像处理实验5图像复原

一、实验目的 &#xff08;1&#xff09;了解图像复原的目的及意义&#xff0c;加深对图像复原理论的认识。 &#xff08;2&#xff09;掌握维纳滤波复原基本原理。 &#xff08;3&#xff09;掌握约束最小二乘方复原方法。 &#xff08;4&#xff09;掌握盲解卷积复原方法…

MVVM模式的一个小例子

使用SilverLight、WPF也有很长时间了&#xff0c;但是知道Binding、Command的基本用法&#xff0c;对于原理性的东西&#xff0c;一直没有深究。如果让我自己建一个MVVM模式的项目&#xff0c;感觉还是无从下手&#xff0c;最近写了一个小例子&#xff0c;贴上代码&#xff0c;…

实现两个点集的欧式距离和cos距离和索引值寻找(含有两种解法,for循环和矩阵操作)

一.计算欧式距离 1&#xff0c;直接for循环 两个点集points1&#xff0c;points2&#xff0c;用dist来存储距离 points1np.array([[1,2],[3,4]]) points2 np.array([[5, 6],[7,8]]) dist np.zeros(shape[points1.shape[0],points2.shape[0]]) for i in range(points1.sha…

数字图像处理实验四图像频域增强

一、实验目的 &#xff08;1&#xff09;了解图像增强的目的及意义&#xff0c;加深对图像增强的感性认识&#xff0c;巩固所学的图像增强的理论知识和相关算法。 &#xff08;2&#xff09;熟练掌握低通、高通、带通、同态滤波器的使用方法&#xff0c;明确不同性质的滤波器…

卡耐基梅隆大学专家谈核心技术市场化:「AI 周边相关机遇最大」

来源&#xff1a;ZDnet、机器之能编译 | 张玺摘要&#xff1a;技术市场化之难在哪&#xff1f;创业家最常犯什么错误&#xff1f;每位立志创业的朋友都应该研究下这篇对卡耐基梅隆 (CMU) 大学专家的采访。CMU 是全美技术转移最成功的机构之一&#xff0c;斥巨资帮助全校师生实现…

数字图像处理实验三图像增强

一、实验目的 &#xff08;1&#xff09;了解图像增强的目的及意义&#xff0c;加深对图像增强的 感性认识&#xff0c;巩固所学的图像增强的理论知识和相 关算法。 &#xff08;2&#xff09;熟练掌握直方图均衡化和直方图规定化的计算过 程。 &#xff08;3&#xff09;熟…

matplotlib与seaborn的一些使用

1.plt.plot画线画点 a np.array([[1, 2], [3, 4]]) print(a[:, 0]) plt.plot(a[:, 0], a[:, 1]) plt.show() plt.plot(a[:, 0], a[:, 1], o,colorred) plt.show()&#xff03;添加风格 plt.plot(x,y,colorred,linewidth1.0,linestyle--) #设置x轴范围 plt.xlim((-1,2)) # …

无人驾驶汽车想要“普渡众生”,还要经历15个磨难

来源&#xff1a;Forbes 、网易智能摘要&#xff1a;无人驾驶汽车的未来与电动平衡车的历史有什么关系吗&#xff1f;电动平衡车也曾被预言将彻底改变交通。史蒂夫•乔布斯曾经说&#xff0c;城市将围绕这一设备重新设计&#xff1b;约翰•杜尔说&#xff0c;它将比互联网更大…

SQL的各种使用方法

一、Select语句例子 使用子查询查询employees表中&#xff0c;属于某一部门员工的姓名、职位、工薪、部门编号的信息 提示&#xff1a; 1)、需要关联employees表、departments表 2)、已知的信息为部门名称&#xff0c;部门名称由用户自己给出 按照要求写出SQL语句。 答案及…

正常矩形计算IOU与与NMS,多边形计算IOU

一&#xff0e;计算IOU def intersect(box_a, box_b):max_xy np.minimum(box_a[:, 2:], box_b[2:])min_xy np.maximum(box_a[:, :2], box_b[:2])inter np.clip((max_xy - min_xy), a_min0, a_maxnp.inf)return inter[:, 0] * inter[:, 1]def jaccard_numpy(box_a, box_b):&…

产业互联网受瞩目:互联网主战场从To C转向To B | 企鹅经济学

来源&#xff1a;科技日报摘要&#xff1a;最近&#xff0c;要论在互联网圈最火的词&#xff0c;非“产业互联网”莫属。如今&#xff0c;言必提产业互联网&#xff0c;已成为互联网圈的一种风潮。互联网的“上半场”已接近尾声&#xff0c;“下半场”的序幕正被拉开&#xff0…

json的用法

json格式 JSON格式&#xff1a;http://www.json.org/ python和JSON的关系请参考&#xff1a;http://docs.python.org/library/json.html JSON建构有两种结构&#xff1a; 1. “名称/值”对的集合&#xff08;A collection of name/value pairs&#xff09;。不同的语言中&#…

数据库设计方法

一、延续训练题 假设你是一个小的录影带出租店的老板。你的出租店里面有3000部电影。每部电影都有DVD或VHS录像带号码。对于每部电影&#xff0c;需要知道它的标题和类别&#xff08;如&#xff0c;喜剧&#xff0c;悬疑&#xff0c;剧情&#xff0c;动作&#xff0c;战争&…

谷歌首席科学家:搞研究的痛苦,搞工程的人不懂

来源&#xff1a;量子位作者&#xff1a;Vincent Vanhoucke谷歌首席科学家、谷歌大脑技术负责人Vincent Vanhoucke&#xff08;万努克&#xff09;最近发出的一篇“劝退文”&#xff0c;引发海外科研学者的热议。在这博客中&#xff0c;万努克直言以研究为业&#xff0c;固然令…

L1/L2/smooth_l1_loss/center_loss+Dice Loss+focal loss+各种IOU loss+kl散度

一&#xff0e;L1/L2/smooth_l1_loss/center_loss公式与代码 1.公式 L2公式&#xff1a; smooth_L1公式: 2.三种函数numpy代码实现 import numpy as np import matplotlib.pyplot as plt#y |x| def L1():x np.arange(-2, 2, 0.01)y abs(x)plt.figure()plt.plot(x, y, …

虚拟机中Linux安装Tools

1. 插入光盘后将文件拷贝到常用放置软件的目录 2. 解压文件 3. 然后进入解压后的文件夹里找到安装文件进行安装&#xff08;注意使用root权限安装&#xff09; 4. 安装时也是一个交互的过程 5. 完成安装 转载于:https://www.cnblogs.com/ywj2013/p/3578931.html

世界创新竞争力发展报告:中美日创新产出竞争力居前三

来源&#xff1a;皮书说11月21日&#xff0c;由福建师范大学、中国科学技术交流中心联合攻关&#xff0c;具体由全国经济综合竞争力研究中心福建师范大学分中心组织研究的《世界创新竞争力黄皮书&#xff1a;世界创新竞争力发展报告&#xff08;2011&#xff5e;2017&#xff0…