EDA课程设计报告Word格式.docx
- 文档编号:21813793
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:140.02KB
EDA课程设计报告Word格式.docx
《EDA课程设计报告Word格式.docx》由会员分享,可在线阅读,更多相关《EDA课程设计报告Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
SELOUT[3..0]为列选信号输出,为16-4编码信号。
列选信号采用与7段数码管的位选信号一样的处理方法,即列扫描信号频率大于24HZ。
关键词:
VHDL,16*16点阵,QuartusII,时序仿真图。
1、实验目的……………………………………………………………………………1
二、硬件要求……………………………………………………………………………1
三、方案论证……………………………………………………………………………1
四、模块说明……………………………………………………………………………1
1.整体程序………………………………………………………………………………1
2.花样一(动画)………………………………………………………………………6
3.花样二(“飞”字)…………………………………………………………………6
4.花样三(四字循环显示)……………………………………………………………7
五、整体连接图…………………………………………………………………………7
六、实验步骤……………………………………………………………………………7
七、实验结果……………………………………………………………………………7
八、实验总结……………………………………………………………………………7
九、参考文献……………………………………………………………………………8
课程设计任务书
课题名称
16*16点阵显示综合实验
完成时间
2012-12-26
指导教师
职称
副教授
学生
班级
总体设计要求和技术要点
利用VHDL进行数字钟设计,主要完成以下功能:
1.实现16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭。
2.当din="
0000"
时,实现上述功能;
当din="
0001"
时,显示单字“飞”;
其他情况下依次循环显示“航”,“天”,“学”,“院”四个字。
3.利用软件进行分频设计。
工作容及时间进度安排
第十三周:
12月26日:
上午了解EDA试验箱,调试程序、仿真,使程序实现以上功能;
下午进一步调试程序,对程序分配管脚,并在试验箱上连接好导线,进一步修改硬件和软件的错误;
晚上修改字符编码,使程序按要求显示。
最后验收。
课程设计成果
1.与设计容对应的软件程序
2.课程设计报告书
一、实验目的
(1)了解16*16LED的工作原理。
(2)了解点阵字符的产生和显示原理。
二、硬件要求
(1)主芯片EPF10K10LC84-4。
(2)16*16点阵。
(3)可变时钟源。
(4)四个拨码开关(显示花样的选择)。
三、方案论证
引脚整体可分为四个部分:
clk(时钟信号)、din[3…0](花样选择控制)、dotout[15…0](行驱动信号输出)、selout[3…0](列选信号输出)。
其中有一个分频器的设计,可用一个16位的计数器实现:
信号q从00000到11111循环变换,将q的低四位赋给列选信号selout,当q=11111时又可驱动另一计数器工作,实现分频。
第一个花样的设计:
用q驱动一个5位计数器zhen从00000到11111循环变换,当
Zhen=”00000”时,dotout=”00000”
Zhen=”00001”时,dotout=”00001”
……
……
Zhen=”10000”时,dotout=”1”
Zhen=”11110”时,dotout=”00011”
Zhen=”11111”时,dotout=”00001”。
第二个花样的设计:
可参考第三个花样的设计。
第三个花样的设计:
当zhen1(功能同zhen)=”00”时,显示第一个字“航”,当selout=”0000”时,dotout为“航”字的最后一列代码;
当selout=”0001”时,dotout为“航”字的倒数第二列代码,依次类推。
其他三个字的设计同“航”字。
四、模块说明
16*16点阵综合显示实验是用一个整体的程序编写的,所以不可分成模块,但可以分成三个部分:
16*16点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;
显示“飞”字;
依次循环显示“航”、“天”、“学”、“院”。
下面的程序分析中将讨论三个部分的设计。
1.整体程序
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitydots_testis
port(clk:
instd_logic;
--硬件接口
din:
instd_logic_vector(3downto0);
dotout:
outstd_logic_vector(15downto0);
selout:
bufferstd_logic_vector(3downto0));
enddots_test;
architectureaofdots_testis
signalq:
std_logic_vector(15downto0);
signalzhen:
std_logic_vector(4downto0);
begin
process(clk,din)
variableh:
std_logic_vector(3downto0);
variableh1:
variableq1:
variablezhen1:
std_logic_vector(1downto0);
begin
ifclk'
eventandclk='
1'
then
ifdin="
then--花样一的设计
ifq="
11111"
thenq<
="
00000"
;
--用于分频
ifzhen="
thenzhen<
elsezhen<
=zhen+1;
endif;
elseq<
=q+1;
selout<
=q(3downto0);
casezhenis
when"
=>
dotout<
00001"
00010"
00011"
00111"
00100"
01111"
00101"
00110"
01000"
01001"
01010"
01011"
01100"
01101"
01110"
10000"
10001"
10010"
10011"
10100"
10101"
10110"
10111"
11000"
11001"
11010"
11011"
11100"
11101"
11110"
whenothers=>
null;
endcase;
elsifdin="
then--花样二的设计,显示“飞”字
ifh="
1111"
thenh:
elseh:
=h+1;
=h;
casehis
when"
=>
0010"
0011"
0100"
0101"
0110"
0111"
1000"
1001"
1010"
1011"
1100"
1101"
1110"
whenothers=>
=null;
endcase;
else--花样三的设计
ifq1="
thenq1:
--同q,用于分频
ifzhen1="
11"
thenzhen1:
00"
elsezhen1:
=zhen1+1;
elseq1:
=q1+1;
h1:
=q1(3downto0);
=h1;
casezhen1is
--显示“航”字
caseh1is
01"
--显示“天”字
10"
--显示“学”字
--显示“院”字
endif;
endprocess;
enda;
2.花样一(动画)
花样一的仿真结果如下图(为了仿真的需要,在仿真时已将q改成5位,即q在00000到11111间循环变换):
图一:
16*16点阵的16列同时从上往下依次点亮
图二:
16行全部点亮
图三:
16列又同时从下往上依次熄灭
3.花样二(“飞”字)
花样一的仿真结果如下图
当列选信号selout=”0000”时,dotout为“飞“字倒数第一列代码”00000”;
当列选信号selout=”0001”时,dotout为“飞“字倒数第二列代码”00000”;
当列选信号selout=”0010”时,dotout为“飞“字倒数第三列代码”00000”;
…………
图四:
“飞”字仿真波形(部分)
4.花样三(四字循环显示)
为了仿真的需要,在仿真时已将q1改成5位,即q1在00000到11111间循环变换。
图五:
四字循环显示仿真波形
五、16*16点阵的整体连接图
图6.16*16点阵连接示意图
六、实验步骤
(1)打开quartusⅡ软件,为本项设计建立文件夹。
(2)输入设计项目的各个模块,存盘检查,编译并仿真至无误。
(3)调用底层文件的各个模块,连接整体原理图,进行存盘检查,编译仿真至无误。
(4)将PC机与试验箱进行连接选择器件并锁定引脚,然后进行编译下载。
(5)按照锁定好的引脚进行连线,进行硬件测试,验证仿真和测试结果。
七、实验结果
通过硬件测试,得到如下测试结果:
(1)当din=“0000”时,点阵的16列同时从上往下依次点亮,全亮后16列又同时从下往上依次熄灭;
(2)当din=“0001”时,能够显示“飞”字;
(3)当din为其他情况时,能够循环显示“航”,“天”,“学”,“院”四个字;
(4)当调节程序中q和q1的位数后,花样一的行数变化速度和花样二的字变化速度能够改变。
八、总结
通过这次课设,对VHDL语言的使用有了进一步的加强,了解到了其中的一些细节问题,如信号和变量的区别:
信号是在进程最后才对信号赋值,而变量是立即赋值;
信号在整个结构体都适用,而变量只能在所定义的进程中使用。
对所用到的软件也有了更加深刻的了解,如怎样分配管脚等,这对我们以后的学习和工作有很大的帮助。
本实验综合性较高,学习到了怎么去下载程序,也懂得了时钟源的产生和时钟源的分频原理,懂得16*16点阵的显示原理,使得我们的知识更加丰富与实用。
课设期间也发现了自己的很多不足,但是通过自己动手动脑,既增加了知识,有给了专业知识的提升。
最后感老师对我们的指导,以及同学们对我的帮助,他们为我解开了我不太明白的设计难题,使得实验能够顺利完成!
九、参考文献
[1]国洪、胡辉、明山.EDA技术与实验.机械工业,2009
[2]阎石.数字电子技术基础(第五版).高等教育,2006
指导教师评语及设计成绩
评语
课程设计成绩:
指导教师:
日期:
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 报告