EDA与数字系统课程设计书Word格式.docx
《EDA与数字系统课程设计书Word格式.docx》由会员分享,可在线阅读,更多相关《EDA与数字系统课程设计书Word格式.docx(15页珍藏版)》请在冰点文库上搜索。
掌握通过电路图安装与调试技术。
通过具体的电路图,初步掌握简单电路元件装配、初步的焊接技术及对故障的诊断和排除。
培养学生理论联系实际的能力,提高分析问题和解决问题的能力,增强独立工作能力,培养学生团结合作,共同探讨,共同前进。
正文:
电工学课程内容包括电工技术和电子技术,是一门技术基础课,其内容具有基础性和普遍适用性,同时电工学又是一门应用类型的课程,其内容可以被广泛的学以致用。
基于该课程这样的特点,开设EDA课程设计可以使我们这些一直学习理论知识的大学生得到一个很好的实践机会。
在这个教学环节中能够引导我们自己研究问题,培养我们的创新意识和解决实际问题的能力,最终取得良好的教学效果。
EDA教学的基本内容可概括为三方面:
1.老师讲解max-plus的使用及其注意事项
2.布置当堂课程需完成的任务
3.同学们自己动手设计一个多功能时钟
学生EDA课程设计内容:
总体来说,我们此次的课程设计实验是层层深入的:
由仿例3线-8线译码器入手,到自行设计十二进制计数器和六十进制计数器,再改用文本输入,到扫描显示电路的熟悉应用,最终完成设计多功能时钟。
理论:
目前,数字技术已渗透到科研、生产和人们日常生活的各个领域。
数字系统就是对数字信息进行存储、传输、处理的电子系统。
通常把门电路、触发器等称为逻辑器件,将由逻辑器件构成,能执行某单一功能的电路,如计数器、译码器、加法器等,称为逻辑功能部件,把由逻辑功能部件组成的能实现复杂功能的数字电路称数字系统。
不论数字系统的复杂程度如何,规模大小怎样,就其实质而言皆为逻辑问题,从组成上说是由许多能够进行各种逻辑操作的功能部件组成的,这类功能部件可以是SSI逻辑部件,也可以是各种MSI、LSI逻辑部件,甚至可以是CPU芯片。
本次EDA实验就是运用各种电路元器件连接各种具有特定功能的电路。
本次实验的最终目的是完成多功能时钟的设计,用到的主要元器件有:
74161十六进制计数器,7485比较器,寄存器以及各种门电路元件。
实验
1.3线-8线译码器的制作:
为了了解MAX-plus2软件的具体运用,首先按照教程步骤完成制作3线-8线译码器。
具体步骤如下:
步骤1:
进入windows操作系统,打开MAX+plus2
步骤2:
启动File\ProjectName菜单,输入设计文件的名称(原理图文件的扩展名为.gdf)。
步骤3:
点击Assign\Device菜单,选择器件(EPF10LC84-4),ok.
步骤4:
启动File\New菜单,选择GraphicEditorfile,ok,打开原理图编辑器。
步骤5:
原理图设计输入(元器件放置,在器件之间添加连线)。
步骤6:
给输入、输出引脚命名。
步骤7:
保存原理图。
步骤8:
编译,生成.sof,.pof和.rpt文件。
步骤9:
时序模拟仿真(建立波形输入文件,编辑输入节点波形,时序模拟仿真)
步骤10:
管脚分配。
步骤11:
下载。
步骤12:
设计文件下载至PLD芯片后,根据步骤9的管脚分配的结果,改变数据开关的电平,验证发光二极管的状态是否满足理论结果。
例图1
例图2(波形图)
由于图形输入太多时会造成界面混淆,因此,在图形输入的基础上又学习了文本输入方式(3线-8线译码器),具体步骤如下:
步骤1-3:
与原理图输入法时相同。
启动File\New菜单,选择TextEditorfile,ok,
在硬件描述语言输入界面下,输入代码如下:
moduledecoder(out,in);
output[7:
0]out;
input[2:
0]in;
reg[7:
always@(in)
begin
case(in)
3'
d0:
out=8'
b00000001;
d1:
b00000010;
d2:
b00000100;
d3:
b00001000;
d4:
b00010000;
d5:
b00100000;
d6:
b01000000;
d7:
b10000000;
endcase
end
endmodule
保存设计文件,生成decoder.v文件
编译、仿真、管脚分配、下载等步骤与图形输入法相同。
通过3线-8线译码器的实验设计,让我们对已学过的知识掌握的更加透彻,EDA实验可以把书本上纯理论的知识形象化的呈现在我们面前,使其运行过程明朗化。
十进制计数器
十进制计数器的设计是用74161加法器来完成的,输入端状态全部置零,在输出为1001时接二输入与非门至异步置零端,此时的输出量正好显示十进制计数。
例图:
六十进制计数器
在六十进制计数器的实验设计中,我们用到了2个74160十进制计数器。
先把2个74160计数器串接为100进制的进位计数器:
第一个计数器的进位端接第二个计数器的工作状态控制端,两个计数器的输入状态端都接地,当两个计数器的输出为01011001时接四输入与非门至两个计数器的异步置零端,此时的计数器输出正好为60进制。
例图:
由图可知,六十进制图形输入格式的线路连接有点繁琐。
如果使用的元器件越多,图形输入格式将更加繁琐,那时的图形元器件可能会覆盖整个页面,会使我们分析元器件之间的连接变得相当困难,连错的几率将会大大增加,从而影响我们实际操作的效率。
为此,我们根据教程内容仿编了六十进制计数器的文本输入格式,输入代码如下:
modulejsq60(qh,ql,clk,reset);
output[3:
0]qh;
0]ql;
reg[3:
0]qh;
0]ql;
inputclk,reset;
always@(posedgeclkornegedgereset)
if(~reset){qh,ql}<
=0;
elsebegin
if({qh,ql}==8'
h59){qh,ql}<
if(ql==9)beginql<
qh<
=qh+1;
else
ql<
=ql+1;
由文本格式输入时所翻译过来的图形如下图:
此时的图形相当简单,可以简化整体电路设计。
十二进制计数器
十二进制计数器的设计方法类似六十进制计数器的设计,也是用两个74160计数器:
第一个计数器的进位端接第二个计数器的工作状态控制端,两个计数器的输入状态端都接地,当两个计数器的输出为00010010时接二输入与非门至两个计数器的异步置零端,此时的计数器输出正好为十二进制。
为了化简十二进制计数器,同时又设计了十二进制的文本格
式输入,编码如下:
modulejsq12(qh,ql,clk,reset);
=1;
h12){qh,ql}<
通过设计以上计数器电路可知,各种计数器的设计方法是类似的,很多方面都可以进行类推得以实现。
EDA技术为我们自行设计电路和研究电路功能提供了方便、快捷、有效的解决手段,可以培养我们的创新意识。
扫描显示电路
在设计译码器时,这种验证方式是很直观的,但在计数器设计时,这样的验证方式就显得很不直观,尤其当计数器的位数增加时(如百进制计数),太多的发光管将使结果的读出非常困难。
数码管显示是计数器等电路的最好选择。
动态扫描信号产生电路
(1)包含一个动态扫描信号产生模块和一个十六进制计数器,动态扫描信号模块可以由计数器和译码器构成,原理图如下:
在此电路中需注意:
标号相同的线路是连接在一起的,图中的decoder器件是用文本格式输入的,它的编码在前面已给出。
此电路的功能是使八个数码管依次同时显示0、1、2、3·
·
A、B、C、D、E、F。
动态扫描信号产生电路
(2)的要求是使两个数码管显示1-12的十二进制计数,两个数码管显示0-59的六十进制计数。
实验图如下:
图中的jsq60和jsq12分别是文本格式输入的六十和十二进制计数器,Sel模块也是文本输入格式,其原理是:
in1,in2……in8为八个数码管的BCD码输入端数据,MS1有效时,in1的数据送MS1显示;
MS2有效时,in2的数据送MS2显示;
……MS8有效时,in8的数据送MS8显示。
八组数据可以不全部都有,编码如下:
modulesaomiao(reset,clk,clk1,ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g);
inputclk,reset,clk1;
0]in1;
outputms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;
regms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8,a,b,c,d,e,f,g;
0]temp,flag;
always@(posedgeclk)
{ms1,ms2,ms3,ms4,ms5,ms6,ms7,ms8}=8'
b00000000;
flag=flag+1;
case(flag)
0:
begintemp=in1;
ms1=1;
1:
ms2=1;
2:
ms3=1;
3:
ms4=1;
4:
ms5=1;
5:
ms6=1;
6:
ms7=1;
7:
ms8=1;
case(temp)
4'
{a,b,c,d,e,f,g}=7'
b1111110;
b0110000;
b1101101;
b1111001;
b0110011;
b1011011;
b1011111;
b1110000;
d8:
b1111111;
d9:
b1111011;
hA:
b1110111;
hB:
b0011111;
hC:
b1001110;
hD:
b0111101;
hE:
b1001111;
hF:
b1000111;
default:
always@(posedgeclk1)
beginif(!
reset)in1=4'
b0000;
elsebeginin1=in1+1;
如此例中,十二进制数的低四位送in1,高四位送in2,六十进制数的低四位送in3,高四位送in4,其余数据端为空。
多功能时钟
多功能时钟的设计是本次实验的主要目的,实验要求是:
设计一个能进行时、分、秒计时的十二小时制或二十四小时制的数字钟,并具有定时与闹钟功能,能在设定的时间发出闹铃音,能非常方便地对小时、分钟进行手动调节以校
准时间,每逢整点,产生报时音报时。
此电路设计的重点以及难点就是定时与闹铃功能的设计,这项功能的实现要用到寄存器和数据比较器。
不过可惜,由于本人的实力有限,未能实现此项功能,这也成了本人的最大遗憾。
此电路中需注意的另一点就是进位输入时门电路的选用:
由于计数器用的是74161,在低电平向高电平跳变时会计数,一旦门电路选用不当,就会出现提前进位或长时间鸣叫的现象。
本电路的特点是功能多且分化细致,所以要用到74153数据选择器,用于不同功能的选择。
此设计问题可分为主控电路、计数器模块和扫描显示三大部分,用两个电平信号AA、BB进行模式选择,其中,AB=00为模式0,系统为计时状态;
AB=01为模式1,系统为手动校时状态;
AB=10为模式2,系统为整点报时设置状态。
设置一个turn信号,当turn=0时,表示在手动校对时,选择调整分钟部分;
reset为复位键。
从此实验中,我们看到该电路涉及的知识内容是综合性的,包含了前面所涉及的所有电路的功能。
能够让这个结构复杂,功能多的电路
正确地进行仿真,说明学生在电路的设计上是下了
很大功夫的。
这也说明EDA课程设计在培养学生,
让他们自己提出问题,然后再自己研究问题、解决
问题,培养他们的独立工作能力这些方面起到了很
好的激励作用,使学生有了一个可以展示自己才华
的空间,在这个空间里他们是可以大有作为的。
学生利就可以做到有所创新,所以EDA课程设计也是能
用EDA课程设计的环节将知识学以致用,从解决够培养学生创新意识的教学环节。
实际问题的角度出发,充分发挥自己的聪明才智,种状态的循环,仿真结果符合设计要求。
通过这次
设计,他不仅更好地掌握了所学的知识,也提高了
解决问题的能力。
结论:
本次实习最主要的收获是:
使我们对电子元件及电路安装有一定的感性和理性认识;
培养和锻炼我们的实际动手能力。
使我们的理论知识与实践充分地结合,作到不仅具有专业知识,而且还具有较强的实践动手能力,能分析问题和解决问题的高素质人才,为以后的顺利就业作好准备。
本次实习的对我们很重要,是我们机电一体化学生实践中的重要环节。
在以前我们学的都是一些理论知识。
这一次的实习正如老师所讲,没有多少东西要我们去想,更多的是要我们去做,好多东西看起来十分简单,看着电路图都懂,但没有亲自去操作,就不会懂得理论与实践是有很大区别的。
看一个东西简单,但在实际操作中就是有许多要注意的地方,有些东西也与你的想象不一样,我们这次的实验就是要我们跨过这道实际和理论之间的鸿沟。
不过,我坚信自己的是有一定能力的。
以前我们光只注意一些理论知识,并没有专门的练习我们的实际动手能力。
这次的实习使我意识到我的操作能力的不足,在理论上也有很多的缺陷。
所以,在以后的学习生活中,我需要更努力地读书和实践。
参考文献。
1李国丽,朱维勇.电子技术实验指导书.合肥:
中国科技大学出版社,2000
2王金明编,杨吉斌.数字系统设计与VerilogHDL.北京:
电子工业出版社,2002
3潘松,黄继业.EDA技术实用教程.北京:
科学出版社,2002
4阎石.数字电子技术基础第四版高等教育出版社,1997