文档介绍:湖南科技大学信息与电气工程学院
《数字系统仿真与VHDL设计》
课程设计报告
题目: VHDL语言课程设
专业: 通信工程
班级: 二班
姓名:
学号: 7
课程设计任务书
题目
设计时间
设计目的:
设计要求:
总体方案实现:
指导教师评语:
目录
1、课程设计的目的。
2、设计方案的论证。
3、设计仿真及结果分析。
4、设计及仿真中的体会。
5、对本次课程设计的体会和建议。
6、参考文献(包括电路图和元器件清单)
1、课程设计的目的
选题一:循环彩灯控制器
设计一个循环彩灯控制器,该控制器控制红,绿,黄三个发光管循环点亮。要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。
选题二:交通灯控制器的程序设计
用于十字路口的交通灯控制器。要求:东西方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s 。当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复初始状态,正常工作。
选题三:多功能电子表
设计一个含有数字钟的多功能电子表。数字钟以“秒”作为基准信号,可显示时、分、秒。
2、设计方案的论证
选题一:循环彩灯控制器
要实现彩灯的循环控制需设计一个六进制计数器count,该计数器以时钟脉冲clk为输入信号,上升沿触发有效,采用VHDL硬件描述语言中的CASE语句实现控制彩灯的亮灭,设置一个输出三位逻辑值output以表示彩灯亮灭的总体情况,顺序为红、绿、黄,逻辑‘1’表示灯亮,逻辑‘0’表示灯不亮。其真值表如下:
count
output
彩灯
000
100
红灯亮
001
100
红灯亮
010
100
红灯亮
011
010
绿灯亮
100
010
绿灯亮
101
001
黄灯亮
设置输入时钟脉冲以1s为周期即可实现题设要求红发光管亮3秒,绿发光管亮2秒,黄发光管亮1秒。
为实现对彩灯的控制,设置一个清零端clr和置位端reset,均为高电平有效。当清零端clr为高电平时,彩灯均不亮,当置位端reset为高电平时,彩灯从初始状态开始重新循环,直到清零端clr的下一个高电平脉冲使其清零。
输入端口为:clk(时钟脉冲信号)、clr(清零端)、reset(置位端)
输出端口为:output(2 downto 0)
选题二:交通灯控制器的程序设计
要实现对交通灯的控制,原理和选题一大同小异,设计一个十进制计数器count,该计数器以时钟信号clk为输入信号,上升沿触发有效,采用VHDL硬件描述语言中的CASE语句实现控制彩灯的亮灭,东西两个方向分别设置一个输出三位逻辑值output1,output2以表示彩灯亮灭的总体情况,顺序为红、绿、黄,逻辑‘1’表示灯亮,逻辑‘0’表示灯不亮。为操作方便,将output1,output2合并为一个六位逻辑值output表示,其真值表如下:
count
output
东
西
0000
100010
红灯亮
绿灯亮
0001
100010
红灯亮
绿灯亮
0010
100010
红灯亮
绿灯亮
0011
100010
红灯亮
绿灯亮
0100
100001
红灯亮
黄灯亮
0101
010100
绿灯亮
红灯亮
0110
010100
绿灯亮
红灯亮
0111
010100
绿灯亮
红灯亮
1000
010100
绿灯亮
红灯亮
1001
001100
黄灯亮
红灯亮
设置一个置位端set,高电平有效,当有特殊情况发生时,使set为高电平,此时两个方向均为红灯亮,当set还原为低电平时,即当特殊情况结束后,控制器恢复初始状态,正常工作。
输入端口:clk(时钟脉冲信号)、set(特殊情况控制信号)
输出端口:r_east,g_east,y_east,r_west,g_west,y_west(东西方向红绿灯)
选题三:多功能电子表
设置一个输入端clk时钟脉冲输入信号,以hout,mout2,mout1,sout2,sout1分别表示时间的时、分、秒,从最低位s1(即秒的个位)开始计数,s2,s1构成一个六十进制计数器,当s1受时钟脉冲触发控制,当s1计数至‘9’时,s2加1,s1从零开始重新计数,以此类推,m2,m1构成一个六十进制计数器,以s2,s1一个计数周期为触发。其中h,m2,m1,s2,s1均用四位二进制数表示,当完成一个整周期后从零开始重新循环。这样就实现了电子表的计时功能。
要利用六个七段数码管实现电子表的显示功能,用h2,h1,m2,m1,s2,s1分别表示实现显示功能的数码管,它们在程序中都