EDA实验.docx
《EDA实验.docx》由会员分享,可在线阅读,更多相关《EDA实验.docx(87页珍藏版)》请在冰豆网上搜索。
EDA实验
一、实验部分
实验一仪器的熟悉及半加器的设计
一、实验内容:
(1)熟悉实验台
(2)用VHDL设计半加器及或门,并给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
(3)根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
实验二简单组合电路的设计
1.
一、实验目的:
熟悉Max+plusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、多层次电路设计、仿真和硬件测试。
二、实验内容1:
利用MAX+plusⅡ完成2选1多路选择器的文本编辑输入(mux21a.vhd)和仿真测试等步骤,给出下图所示的仿真波形。
三、实验内容2:
将多路选择器看成是一个元件mux21a,利用元件例化语句并将此文件放在同一目录。
以下是参考程序:
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYMUXKIS
PORT(a1,a2,a3,s0,s1:
INSTD_LOGIC;
outy:
OUTSTD_LOGIC);
ENDENTITYMUXK;
ARCHITECTUREBHVOFMUXKIS
COMPONENTMUX21A
PORT(a,b,s:
INSTD_LOGIC;
y:
OUTSTD_LOGIC);
ENDCOMPONENT;
SIGNALtmp:
STD_LOGIC;
BEGIN
u1:
MUX21APORTMAP(a=>a2,b=>a3,s=>s0,y=>tmp);
u2:
MUX21APORTMAP(a=>a1,b=>tmp,s=>s1,y=>outy);
ENDARCHITECTUREBHV;
对上例分别进行编译、综合、仿真。
并对其仿真波形作出分析说明,并画出电路结构,说明该电路的功能。
四、实验报告:
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析和详细实验过程;给出程序分析报告、仿真波形图及其分析报告。
实验三8位硬件加法器VHDL设计
一、实验目的:
熟悉Max+plusⅡ的VHDL文本设计流程全过程,掌握组合电路的VHDL设计。
二、实验内容:
设计一个两8位二进制数相加的硬件加法器电路。
三、实验要求:
给出此项设计的仿真波形,测试加法器的延时,利用实验电路验证此加法器的功能,并写出实验报告。
实验四触发器的设计
一、实验目的:
熟悉Max+plusⅡ的VHDL文本设计流程全过程,学习简单时序电路的设计、仿真和硬件测试。
二、实验内容:
设计上升沿D触发器和电平触发器,给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
三、实验报告:
分析比较实验内容1和2的仿真和实测结果,说明这两种电路的异同点,给出实验报告
实验五含异步清零和同步时钟使能的4位加法计数器
一、实验目的:
学习时序电路的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
图1含计数使能、异步复位和计数值并行预置功能4位加法计数器
二、实验原理:
图1是一含计数使能、异步复位和计数值并行预置功能4位加法计数器,例6-18是其VHDL描述。
由图1所示,图中间是4位锁存器;rst是异步清信号,高电平有效;clk是锁存信号;D[3..0]是4位数据输入端。
当ENA为'1'时,多路选择器将加1器的输出值加载于锁存器的数据端;当ENA为'0'时将"0000"加载于锁存器。
三、实验内容
在MAX+plusII上进行编辑、编译、综合、适配、仿真。
并进行引脚锁定以及硬件下载测试。
实验六7段数码显示译码器设计
一、实验目的:
学习7段数码显示译码器设计;学习多层次设计方法。
二、实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。
本项实验很容易实现这一目的。
例4-2作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如图4-2数码管的7个段,高位在左,低位在右。
例如当LED7S输出为"1101101"时,数码管的7个段:
g、f、e、d、c、b、a分别接1、1、0、1、1、0、1,接有高电平的段发亮,于是数码管显示“5”。
三、实验内容1:
在MAX+plusII上对以下该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形(提示:
用输入总线的方式给出输入信号仿真数据)。
四、实验内容2:
引脚锁定以及硬件下载测试,硬件验证译码器的工作性能。
图2共阴极7段数码管
图3计数器和译码器连接电路的顶层文件原理图
五、附加实验内容:
用VHDL例化语句,按图6-3的方式,以上例和实验五的元件为底层元件,完成顶层文件设计,并重复以上实验过程。
注意图6-3中的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议仍选实验电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接时钟信号clock0。
六、实验报告:
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和详细实验过程;设计原程序,程序分析报告、仿真波形图及其分析报告。
实验七全加器
一、实验目的:
熟悉Max+plusⅡ的VHDL文本设计流程全过程,掌握多种方式组合电路的VHDL设计。
二、实验内容:
(1)用半加器和或门实现
(2)直接描述全加器
三、实验报告:
分析实验内容1和2的仿真和实测结果,给出实验报告。
实验八
用状态机实现序列检测器的设计
一、实验目的:
用状态机实现序列检测器的设计,并对其进行仿真和硬件测试。
二、实验原理:
序列检测器可用于检测一组或多组由二进制码组成的脉冲序列信号,当序列检测器连续收到一组串行二进制码后,如果这组码与检测器中预先设置的码相同,则输出1,否则输出0。
由于这种检测的关键在于正确码的收到必须是连续的,这就要求检测器必须记住前一次的正确码及正确序列,直到在连续的检测中所收到的每一位码都与预置数的对应码相同。
在检测过程中,任何一位不相等都将回到初始状态重新开始检测。
三、实验内容:
利用MAX+plusII进行文本编辑输入、仿真测试并给出仿真波形,了解控制信号的时序。
最后进行引脚锁定并完成硬件测试实验。
四、实验报告:
根据以上的实验内容写出实验报告,包括设计原理、程序设计、程序分析、仿真分析、硬件测试和详细实验过程。
实验九用状态机对ADC0809的采样控制电路实现
一、实验目的:
学习用状态机对A/D转换器ADC0809的采样控制电路的实现。
二、实验原理:
ADC0809是CMOS的8位A/D转换器,片内有8路模拟开关,可控制8个模拟量中的一个进入转换器中。
ADC0809的分辨率为8位,转换时间约100us,含锁存控制的8路多路开关,输出有三态缓冲器控制,单5V电源供电。
主要控制信号说明:
如图4所示,START是转换启动信号,高电平有效;ALE是3位通道选择地址(ADDC、ADDB、ADDA)信号的锁存信号。
当模拟量送至某一输入端(如IN1或IN2等),由3位地址信号选择,而地址信号由ALE锁存;EOC是转换情况状态信号(类似于AD574的STATUS),当启动转换约100us后,EOC产生一个负脉冲,以示转换结束;在EOC的上升沿后,若使输出使能信号OE为高电平,则控制打开三态缓冲器,把转换好的8位数据结果输至数据总线。
至此ADC0809的一次转换结束了。
图4
三、实验内容:
利用MAX+plusII进行文本编辑输入和仿真测试;给出仿真波形。
实验十组合逻辑设计
一、实验目的:
1、通过一个简单的3—8译码器的设计,让学生掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
3、初步了解MAXPLUSII原理图输入设计的全过程。
二、实验的硬件要求:
1、输入:
DIP拨码开关3位。
2、输出:
LED灯。
3、主芯片:
EPF10K10LC84-4(EP1C3)。
三、实验原理:
三-八译码器为三输入,八输出。
当输入信号按二进制方式的表示值为N时(输入端低电平有效),输出端从零到八记,标号为N输出端输出低电平表示有信号产生,而其它则为高电平表示无信号产生。
因为三个输入端能产生的组合状态有八种,所以输出端在每种组合中仅有一位为低电平的情况下,能表示所有的输入组合,因此不需要像编码器实验那样再用一个输出端指示输出是否有效。
但可以在输入中加入一个输出使能端,用来指示是否将当前的输入进行有效的译码,当使能端指示输入信号无效或不用对当前信号进行译码时,输出端全为高电平,表示无任何信号。
本例设计中没有考虑使能输入端,自己设计时可以考虑加入使能输入端时,程序如何设计。
三-八译码器真值表
输入
输出
A2
A1
A0
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
电路原理图如下:
完成了原理图的输入后,就可以对程序进行管脚的定义、编译、仿真、下载,完成整个实验的设计。
实验十一组合电路
一、实验目的:
1、掌握组合逻辑电路的设计方法。
2、掌握组合逻辑电路的静态测试方法。
加深CPLD设计的过程,并比较原理图输入和文本输入的优劣。
二、实验的硬件要求:
1、输入:
按键开关(常高)4个:
拨码开关4位。
2、输出:
LED灯。
3、主芯片:
EPF10K10LC84-4(EP1C3)。
三、实验内容:
1、设计一个四舍五入判别电路,其输入为8421BCD码,要求当输入大于或等于5时,判别电路输出为1,反之为0。
2、设计四个开关控制一盏灯的逻辑电路,要求合任一开关,灯亮;断任一开关,灯灭。
3、设计一个优先权排队电路,其框图如下:
排队顺序:
A=1最高优先级
B=1次高优先级
C=1最低优先级
要求输出端最高只能有一端为“1”,即只能是优先级较高的输入端所对应的输出端为“1”。
四、实验连线:
1、输入信号D3,D2,D1,D0对应的管脚接四个拨码开关。
输出信号OUT对应的管脚接LED灯。
2、输入信号K1,K2,K3,K4对应的管脚接四个按键开关。
输出信号OUT对应的管脚接LED灯。
3、输入信号A、B、C对应的管脚连三个按键开关。
输出信号A-OUT,B-OUT,C-OUT对应的管脚分别连三个LED灯。
拨动拨码开关或者按下按键开关,观察LED灯,与实验内容是否相符。
实验十二扫描显示电路的驱动
一、实验目的:
了解教学系统中8位七段数码管显示模块的工作原理,设计标准扫描驱动电路模块,以备后面实验调用。
二、硬件要求:
主芯片:
EPF10K10LC84-4(EP1C3),时钟源,八位七段数码显示管,四位拨码开关。
三、实验内容:
1、用拨码开关产生8421BCD码,用CPLD产生字形编码电路和扫描驱动电路,然后进行仿真,观察波形,正确后进行设计实现,适配化分。
调节时钟频率,感受“扫描”的过程,并观察字符亮度和显示刷新的效果。
2、编一个简单的从0~F轮换显示十六进制的电路。
实验十三VGA显示接口设计实验
一、实验要求:
利用CPLD实现一个VGA显示器彩条发生器。
二、实验目的:
了解VGA显示器的基本显示原理。
近一步熟悉并掌握分频原理。
三、硬件要求:
主芯片EPF10K10LC84-4(EP1C3)。
可变时钟源。
VGA显示器接口。
VGA显示器。
四、实验原理:
VGA彩色显示器(640×480/60HZ)在显示过程中所必需的信号,除R、G、B三基色信号外,行同步HS和场同步VS也是非常重要的两个信号。
显示过程中HS和VS的极性可正可负,显示器内可自动转换为正极性逻辑。
现以正极性为例说明CRT的工作过程。
R、G、B为正极性信号,即高电平有效。
当VS=0、HS=0时,CRT显示的内容为亮的过程,即正向扫描过程约为26us。
当一行扫描完毕,行同步HS=1,约需6us;其间,CRT扫描产生消隐,,电子束回到CRT左边下一行的起始位置(X=0,Y=1)当扫描完480行后,CRT的场同步VS=1,产生场同步使扫描线回到CRT的第一行第一列(X=0,Y=O)处(约为两个行周期)。
HS和VS的时序图如下:
.
图中,T1为行同步消隐;T2为行显示时间(约为26μs);T3为场同步消隐(2行周期);T4为场显示时间(480行周期)。
本设计的彩条信号发生器可通过外部控制产生3种显示模式,共6种显示变化(见表2),其中的颜色编码如表3所示。
1
横彩条
1:
白黄青绿品红蓝黑
2:
黑蓝红品绿青黄白
2
竖彩条
1:
白黄青绿品红蓝黑
2:
黑蓝红品绿青黄白
3
棋盘格
1:
模式1
2:
模式2
表:
2
颜色
黑
蓝
红
品
绿
青
黄
白
R
0
0
0
0
1
1
1
1
G
0
0
1
1
0
0
1
1
B
0
1
0
1
0
1
0
1
表:
3
五、实验内容:
将示例程序下载到实验仪器上进行测试。
编写VGA程序,下载并验证。
CLK接时钟信号建议使用66MHz,HS、VS、R、G、B分别接VGA接口的行同步端、场同步端和三色端,MD模式切换按钮接一位按键开关(有6种输出模式,分别是:
横彩条1、横彩条2、竖彩条1、竖彩条2、棋盘格1和棋盘格2)。
六、实验报告:
详细叙述VGA彩条信号发生器的工作原理。
设计可显示横彩条与棋盘各项间的VGA彩条信号发生器。
设计可显示英语字母的VGA信号发生器。
实验十四二进制码转换成BCD码
一、实验目的:
设计并实现一个4位二进制码转换成BCD码的转换器。
二、实验原理:
本实验原理如下表:
输入信号
输出信号
D3
D2
D1
D0
B4
B3
B2
B1
B0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
1
0
0
0
0
1
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
0
0
0
1
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
0
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
1
1
0
0
1
1
1
1
1
0
1
0
1
0
0
1
1
1
1
1
0
1
0
1
三、实验连线
输入信号接拨码开关,输出信号接发光二极管。
改变拨码开关的状态,观察输出结果。
四、实验记录:
记录实验结果,参照上表将实验结果制表,与真值表比较,检验转换的正确性。
二、课程设计部分
一、课程的目的与任务
《EDA课程设计》(注:
EDA即电子设计自动化,ElectronicsDesignAutomation)是继《模拟电子技术基础》、《数字电子技术基础》、《电子技术基础实验》课程后,电气类、自控类和电子类等专业学生在电子技术实验技能方面综合性质的实验训练课程,是电子技术基础的一个部分,其目的和任务是通过一周的时间,让学生掌握EDA的基本方法,熟悉一种EDA软件,并能利用EDA软件设计一个电子技术综合问题,并在实验板上成功下载,为以后进行工程实际问题的研究打下设计基础。
二、课程的基本要求
1、通过课程设计使学生能熟练掌握一种EDA软件的使用方法,能熟练进行设计输入、编译、管脚分配、下载等过程。
2、通过课程设计使学生能利用EDA软件进行至少一个电子技术综合问题的设计(内容可由老师指定或自由选择),设计输入可采用图形输入法或AHDL硬件描述语言输入法。
3、通过课程设计使学生初步具有分析、寻找和排除电子电路中常见故障的能力。
4、通过课程设计使学生能独立写出严谨的、有理论根据的、实事求是的、文理通顺的字迹端正的课程设计报告。
5、考查形式为:
结合课程设计中的能力表现和设计报告,综合评分。
三、主要设备及器材配置
计算机、EDA软件、下载实验箱。
课程设计内容
设计一数字式竞赛抢答器
1、设计一个可容纳6组(或4组)参赛的数字式抢答器,每组设一个按钮,供抢答使用。
2、抢答器具有第一信号鉴别和锁存功能,使除第一抢答者外的按钮不起作用。
3、设置一个主持人“复位”按钮。
4、主持人复位后,开始抢答,第一信号鉴别锁存电路得到信号后,有指示灯显示抢答组别,扬声器发出2~3秒的音响。
5、设置一个计分电路,每组开始预置100分,由主持人记分,答对一次加10分,答错一次减10分。
教学提示:
1、此设计问题的关键是准确判断出第一抢答者并将其锁存,实现的方法可使用触发器或锁存器,在得到第一信号后将输入封锁,使其它组的抢答信号无效。
2、形成第一抢答信号后,用编码、译码及数码显示电路显示第一抢答者的组别,用第一抢答信号推动扬声器发出音响。
3、计分电路采用十进制加/减计数器、数码管显示,由于每次都是加/减10分,所以个位始终为零,只要十位、百位进行加/减运算即可。
设计二数字钟
1、设计一个能显示1/10秒、秒、分、时的12小时数字钟。
2、熟练掌握各种计数器的使用。
3、能用计数器构成十进制、六十进制、十二进制等所需进制的计数器。
4、能用低位的进位输出构成高位的计数脉冲。
教学提示:
1、时钟源使用频率为0.1Hz的连续脉冲。
2、设置两个按钮,一个供“开始”及“停止”用,一个供系统“复位”用。
3、时钟显示使用数码管显示。
4、“时显示”部分应注意12点后显示1点。
5、注意各部分的关系,由低位到高位逐级设计、调试。
设计三数字频率计
1、设计一个能测量方波信号的频率的频率计。
2、测量的频率范围是0999999Hz。
3、结果用十进制数显示。
教学提示:
1、脉冲信号的频率就是在单位时间内所产生的脉冲个数,其表达式为,f为被测信号的频率,N为计数器所累计的脉冲个数,T为产生N个脉冲所需的时间。
所以,在1秒时间内计数器所记录的结果,就是被测信号的频率。
2、被测频率信号取自实验箱晶体振荡器输出信号,加到主控门的输入端。
3、再取晶体振荡器的另一标准频率信号,经分频后产生各种时基脉冲:
1ms,10ms,0.1s,1s等,时基信号的选择可以控制,即量程可以改变。
4、时基信号经控制电路产生闸门信号至主控门,只有在闸门信号采样期间内(时基信号的一个周期),输入信号才通过主控门。
5、f=N/T,改变时基信号的周期T,即可得到不同的测频范围。
6、当主控门关闭时,计数器停止计数,显示器显示记录结果,此时控制电路输出一个置零信号,将计数器和所有触发器复位,为新的一次采样做好准备。
7、改变量程时,小数点能自动移位。
设计四拔河游戏机
1、设计一个能进行拔河游戏的电路。
2、电路使用15个(或9个)发光二极管,开机后只有中间一个发亮,此即拔河的中心点。
3、游戏双方各持一个按钮,迅速地、不断地按动,产生脉冲,谁按得快,亮点就向谁的方向移动,每按一次,亮点移动一次。
4、亮点移到任一方终端二极管时,这一方就获胜,此时双方按钮均无作用,输出保持,只有复位后才使亮点恢复到中心。
5、用数码管显示获胜者的盘数。
教学提示:
1、按钮信号即输入的脉冲信号,每按一次按钮都应能进行有效的计数。
2、用可逆计数器的加、减计数输入端分别接受两路脉冲信号,可逆计数器原始输出状态为0000,经译码器输出,使中间一只二极管发亮。
3、当计数器进行加法计数时,亮点向右移;进行减法计数时,亮点向左移。
4、由一个控制电路指示谁胜谁负,当亮点移到任一方终端时,由控制电路产生一个信号,使计数器停止计数。
5、将双方终端二极管“点亮”信号分别接两个计数器的“使能”端,当一方取胜时,相应的计数器进行一次计数,这样得到双方取胜次数的显示。
6、设置一个“复位”按钮,使亮点回到中心,取胜计数器也要设置一个“复位”按钮,使之能清零。
设计五乒乓球比赛游戏机
1、设计一个由甲、乙双方参赛,有裁判的3人乒乓球游戏机。
2、用8个(或更多个)LED排成一条直线,以中点为界,两边各代表参赛双方的位置,其中一只点亮的LED指示球的当前位置,点亮的LED依此从左到右,或从右到左,其移动的速度应能调节。
3、当“球”(点亮的那只LED)运动到某方的最后一位时,参赛者应能果断地按下位于自己一方的按钮开关,即表示启动球拍击球。
若击中,则球向相反方向移动;若未击中,则对方得1分。
4、一方得分时,电路自动响铃3秒,这期间发球无效,等铃声停止后方能继续比赛。
5、设置自动记分电路,甲、乙双方各用2位数码管进行记分显示,每计满21分为1局。
6、甲、乙双方各设一个发光二极管,表示拥有发球权,每隔5次自动交换发球权,拥有发球权的一方发球才有效。
教学提示:
1、用双向移位寄存器的输出端控制LED显示来模拟乒乓球运动的轨迹,先点亮位于某一方的第1个LED,由击球者通过按钮输入开关信号,实现移位方向的控制。
2、也可用计数译码方式实现乒乓球运动轨迹的模拟,如利用加/减计数器的2个时钟信号实现甲、乙双方的击球,由表示球拍的按钮产生计数时钟,计数器的输出状态经译码驱动LED发亮。
3、任何时刻都保持一个LED发亮,若发亮的LED运动到对方的终点,但对方未能及时输入信号使其向相反方向移动,即失去1分。
4、控制电路决定整个系统的协调动作,必须严格掌握各信号之间的关系。
设计六交通信号等控制器
1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、红、绿、黄发光二极管作信号灯,用传感器或逻辑开关作检测车辆是否到来的信号。
3、主干道处于常允许通行的状态,支干