VerilogHDL流水灯设计.docx
- 文档编号:12213600
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:9
- 大小:38.86KB
VerilogHDL流水灯设计.docx
《VerilogHDL流水灯设计.docx》由会员分享,可在线阅读,更多相关《VerilogHDL流水灯设计.docx(9页珍藏版)》请在冰豆网上搜索。
VerilogHDL流水灯设计
大规模数字逻辑
题目:
流水灯控制
专业电子信息科学与技术
班级
学号
学生姓名
设计时间
教师评分
2013年12月10日
一、概述
流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。
流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。
二、设计目的
1、熟悉利用QuartusII开发数字电路的基本流程和QuartusII软件的相关操作。
2、掌握基本的设计思路,软件环境参数配置,仿真,管脚分配,利用JTAG/AS进行下载等基本操作。
3、了解VerilogHDL语言设计或原理图设计方法。
4、通过本此设计,了解流水灯的工作原理,掌握其逻辑功能及设计方法。
三、设计内容
1、用VerilogHDL语言设计一个流水灯,输入0的时候led~led7,1Hz正向流水3次,然后全亮;然后2Hz逆向流水5次全亮;循环。
输入1的时候led0~led7,0.5Hz奇数流水2次,全亮,1Hz偶数流水4次,全亮,然后循环。
2、用QuartusII软件进行编译,仿真,下载到实验平台进行验证。
四、设计原理图
en为可调输入,输出为8位数据,为流水灯实验,试用8个LED指示灯来表示,具体引脚分配见下。
五、引脚分配情况
六、源程序代码
VerilogHDL程序:
moduleLED(clk,led,en);
inputclk;
inputen;
output[7:
0]led;//输出端口定义为寄存器型
reg[7:
0]led;
reg[8:
0]state1;
reg[8:
0]state2;
always@(posedgeclk)//always语句,表示每当CLK的上升沿到来时,完成begin-end之间语句的操作
if(!
en)
beginstate2=0;
state1=state1+1;//oneclk,onestate
case(state1)
1,2:
led<=8'b00000001;//1-7zhengxu,3bian
3,4:
led<=8'b00000010;
5,6:
led<=8'b00000100;
7,8:
led<=8'b00001000;
9,10:
led<=8'b00010000;
11,12:
led<=8'b00100000;
13,14:
led<=8'b01000000;
15,16:
led<=8'b10000000;
17,18:
led<=8'b00000001;
19,20:
led<=8'b00000010;
21,22:
led<=8'b00000100;
23,24:
led<=8'b00001000;
25,26:
led<=8'b00010000;
27,28:
led<=8'b00100000;
29,30:
led<=8'b01000000;
31,32:
led<=8'b10000000;
33,34:
led<=8'b00000001;
35,36:
led<=8'b00000010;
37,38:
led<=8'b00000100;
39,40:
led<=8'b00001000;
41,42:
led<=8'b00010000;
43,44:
led<=8'b00100000;
45,46:
led<=8'b01000000;
47,48:
led<=8'b10000000;
49:
led<=8'b11111111;//quanliang
50:
led<=8'b10000000;
51:
led<=8'b01000000;
52:
led<=8'b00100000;
53:
led<=8'b00010000;
54:
led<=8'b00001000;
55:
led<=8'b00000100;
56:
led<=8'b00000010;
57:
led<=8'b00000001;
58:
led<=8'b10000000;
59:
led<=8'b01000000;
60:
led<=8'b00100000;
61:
led<=8'b00010000;
62:
led<=8'b00001000;
63:
led<=8'b00000100;
64:
led<=8'b00000010;
65:
led<=8'b00000001;
66:
led<=8'b10000000;
67:
led<=8'b01000000;
68:
led<=8'b00100000;
69:
led<=8'b00010000;
70:
led<=8'b00001000;
71:
led<=8'b00000100;
72:
led<=8'b00000010;
73:
led<=8'b00000001;
74:
led<=8'b10000000;
75:
led<=8'b01000000;
76:
led<=8'b00100000;
77:
led<=8'b00010000;
78:
led<=8'b00001000;
79:
led<=8'b00000100;
80:
led<=8'b00000010;
81:
led<=8'b00000001;
82:
led<=8'b10000000;
83:
led<=8'b01000000;
84:
led<=8'b00100000;
85:
led<=8'b00010000;
86:
led<=8'b00001000;
87:
led<=8'b00000100;
88:
led<=8'b00000010;
89:
led<=8'b00000001;
90:
led<=8'b11111111;
91:
beginled<=8'b00000000;state1=0;end
default:
state1=0;
endcase
end
else
beginstate1=0;
state2=state2+1;//oneclk,onestate
case(state2)
1,2,3,4:
led<=8'b00000001;
5,6,7,8:
led<=8'b00000100;
9,10,11,12:
led<=8'b00010000;
13,14,15,16:
led<=8'b01000000;
17,18,19,20:
led<=8'b00000001;
21,22,23,24:
led<=8'b00000100;
25,26,27,28:
led<=8'b00010000;
29,30,31,32:
led<=8'b01000000;
33:
led<=8'b11111111;
34,35:
led<=8'b00000010;
36,37:
led<=8'b00001000;
38,39:
led<=8'b00100000;
40,41:
led<=8'b10000000;
42,43:
led<=8'b00000010;
44,45:
led<=8'b00001000;
46,47:
led<=8'b00100000;
48,49:
led<=8'b10000000;
50,51:
led<=8'b00000010;
52,53:
led<=8'b00001000;
54,55:
led<=8'b00100000;
56,57:
led<=8'b10000000;
58,59:
led<=8'b00000010;
60,61:
led<=8'b00001000;
62,63:
led<=8'b00100000;
64,65:
led<=8'b10000000;
66:
led<=8'b11111111;
67:
beginled<=8'b00000000;state2=0;end
default:
state2=0;//default,8'b11111110
endcase
end
Endmodule
分频器部分:
moduleclk_div(clk_out,clk_in);
inputclk_in;
outputclk_out;
regclk_out;
reg[25:
0]counter;//50_000_000=1011_1110_1011_1100_0010_0000_00
parametercnt=25_000_000;///50MHzisthesysclk,50_000_000=2FAF080
always@(posedgeclk_in)
begin
counter<=counter+1;
if(counter==cnt/2-1)
begin
clk_out<=!
clk_out;
counter<=0;
end
end
endmodule
七、心得体会
通过这次课程设计,我拓宽了知识面,锻炼了能力,综合素质得到较大提高。
而安排课程设计的基本目的,是在于通过理论与实际的结合、人与人的沟通,进一步提高思想觉悟和领悟力。
尤其是观察、分析和解决问题的实际工作能力。
它的一个重要功能,在于运用学习成果,检验学习成果。
运用学习成果,把课堂上学到的系统化的理论知识,尝试性地应用于实际设计工作,并从理论的高度对设计工作的现代化提出一些有针对性的建议和设想。
检验学习成果,看一看课堂学习与实际工作到底有多大距离,并通过综合分析,找出学习中存在的不足,以便为完善学习计划,改变学习内容与方法提供实践依据。
实际能力的培养至关重要,而这种实际能力的培养单靠课堂教学是远远不够的,必须从课堂走向实践。
这也是一次预演和准备毕业设计工作。
通过课程设计,让我们找出自身状况与实际需要的差距,并在以后的学习期间及时补充相关知识,为求职与正式工作做好充分的知识、能力准备,从而缩短从校园走向社会的心理转型期。
课程设计促进了我系人才培养计划的完善和课程设置的调整。
课程设计之后,我们普遍感到不仅实际动手说,这应该是个警示,在剩下的大学生活里,我应该好好珍惜,好好学习各方面的知识。
八、参考文献
[1]全国大学生电子设计竞赛组委会.全国大学生电子设计获奖作品汇编[J].北京理工大学出版社,2005。
[2]康华光.电子技术基础-数字部分[M].高等教育出版社,1998。
[3]谭会生等.EDA技术及应用[M].西安电子科技大学出版社,2001
[4]潘松,等.EDA技术实用教程[M].科学出版社,2006
[5]雷伏容HDL电路设计[M].清华大学出版社,2006
[6]CharlesH.Roth,等.数字系统设计与HDL[M].电子工业出版社,2008
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VerilogHDL 流水 设计