EDA课程设计---流水灯设计

  • 格式:doc
  • 大小:124.50 KB
  • 文档页数:15

下载文档原格式

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

EDA课程设计流水灯设计

目录

一、摘要··3

二、流水灯设计目的··4

三、流水灯设计流程··4

四、流水灯设计程序··5

五、流水灯设计管脚分配··7

六、功能仿真图··8

七、原理图波形图··9

八、设计注意事项··10

九、课程设计总结··11

十、参考文献··12

十一、评分表··13

一、摘要

随着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 light(clk,l0,l1,l2,l3,l4,l5,l6,l7);

input clk;

output reg l0,l1,l2,l3,l4,l5,l6,l7;

reg[3:0] shu;

always @(posedge clk)

begin if(shu==15) shu<=0;

else shu<=shu+1;

case(shu)

4'b0000:begin l0=1;l1=0;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;end 4'b0001:begin l0=0;l1=1;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;end 4'b0010:begin l0=0;l1=0;l2=1;l3=0;l4=0;l5=0;l6=0;l7=0;end 4'b0011:begin l0=0;l1=0;l2=0;l3=1;l4=0;l5=0;l6=0;l7=0;end 4'b0100:begin l0=0;l1=0;l2=0;l3=0;l4=1;l5=0;l6=0;l7=0;end 4'b0101:begin l0=0;l1=0;l2=0;l3=0;l4=0;l5=1;l6=0;l7=0;end 4'b0110:begin l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=1;l7=0;end 4'b0111:begin l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=0;l7=1;end 4'b1000:begin l0=1;l1=0;l2=1;l3=0;l4=1;l5=0;l6=1;l7=0;end 4'b1001:begin l0=0;l1=1;l2=0;l3=1;l4=0;l5=1;l6=0;l7=1;end 4'b1010:begin l0=1;l1=1;l2=0;l3=0;l4=0;l5=0;l6=0;l7=0;end 4'b1011:begin l0=0;l1=0;l2=1;l3=1;l4=0;l5=0;l6=0;l7=0;end 4'b1100:begin l0=0;l1=0;l2=0;l3=0;l4=1;l5=1;l6=0;l7=0;end 4'b1101:begin l0=0;l1=0;l2=0;l3=0;l4=0;l5=0;l6=1;l7=1;end 4'b1110:begin l0=1;l1=1;l2=1;l3=1;l4=0;l5=0;l6=0;l7=0;end 4'b1111:begin l0=0;l1=0;l2=0;l3=0;l4=1;l5=1;l6=1;l7=1;end endcase

end

endmodule

相关主题