1、燕 山 大 学 课 程 设 计 说 明 书目 录 摘要4 引言5 第1章 设计说明7 1.1 设计思路7 1.2 模块介绍71.3 真值表7第2章 Verilog HDL 程序设计10 2.1 源程序 10 2.2 原理图结构14 2.3 波形仿真图14 第3章 管脚锁定及硬件连接153.1 管脚锁定及硬件连接 15第章 总结 164.1 总结16参考文献16 燕山大学课程设计评审意见表17摘要面对当今飞速发展的电子产品市场,电子设计人员需要更加实用,快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,即优先考虑具体物理实现方式,而将精力集中到设计构思、方案比较和寻找最优化设计等方面
2、,以最快的速度开发出性能优良、质量一流的电子产品。今天的EDA工具将向着功能强大、简单易学、使用方便的方向发展。今天,电子系统和电路的集成规模越来越大,几乎不可能直接面向版图做设计,若要找出版图中的错误,更是难上加难。将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上,这是设计综合工具要达到的目的。高层次设计综合工具可以将低层次的硬件设计一起转换到物理级的设计,实现不同层次的不同形式的设计描述转换,通过各种综合算法实现设计目标所规定的优化设计。引言 EDA简介 EDA(Electronics Design Automation)技术,就是以大规模可编程逻辑器件为设计载体
3、,以硬件描述语言为系统逻辑描述的主要表达方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件的方式设计的电子系统到硬件系统的逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化,逻辑布局布线、逻辑仿真,直至完成对于特定目标芯片的一门新技术。 利用EDA技术进行电子系统的设计,具有以下几个特点:用软件的方式设计硬件;用软件方式设计的系统到硬件系统的转换是由有关的开发软件自动完成的;设计过程中可用有关软件进行仿真;系统可现场编程,在线升级;整个系统可集成在一个芯片上,体积小、功耗低、可靠性高。因此,EDA技术是现代电子设计的发展趋势。Verilog H
4、DL简介 Verilog HDL(Hardware Description Language)是目前应用最为广泛的硬件描述语言之一,被IEEE采纳为 STD.1364-1995和IEEE STD。1364-2001可以进行算法级(Algorithm)、寄存器传输级(RTL)、逻辑级(Logic)、门级(Layout)等各个层次的电路设计和描述。采用Verilog HDL进行电路设计与工艺性无关,这使得设计者在进行电路设计时可以不必过多考虑工艺实现的具体细节,设计者只需要利用计算机的强大功能,在EDA工具的支持下,通过Verilog HDL的描述,完成数字电路和系统的设计即可,从而提高了设计效率
5、,降低了设计者的劳动强度。MAX+plusII简介 MAX+plusII开发系统是美国Altera公司自行设计的CAD软件平台,是CAD的开发系统,具有易学易用的特点。MAX+plusII的全称是Multiple Array Matrix and Programmable Logic User System,该系统将数字电路设计集成在一个环境内,允许多种输入方式输入设计逻辑文件,经过系统编译、综合等操作,对设计进行功能模拟,对数字电路的设计实现同步模拟分析,延时时间分析,编译,最后将编译好的电路分配到一个或多个器件中。MAX+plusII 设计电路的过程有四个阶段:设计输入:有多种输入方式,原
6、理图设计输入,硬件描述语言设计输入,波形输入,底层设计输入 ,层次设计输入。设计处理:完成设计后,就要对用户编辑的文件进行编译,MAX+plusII提供了功能强大的编译器。设计校验:提供给用户仿真分析和定时分析的功能。仿真的结果可在*.SCF文件中查看,并可对应输入波形检验是否与理论相符合。定时分析主要计算器件节点间的延时。器件编程:将所设计的电路烧录到芯片中。 第1章 设计说明1.1 设计思路本次课题是设计绕线机,数码管计数之前,使能端为低电平,双色点阵显示GO,通过拨码开关给使能端一个高电平,数码管以1HZ的频率开始绕小圈并计数计数,同时双色点阵显示X,当计数到10时,第一组数码管保持10
7、不变;第二组数码管以0.5HZ频率从0计数到20开始绕中圈,双色点阵显示Z,计数到20时,数码管保持20不变;第三组数码管以0.25HZ频率从0计数到30开始绕大圈,双色点阵显示D,计数到30时,数码管保持不变,绕线结束,蜂鸣器有间歇的响5s,(响5次,每次响1s然后停1s)同时双色点阵显示END,程序结束。1.2 模块介绍3 输入信号的功能:CLK1: 1HZ,绕小圈时的频率,蜂鸣器的频率CLK2: 0.5HZ,绕中圈时的频率CLK3: 0.25HZ,绕大圈时的频率CLK4: 4096HZ,双色点阵和动态数码管的频率CRN: 使能端,/动和复位ROW: 双色点阵行RA: 双色点阵列SS: 动
8、态数码管位选输入端Q: 动态数码管段选输入端FM: 蜂鸣器输入端1.3 真值表十进制计数器真值表CLK1Q4Q3Q2Q1Q0十进制数0000000100001120001023000113400100450010156001106700111780100089010019100101010 二十进制计数器CLK2Q4Q3Q2Q1Q0二十进制数00000001000011200010230001134001004500101560011067001117801000890100191001010101101011111201100121301101131401110141501111151610
9、00016171000117181001018191001119201010020.三十进制计数器CLK3Q4Q3Q2Q1Q0三十进制数0000000100001120001023000113400100450010156001106700111780100089010019100101010110101111120110012130110113140111014150111115161000016171000117181001018191001119201010020211010121221011022231011123241100024251100125261101026271101127
10、281110028291110129301111030第二章 Verilog HDL 程序设计2.1 源程序module raoxianji(CLK1,CLK2,CLK3,CLK4,SS,Q,ROW,RA,FM,CRN);input CLK4,CLK1,CLK2,CLK3,CRN;output8:1 ROW,RA;output2:0SS;output6:0Q;output FM;reg FM;reg2:0SS;reg6:0Q;reg8:1 ROW,RA;reg4:0 Q1,Q2,Q3;reg2:0T;reg4:0M;reg3:0COUT;always(posedge CLK1 ) /十进制计数
11、器,CLK1=1HZbeginif(CRN) Q1=5b00000; else if (Q1=9) Q1=Q1+1; else begin Q1=5b01010;endendalways(posedge CLK2) /二十进制计数器,CLK=0.5HZbeginif(CRN)Q2=5b00000;else if(Q15b01010)Q2=5b00000; else if(Q1=5b01010) begin if(Q2=5b10011)Q2=Q2+1; else Q2=5b10100;endendalways(posedge CLK3) /三十进制计数器,CLK=0.25HZbeginif(CR
12、N)Q3=5b00000; else if(Q25b10100)Q3=5b00000; else if(Q2=5b10100) begin if(Q3=5b00001)&(Q1=5b01010)&(Q2=5b00000) /显示X begincase(T) 0:begin ROW=8b11111110;RA=8b10000001;end 1:begin ROW=8b11111101;RA=8b01000010;end 2:begin ROW=8b11111011;RA=8b00100100;end 3:begin ROW=8b11110111;RA=8b00011000;end 4:begin
13、 ROW=8b11101111;RA=8b00011000;end 5:begin ROW=8b11011111;RA=8b00100100;end 6:begin ROW=8b10111111;RA=8b01000010;end 7:begin ROW=8b01111111;RA=8b10000001;end endcase endelse if(Q1=5b01010&Q2=5b10100&Q3=5b00000) /显示Zbegin case(T) 0:begin ROW=8b11111110;RA=8b11111111;end 1:begin ROW=8b11111101;RA=8b010
14、00000;end 2:begin ROW=8b11111011;RA=8b00100000;end 3:begin ROW=8b11110111;RA=8b00010000;end 4:begin ROW=8b11101111;RA=8b00001000;end 5:begin ROW=8b11011111;RA=8b00000100;end 6:begin ROW=8b10111111;RA=8b00000010;end 7:begin ROW=8b01111111;RA=8b11111111;endendcaseendelse if(Q1=5b01010&Q2=5b10100&Q35b1
15、1110) /显示Dbegincase(T) 0:begin ROW=8b11111110;RA=8b00001110;end 1:begin ROW=8b11111101;RA=8b00010010;end 2:begin ROW=8b11111011;RA=8b00100010;end 3:begin ROW=8b11110111;RA=8b01000010;end 4:begin ROW=8b11101111;RA=8b01000010;end 5:begin ROW=8b11011111;RA=8b00100010;end 6:begin ROW=8b10111111;RA=8b000
16、10010;end 7:begin ROW=8b01111111;RA=8b00001110;end endcaseendelse begin ROW=8b11111111;RA=8b00000000;endend always(posedge CLK4) /动态数码管 beginif(SS5b00000)&(Q1=5b01001) M=Q1; else M=5b00000;end0:begin if(Q1=5b01010) M=5b00001; else M=5b00000;end3:begin if(Q1=5b01010&Q2=5b01010)&(Q2=5b01010)&(Q2=5b100
17、11) M=5b00001; else if(Q2=5b10100)M=5b00010; else M=5b00000; end 5:begin if(Q2=5b10100)&(Q3=5b01010)&(Q3=5b10100)&(Q3=5b01010)&(Q3=5b10100)&(Q3=5b11101)M=5b00010; else if(Q3=5b11110)M=5b00011; else M=5b00000;endendcaseend always(M)begincase(M)0:Q=7b0111111;1:Q=7b0000110;2:Q=7b1011011;3:Q=7b1001111;4
18、:Q=7b1100110;5:Q=7b1101101;6:Q=7b1111101;7:Q=7b0000111;8:Q=7b1111111;9:Q=7b1101111;endcaseendalways(posedge CLK1) /蜂鸣器beginif (Q35b11110) begin FM=0;COUT=0;end else if(COUT=b0010&COUT=b0100&COUT=b0110&COUT=b1000&COUT=1010&COUT=1100&COUT1110) begin COUT=COUT+1;FM=1;end else FM=0;endendmodule 2.2 原理图结
19、构2.3 波形图仿真第三章 管脚锁定及硬件连接3.1 管脚锁定及硬件连接输入输出端名称扩展下载版引脚硬件连接输入输出端名称扩展下载版引脚硬件连接CLK1PIN 7421SS2PIN 88SS2CLK2PIN 7122Q0PIN 86ACLK3PIN 6923Q1PIN 83BCLK4PIN 7311Q2PIN 75CROW1PIN 174ROW1Q3PIN 85DROW2PIN 176ROW2Q4PIN 87EROW3PIN 179ROW3Q5PIN 89FROW4PIN 189ROW4Q6PIN 90GROW5PIN 191ROW5RA1PIN 197RA1ROW6PIN 193ROW6RA
20、2PIN 195RA2ROW7PIN 196ROW7RA3PIN 192RA3ROW8PIN 198ROW8RA4PIN 190RA4FMPIN 38RA5PIN 187RA5CRNPIN 41RA6PIN 177RA6SS0PIN 93SS0RA7PIN 175RA7SS1PIN 92SS1RA8PIN173RA8第四章 总结4.1 总结通过这次设计,初步对EDA有了一个了解,掌握了一门新的知识,锻炼了自己的能力,也使以前学的知识得到了巩固,更体会到了自己独立完成一个项目后的轻松和兴奋。经过这次课程设计我主要学会了用Verilog HDL编写程序,并进行波形仿真,最后通过试验箱对自己设计的程
21、序进行验证。本次课设对我困难最大的莫过于编写程序了,由于C+语言和数电的知识不扎实,导致了我编写程序时困难重重,开始根本无从下手,后来编出的一些程序也都尽是错误,最后通过我的仔细专研和同学的帮助终于成功完成了程序的编写。而试验箱验证程序的过程又考验了我的实际动手能力和耐心,最终我成功的验证出了我所设计的是正确的,此时我激动不已,感觉自己的付出终于得到了回报。这次课程设计使我受益良多,不仅提高了我的学习能力,设计思考的能力,更使我克服了对新事物的恐惧心理。感谢学校可以为我们提供这样一次提高自己的机会,另外还需要感谢陈白和郑兆兆两位老师耐心的指导与帮助,使课设能够更加顺利的完成。参考文献数字电子技
22、术基础.阎石主编.高等教育出版社.2011年EDA课程设计A指导书 陈白 郑兆兆 周莲莲 燕山大学出版社 2012年燕山大学课程设计评审意见表指导教师评语:该生学习态度 (认真 较认真 不认真) 该生迟到、早退现象 (有 无)该生依赖他人进行设计情况 (有 无)平时成绩: 100 指导教师签字: XXX 2013 年 1 月4 日图面及其它成绩:100答辩小组评语:设计巧妙,实现设计要求,并有所创新。 设计合理,实现设计要求。 实现了大部分设计要求。 没有完成设计要求,或者只实现了一小部分的设计要求。 答辩成绩: 100 组长签字: XXX 2013 年 1 月4 日课程设计综合成绩:100+10086答辩小组成员签字: XXX 2013年 1 月4 日 共 17页 第16页