EDA_流水灯
- 格式:doc
- 大小:1.83 MB
- 文档页数:8
深圳大学实验报告课程名称:EDA技术
实验项目名称:流水灯设计
学院:
专业:
指导教师:
报告人:学号:班级:
实验时间:2011/10/26
实验报告提交时间:2011-11-9
教务部制
1、用VHDL代码描述一个分频电路,写一个8位流水灯程序;
2、用EDA的主板时钟66.6667MHz频率和复位信号作为输入,生成一个1Hz的时钟信号,输出一个控制LED灯亮、灭的信号;
3、
①LED0亮1秒,其他七个LED灯都灭;
②LED1亮1秒,其他七个LED灯都灭;
③LED2亮1秒,其他七个LED灯都灭;
依此类推
形成流水状……
4、LED电路图
1、端口设置
输入:主板芯片上的时钟输入:clk_66p6667MHz(采用引脚D11)
复位信号:rst(采用引脚Y18)
输出:控制流水灯的信号:LED (8位变量)(采用约束引脚F19、G18、H18、J17、J20、K18、M20、L15)
2、功能
让8个LED灯依次点亮、熄灭,形成流水状。具体来说,就是先让最左边或最右边的一个LED点亮,等1秒钟之后,再让第二个LED点亮,等1秒钟之后,再让第三个LED点亮,以此类推。
3、中间变量
计数变量:counter(25位)
控制LED的中间信号:T_LED(8位)
4、具体方法
用中间变量counter不断计数,直到记录到分频所需的数值的时候,即为1秒的时间,此时点亮最左边或最右边的LED,然后将counter清零,让counter再重新计数,直到再计算到分频所需的数值之后,再点亮下一个LED,再次将counter清零,以此类推,实现流水灯。
三,具体设计
1、新建工程:
在name栏键入工程名称。
2、主体源代码:
3、进行语法检查并综合:
4、仿真。仿真时把时间设置得小一点,可以比较快看到结果~~
下面为test bench 中的一部分代码,变量设置和板子上的时钟周期,原来的默认时钟周期为10us,由于太大,看不到led的变化,要将时钟周期改小,改为10 ns,只对复位变量进行操作,得出以下仿真的图像。
5、管脚约束:
6.download:
7:实验结论和心得:
通过实验,基本完成了实验要求,并实现了流水灯。
这次编写流水灯的程序,学习了bit 数据类型和逻辑左移、右移;循环逻辑左移、右移;要是等rol 循环逻辑左移,led必须定义为bit 类型,如下面截图所示:
指导教师批阅意见:
成绩评定:
指导教师签字:
年月日
备注:
注:1、报告内的项目或内容设置,可根据实际情况加以调整和补充。
2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内。