数电实验报告文档格式.docx
《数电实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《数电实验报告文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
CS0903
学号:
U200914954
姓名:
刘明泉
组别:
44
同组人:
赵马沙
一.实验目的
通过硬件描述语言VHDL的编程,深入了解并掌握课编程芯片PLD的设计技术,加强学生对《数字逻辑》课程所学知识综合运用能力,培养学生的创新思维能力和独立解决实际问题的能力。
二.实验要求
1.能够较全面地运用课程中所学的基本理论和基本方法,完成从设计逻辑电路到设计简单数字系统的过渡。
2.能独立思考,独立查阅资料,独立设计规定的系统。
3.能独立完成实施过程,包括安装、布线、测试和排除故障。
三.实验任务
1.制定详细设计方案;
2.通过VHDL完成规定的设计任务,然后进行编译和仿真,保证设计的正确性。
3.生产熔丝图文件,下载到isPLSI1032芯片,通过实际线路进行验证;
4.对复杂系统的设计采取模块化、层次化的设计方法;
5.写出设计报告并提出改进意见
四.实验内容
五.实验环境
1.硬件平台:
DICE-SEM型试验箱,LatticeispLSI1032E,Lattice1016E芯片
简介:
DICE-SEM型试验箱是用于《数字逻辑》课程教学实验的专用设备,它提供了16位二档开关、16位发光二级管双色显示灯、IC插座、六七个BCD码译码显示器数码管、数字频率计、电子笔、可调电阻、模拟扩展区、PLD/CPLD扩展区等,另外还有一个Lattice1016E芯片提供了2个单脉冲开关、节拍信号、各种频率的时钟信号源等方面的功能。
CPLD扩展区包含一个CPLD下载板、2个针式扩展插座,下载板上有一个CPLD芯片LatticeispLSI1032E和JTAG下载接口插座。
试验箱电源采用220V交流供电,在面板上提供了多个+5v和地的电源接线插孔。
2.软件平台:
ispLever5.0。
简介:
ispLEVER是Lattice公司推出的一套EDA软件。
适用于所有的Lattice公司的CPLD、SPLD、FPGA和FPSC可编程器件,其设计输入可采用原理图、硬件描述语言及混合输入三种方式,并能够对所设计的系统进行功能仿真和时序仿真。
编译器将设计输入生产熔丝图文件,然后将熔丝图文件下载到ispLSI1032芯片中再接好输入/输出连线形成完整的数字电子系统。
六.实验设计方案
1.实验内容说明
根据实验要求,完成实验规定的所有功能,并且在此基础上,考虑现实情况,加入许多附加功能使得电梯更加人性化。
比如:
(1)考虑实际情况,我们取消了置入键。
(2)我们增加了快速关门按钮及开门按钮,快速关门可以马上使电梯关门,这样乘客在没人时候不用等太久,开门按钮是为了让正在关的电梯门重新打开。
这都是实际电梯所具备的功能。
(3)我们增加了超重提示功能,这也是实际电梯所拥有的功能。
(4)电梯在上升或下降的时候提示灯变红,当电梯到达楼层后提示灯变绿。
等等这些实际电梯所拥有的功能。
而且代码可读性很强,基本没有什么难懂的语句,分多进程书写,架构思路很清晰。
2.模块图
我们组分了3个进程来写,这样有助于程序的阅读和架构分析。
主要的功能实现基本位于控制电梯上下的进程
3.流程图
七.试验步骤与观察记录
1.实验步骤:
(1).认真阅读实验任务,思考讨论实验要求,对实验的框架进行大体构思。
(2).想清主进程的设计以及实现:
a.分部分书写,如先对reset按钮进行书写,然后进行调试,直到没问题再进行下一步的书写。
这样对调试方便很多。
b.对电梯外部按钮进行书写并调试以及在实验台测试。
c.对电梯内部按钮进行书写并调试以及在实验台测试。
(3).书写显示楼层进程并进行调试以及在实验台测试。
(4).书写超重报警进程并进行调试以及在实验台测试。
(5).综合3个进程对不断出现的BUG进行修复,完善代码。
(6).确保所有BUG修复后在实验台进行综合测试。
(7).对实验台进行重新布线使得检测起来更加方便。
2.观察记录
每一部分编译通过后在实验台进行测试,但是每一部分都会出现很多问题,比如在书写控制上下的进程中,在3楼内、外按下请求,同时在4楼按下请求,本应该在3楼停再上4楼,可是刚开始却没有,后面通过增加中间变量使得BUG得以修复。
在测试显示楼层进程中,发现在电梯
十.心得体会
这是我第一次使用VHDL语言进行编程,刚开始觉得无从下手,虽然在暑假又看过相关的书籍,但是却不知道如何运用,但是我和我的同组人赵马沙没有心慌。
我们先认真阅读了老师给的例题,然后一步一步从0开始,对代码进行编写、调试、测试,虽然老师没有要求我们必须在实验室做课程设计,但是我们还是每天都呆在实验室。
没写一部分都会遇到很多麻烦,尤其是刚开始很多错误都不知道是什么,更不知道如何进行修改,但是我们没有放弃,通过阅读书籍,网上查找相关资料,慢慢的懂得错误的原因以及如何修改。
当写完调试后没有问题,然后将其放在实验台进行测试,测试通过后我们都会很兴奋,虽然每一次都只是一点点简单的代码实现的也是简单的功能,但是这还是会给我们很大鼓励。
要知道什么东西都是入门很难,当掌握了入门,明白了其中的门路,那样接下去的事情会顺利很多。
我和同组人赵马沙每天早上8点半到实验室,然后11点去吃饭,下午2点半去5点半回,晚上接着呆在实验室,有的时候实验室人很少,但这并没有影响我们,我们依旧坚持着。
最终花了2天的时间我们的电梯功能已经基本实现,并且没有什么BUG了,但是我们并没有满足,我们从现实角度出发,不断想着许多现实遇到的问题,增加了快速关门、开门以及超重报警的功能。
当最终我们把电梯完成并且在实验台完美运行的时候我感觉我们的努力没有白费。
通过这次课设,我不仅了解了VHDL的基本用法,懂得如何用其进行硬件编程,同时对《数字逻辑》有了更深层次的认识。
同时通过这次课设我还充分领会了团队合作以及独立思考的重要性,如果是我一个人我估计很多问题都难以解决,但是通过与同组人的讨论,很多思路都变得顺畅了。
同时不能过分依赖同组人,应该有自己的思路学会独立思考,然后两个人进行综合比较得出最佳方案。
还有不得不说的是查阅资料的能力,有很多我们从没遇见的问题,如果纯粹凭空想象很难得到完美的解决,但是我们通过查阅资料给我们相关的提示与启发,那样解决问题来回变得更加得心应手!