EDA课程设计流水灯设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EDA课程实践报告

基于verilog的流水灯设计

学院:物理与电气工程学院

专业:11级电子信息工程

姓名:蒋美菊

学号:111102088

基于verilog的流水灯设计

一、摘要

随着EDA技术发展和应用领域的扩大与深入,EDA技术在电子信息、通讯、自动控制及计算机应用等领域的重要性突出。随着技术市场与人才市场对EDA 的需求不断提高,产品的市场需求和技术市场的要求也必然会反映到教学领域和科研领域中来。因此学好EDA技术对我们有很大的益处。EDA是指以计算机为工具,在EDA软件平台上,根据设计社描述的源文件(原理图文件、硬件描述语言文件或波形图文件),自动完成系统的设计,包括编译、仿真、优化、综合、适配(或布局布线)以及下载。

流水灯是一串按一定的规律像流水一样连续闪亮,流水灯控制是可编程控制器的一个应用,其控制思想在工业控制技术领域也同样适用。流水灯控制可用多种方法实现,但对现代可编程控制器而言,基于EDA技术的流水灯设计也是很普遍的。

课程设计主要的目的是通过某一电路的综合设计,了解一般电路综合设计过程、设计要求、应完成的工作内容和具体的设计方法、通过设计也有助于复习、巩固以往的学习内容、达到灵活应用的目的。在设计完成后,还要将设计的电路进行安装、调试以加强学生的动手能力。在此过程中培养从事设计工作的整体观念。

课程设计应强调以能力培养为主,在独立完成设计及制作任务同时注意多方面能力的培养与提高,主要包括以下方面:

·独立工作能力和创造力。

·综合运用专业及基础知识,解决实际工程技术问题的能力。

·查阅图书资料、产品手册和各种工具书的能力。

·写技术报告和编制技术资料的能力。

·实际动手能力。

利用学到的电子技术知识,通过布置具有一定难度的设计题目,帮助学生熟悉课程设计任务和设计方法。

二、设计目的

1,学习使用EDA集成设计软件Quartus II,电路描述,综合,模拟过程。

2,了解基于EDA应用系统的设计方法。

3,掌握使用EDA工具设计流水灯的设计思路和设计方法

4,熟练使用Quartus II对实验程序进行改错,调试以及演示现象。。

5,帮助学生养成良好的实验习惯。

三、设计流程

(1)此次实验要求我们通过学习的EDA课程,来编制Verilog程序,以及使用这些程序代码来显示我们所要求的结果。流水灯设计是由八只LED显示灯来实现的,通过程序代码来控制这八只灯的亮灭,在实验初期,我们首先得编程序,通过我们上课所学的基础知识,再结合近段时间去图书馆查阅的有关参考书籍,以及网上所搜索的相关知识,我们小组共同完成了程序的编制,程序代码在下面有详细介绍。

(2)其次,我们需要掌握Quartus II的用法,因为要求的现象是通过这个软件实现的,在EDA实验课程中老师有详细介绍Quartus II的使用方法,所以在这一阶段对我们来说也比较得心应手,安装,调试,然后将编好的程序输入,在此过程中我们遇到了点小困难,显示程序有错误,但是通过我们集体的努力,终于发现,是因为在操作时,我们应该先创建自己的文件夹,然后统一存放在一起,而我们存放的地方有误,所以显示不出我们所输入的代码。

(3)当所有的程序输入无误后,我们要为每个器件设置管脚,因为这些在实验课上老师有说过,而且管脚号也已告诉我们,只需查询便可,所以这一阶段应该说也挺简单的。

(4)当所有的这一切准备工作做完后就是该演示现象了,这是最关键的一步,因为实验教材有限,所以不能保证我们每位同学都来演示,我们一组人中只需一个代表将我们的程序整理一下,然后演示一遍,8只LED显示灯能被控制其亮灭,会显示像流水一样的灯光。那么我们便可以通过这次的课程设计了,在此过程中,我们每个人的任务不同,我虽然没有亲手去调试,但是我也了解它的运作。(5)设计报告也是我们课程设计的最后一步了,说白了就是将我们这一周所干的事情总结一下,从开始使用Verilog编程序,在Quartus II输入程序,及改正错误,调试,运行,显示现象。这所有的东西详细的说明。那么这次的课程设

计就圆满结束。

四、流水灯设计程序

module Verilog1(LED,CLK,reset);

output[7:0] LED;

input CLK,reset;

reg [7:0] LED;

reg [24:0] counter;

initial

LED=8'b11111111;

always@(posedge CLK)

begin

counter<=counter+1;

if(counter==25'b1_0111_1101_0111_1000_0100_0000) //25M // 1_0111_1101_0111_1000_0100_0000

begin

LED<=LED<<1;

counter<=0;

if(LED==8'b0000000)

LED<=8'b11111111;

end

end

endmodule

五、流水灯设计管脚分配

六、设计注意事项

在编写程序时,注意格式以及拼写是否正确,因为Quartus II要求的程序代码也是很严格的,所以没有扎实的Verilog编程基础,也很难得到所要求的程序。其次在保存程序时,我们要建立自己的文件夹来存放所编的程序,以防止运行时和其他程序的混乱导致错误。

在管脚分配这块,我们要注意查找每个器件的标号,然后准确输入进去,可以使用文本编辑工具打开QuickSOPC管脚分配.txt文件,将# Pin & Location Assignments段拷贝并替代用户QuartusII工程文件夹下的*.qsf文件中的相同段。当然,用户也可以直接在该文件中修改管脚的配置,这比在Quartus II中逐一分配管脚效率要高。当只使用部分管脚时,可以只拷贝用到的管脚分配,当然,也可以全部拷贝,没有使用的管脚不会影响设计。

七、课程设计总结

两个月的电子设计技术(EDA)课程已经结束,在这验收学习成果的一星期内,通过对流水灯的制作,清楚地看到了自己在EDA方面知识的薄弱,各个知识点没有联会贯穿,EDA基础知识的掌握也不够牢固。

在做此课件的过程中,充分体会到了实际操作的重要性。如果没有同学的指点,可能自己会在一些地方打转弯,浪费掉很多时间。通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助。经过这次的课程设计,让我感觉自己在动手操作方面有质上的飞跃。再加上前几次的课程设计所积淀下来的经验,以及老师悉心的指导,有力地指导了这次课程设计的进行,提高了这次课程设计任务的质量和速度,进一步地增强了自己完成任务的能力,巩固了所学的理论知识。完成课程设计的质量明显提高。几个人集体完成任务,必然存在弊端的,尤其体现在合作的分工不明确和对任务的消极怠工。这次课程设计要求五人一组,一个中心,但需要融入自己的思想在里面,这也在一定程度上摆脱了依赖和消极怠工的现象。使我们独立完成任务能力增强。

所有的专业课实验,以及这次的课程设计,无不有力地证明了基础知识的重要性,无不在提醒自己,要重视对基础知识的学习。通过这次的实验,理解了电子技术设计的设计方法和流程,夯实了QuartusII的操作流程。很显然,任何的实践活动,都不可能闭门造车,是必须去吸取前人的实践经验,这就要求在课程

相关文档
最新文档