EDA技术实验指导书Word格式文档下载.docx
《EDA技术实验指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《EDA技术实验指导书Word格式文档下载.docx(46页珍藏版)》请在冰豆网上搜索。
Multisim7在进行交流频率分析时,首先分析电路的直流工作点,并在直流工作点处对各个非线性元件做线性化处理,得到线性化的交流小信号等效电路,并用交流小信号等效电路计算电路输出交流信号的变化。
在进行交流分析时,电路工作区中自行设置的输入信号将被忽略。
也就是说,无论给电路的信号源设置的是三角波还是矩形波,进行交流分析时,都将自动设置为正弦波信号,分析电路随正弦信号频率变化的频率响应曲线。
(3)实验内容及步骤:
先建立如下图所示的实验电路。
电路存盘后进行直流分析,该电路直流工作点分析的结果记录下来。
启动交流分析工具
执行菜单命令Simulate/Analyses,在列出的可操作分析类型中选择ACAnalysis,则出现交流分析对话框,如图所示。
对话框中FrequencyParameters页的设置项目、单位以及默认值等内容见表所示。
检查测试结果
电路的交流分析测试曲线如图所示,测试结果给出电路的幅频特性曲线和相频特性曲线,幅频特性曲线显示了3号节点。
(电路输出端)的电压随频率变化的曲线;
相频特性曲线显示了3号节点的相位随频率变化的曲线。
由交流频率分析曲线可知,该电路大约在7Hz~24MHz范围内放大信号,放
大倍数基本稳定,且相位基本稳定。
超出此范围,输出电压将会衰减,相位会改变。
(4)实验报告:
根据实验内容编写实验报告。
Multisim在模拟电路中的应用
(1)实验目的:
进一步掌握Multisim的使用方法,原理图的建立、交流分析、傅立叶分析的方法和步骤。
巩固Multisim中虚拟仪器的使用。
(2)实验内容及步骤:
A、建立如下所示的电路原理图,在直流分析、交流分析的基础上进行傅立叶分析,接合双踪示波器的使用对比观测输入输出波形。
B、在电压反馈支路接入开关,通过开关的通断来观察电路中引入负反馈对放大电路性能的改善作用:
对通频带的影响、对增益的影响。
(3)实验报告:
根据实验内容及步骤,写现实验报告。
Multisim在数字电路中的应用
(1)实验目的:
进一步掌握Multisim的使用方法,原理图的建立、数字电路的分析方法和步骤。
巩固Multisim中虚拟数字仪器仪器的使用。
(2)实验原理:
CLR
LOAD
ENP
ENT
功能说明
L
×
异步清零
H
同步置数
计数
保持
Q保持,RCO为零
74LS160的管脚功能表
因为要设计的是2位十进制计数器,所以电路设计中必须用两片74LS160,一片(74LS160A)控制低位,一片(74LS160B)控制高位。
计数器的输入设为1Hz脉冲信号,接到74LS160A的CLK端。
高位的计数应由低位的进位决定,因此,高位的74LS160B的CLK端应由74LS160A的RCO端控制,但是由于74LS160的CLK脉冲为上升沿触发,所以级联时低位的进位信号通过一反相器接到高位的CLK端,否则计数器会在低位到8后即进位。
另外要处理清零问题。
因为是模25计数器,即当计数到24后就清零,所以必须在计数到25时分别给两片74LS160的CLR端送去清零信号。
由于25的8421码表示为“00100101”,因此应将74LS160B的QB和74LS160A的QA、QC三个管脚通过一与非门接两片74LS160的CLR端。
这就是异步清零法。
或者采用同步置数的方法。
因为是模25计数器,即当计数到24后就置数,所以必须在计数到24时分别给两片74LS160的LOAD端送去置数信号。
由于24的8421码表示为“00100100”,因此应将74LS160B的QB和74LS160A的QC两个管脚通过一与非门接两片74LS160的LOAD端。
注意,这时的A、B、C、D端均接地,即为0000。
(2)实验步骤:
建立如上所示的电路原理图,检测无误码后进行仿真,观察数码显示的结果是否与设计要求相一致。
实验仿真完后将电路修改为58进制再进行仿真测试,看是否达到预期效果。
(3)实验报告及体会。
QuartusII应用之简单组合电路设计
(4学时)
1-1.应用QuartusII完成基本组合电路设计
熟悉QuartusⅡ的VHDL文本设计流程全过程,学习简单组合电路的设计、文本文件设计输入方法、编译和时序仿真。
(2)实验内容1:
首先利用QuartusⅡ建立工作库文件夹(如MUX,注意不能用汉字)在硬盘上。
选择新建命令打开文本编辑器,如下图所示,输入下面的源程序并选择另存为命令存盘保存于建立工作库文件夹内(注意存盘名字应和设计实体名字一致即*。
VHD)。
(3)实验内容2:
创建工程,选择菜单FILE下面的NEWProjectWizard命令在弹出的工程设置对话框框中设置工程名称(应和设计实体名字一致)并将刚才输入的设计文件加入工程中去。
(4)实验内容3:
选择目标芯片:
CycloneⅡ系列EP2C5T144C8。
(5)实验内容4:
编译前设置
(6)实验内容5:
全程编译:
选择Processing菜单下的StartCompilation项,启动全程编译。
如果报告出错则返回程序进行修改后再编译。
直到编译成功为止。
如下图所示
(7)实验内容6:
时序仿真:
打开波形编辑器,在菜单中选择仿真结束时间,一般为50微秒左右。
(8)实验内容7:
将端口信号名加入波形编辑器中,
(9)实验内容8:
编辑输入波形,并将波形文件存盘。
(10)实验内容9:
启动波形仿真:
在菜单Processing项下选择StartSimultion,直到仿真结束。
观察仿真结果。
示例程序:
ENTITYmux21aIS
PORT(a,b,s:
INBIT;
y:
OUTBIT);
ENDENTITYmux21a;
ARCHITECTUREoneOFmux21aIS
BEGIN
PROCESS(a,b,s)
BEGIN
IFs='
0'
THENy<
=a;
ELSEy<
=b;
ENDIF;
ENDPROCESS;
ENDARCHITECTUREone;
按照给出的步骤对上例分别进行编译、综合、仿真。
并对其仿真波形作出分析说明。
(11)引脚锁定及硬件下载测试:
选择目标器件是CycloneⅡ系列
EP2C5T144C8,建议选实验电路模式5(附录图7),
用键1(PIO0,引脚号为1)控制s;
a和b分别接clock0(引脚号为93)和clock2(引脚号为17);
输出信号outy仍接扬声器spker(引脚号为129)。
通过短路帽选择clock0接1024Hz,clock2接8Hz信号。
最后进行编译、下载和硬件测试实验(通过选择键1控制输出,可使扬声器输出不同音调的的声音)。
注:
引脚设定的方法为:
选择Assignments菜单下的AssignmentEditor项即可进入下图所示的编辑窗口,在栏中选择Pin便可以弹出引脚锁定对话框。
(12)配置文件下载:
打开编程窗口和配置文件,首先将实验系统和并口通信线连接好,打开电源。
在Tool菜单中选择P:
rpgrammer,便可弹出下图所示的编程窗口,在Mode栏目中选择ActiveSerialProgramming方式。
所有的项目设置好后,点击Start按钮即可。
配置文件下载完成后,拔去下载连接线,便可通过控制工程键1来验证实验效果,听到扬声器发出不同频率的声音。
(13)实验报告:
根据以上的实验内容写出实验报告,包括程序设计、仿真分析、详细实验过程;
给出仿真波形图及其分析报告。
应用QuartusII完成基本时序电路的设计
熟悉QuartusⅡ的VHDL文本设计过程,学习简单时序电路的设计、仿真和测试。
根据实验1的步骤和要求,设计触发器(使用例3-6),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
【例3-6】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDFF1IS
PORT(CLK:
INSTD_LOGIC;
D:
Q:
OUTSTD_LOGIC);
END;
ARCHITECTUREbhvOFDFF1IS
SIGNALQ1:
STD_LOGIC;
--类似于在芯片内部定义一个数据的暂存节点
PROCESS(CLK,Q1)
IFCLK'
EVENTANDCLK='
1'
THENQ1<
=D;
ENDIF;
ENDPROCESS;
Q<
=Q1;
--将内部的暂存数据向端口输出(双横线--是注释符号)
ENDbhv;
在FPGA中进行实测。
可按以下要求进行引脚锁定,也可以自行选定设置引脚来实现。
对于GW48EDA实验系统,建议选择电路模式5,键2,键1输入CLK和D;
发光管D1显示输出Q。
(4)实验报告:
根据以上过程写出实验报告。
设计含异步清0和同步时钟使能的加法计数器
学习计数器的设计、仿真和硬件测试,进一步熟悉VHDL设计技术。
(2)实验原理:
实验程序为例3-22,实验原理参考数字电路教程,设计流程参考本章。
【例3-22】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITYCNT10IS
PORT(CLK,RST,EN:
INSTD_LOGIC;
CQ:
OUTSTD_LOGIC_VECTOR(3DOWNTO0);
COUT:
ENDCNT10;
ARCHITECTUREbehavOFCNT10IS
PROCESS(CLK,RST,EN)
VARIABLECQI:
STD_LOGIC_VECTOR(3DOWNTO0);
IFRST='
THENCQI:
=(OTHERS=>
'
);
--计数器异步复位
ELSIFCLK'
EVENTANDCLK='
THEN--检测时钟上升沿
IFEN='
THEN--检测是否允许计数(同步使能)
IFCQI<
9THENCQI:
=CQI+1;
--允许计数,检测是否小于9
ELSECQI:
);
--大于9,计数值清零
IFCQI=9THENCOUT<
='
;
--计数大于9,输出进位信号
ELSECOUT<
CQ<
=CQI;
--将计数值向端口输出
ENDbehav;
(3)实验内容1:
在QuartusⅡ上对例3-22进行编辑、编译、综合、适配、仿真。
说明例中各语句的作用,详细描述示例的功能特点。
(4)实验内容2:
引脚锁定以及硬件下载测试(参考4.2节)。
可以自行选定设置引脚来实现。
对于GW48EDA实验系统,建议选择电路模式5。
引脚锁定后进行编译、下载和硬件测试实验。
将实验过程和实验结果写进实验报告。
(5)实验报告:
将实验原理、设计过程、编译仿真波形和分析结果、硬件测试实验结果写进实验报告。
4实验七:
7段数码显示译码器设计
1(4学时)
学习7段数码显示译码器设计;
学习VHDL的CASE语句应用及多层次设计方法。
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。
例5-18作为7段译码器,输出信号LED7S的7位分别接如图5-18数码管的7个段,高位在左,低位在右。
例如当LED7S输出为“1101101”时,数码管的7个段:
g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;
接有高电平的段发亮,于是数码管显示“5”。
注意,这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,例5-18中的LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0)应改为…(7DOWNTO0)。
说明例5-18中各语句的含义,以及该例的整体功能。
在QuartusII上对该例进行编辑、编译、综合、适配、仿真,给出其所有信号的时序仿真波形。
提示:
用输入总线的方式给出输入信号仿真数据,仿真波形示例图如图5-17所示。
图5-177段译码器仿真波形
【例5-18】
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYDECL7SIS
PORT(A:
INSTD_LOGIC_VECTOR(3DOWNTO0);
LED7S:
OUTSTD_LOGIC_VECTOR(6DOWNTO0));
ARCHITECTUREoneOFDECL7SIS
PROCESS(A)
CASEAIS
WHEN"
0000"
=>
LED7S<
="
0111111"
;
0001"
0000110"
0010"
1011011"
0011"
1001111"
0100"
1100110"
0101"
1101101"
0110"
1111101"
0111"
0000111"
1000"
1111111"
1001"
1101111"
WHEN"
1010"
1110111"
1011"
1111100"
1100"
0111001"
1101"
1011110"
1110"
1111001"
1111"
1110001"
WHENOTHERS=>
NULL;
ENDCASE;
引脚锁定及硬件测试。
建议选GW48系统的实验电路模式6(参考附录图8),用数码8显示译码输出(PIO46-PIO40),键8、键7、键6和键5四位控制输入,硬件验证译码器的工作性能。
(5)实验内容3:
用第3章介绍的例化语句,按图5-19的方式连接成顶层设计电路(用VHDL表述),图中的CNT4B是一个4位二进制加法计数器;
模块DECL7S即为例5-18实体元件,重复以上实验过程。
注意图5-19中的tmp是4位总线,led是7位总线。
对于引脚锁定和实验,建议选电路模式6,用数码8显示译码输出,用键3作为时钟输入(每按2次键为1个时钟脉冲),或直接接时钟信号clock0。
(6)实验报告:
根据以上的实验内容写出实验报告,包括程序设计、软件编译、仿真分析、硬件测试和实验过程;
设计程序、程序分析报告、仿真波形图及其分析报告。
图5-18共阴数码管及其电路
图5-19计数器和译码器连接电路的顶层文件原理图
8位数码扫描显示电路设计
(4学时)
学习硬件扫描显示电路的设计。
图5-20所示的是8位数码扫描显示电路,其中每个数码管的8个段:
h、g、f、e、d、c、b、a(h是小数点)都分别连在一起,8个数码管分别由8个选通信号k1、k2、…k8来选择。
被选通的数码管显示数据,其余关闭。
如在某一时刻,k3为高电平,其余选通信号为低电平,这时仅k3对应的数码管显示来自段信号端的数据,而其它7个数码管呈现关闭状态。
根据这种电路状况,如果希望在8个数码管显示希望的数据,就必须使得8个选通信号k1、k2、…k8分别被单独选通,并在此同时,在段信号输入口加上希望在该对应数码管上显示的数据,于是随着选通信号的扫变,就能实现扫描显示的目的。
例5-19是扫描显示的示例程序,其中clk是扫描时钟;
SG为7段控制信号,由高位至低位分别接g、f、e、d、c、b、a7个段;
BT是位选控制信号,接图5-20中的8个选通信号:
k1、k2、…k8。
程序中CNT8是一个3位计数器,作扫描计数信号,由进程P2生成;
进程P3是7段译码查表输出程序,与例5-18相同;
进程P1是对8个数码管选通的扫描程序,例如当CNT8等于"
001"
时,K2对应的数码管被选通,同时,A被赋值3,再由进程P3译码输出"
,显示在数码管上即为“3”;
当CNT8扫变时,将能在8个数码管上显示数据:
13579BDF。
图5-208位数码扫描显示电路
【例5-19】
USEIEEE.STD_-LOGIC_-1164.ALL;
ENTITYSCAN_LEDIS
PORT(CLK:
SG:
OUTSTD_LOGIC_VECTOR(6DOWNTO0);
--段控制信号输出
BT:
OUTSTD_LOGIC_VECTOR(7DOWNTO0));
--位控制信号输出
END;
ARCHITECTUREoneOFSCAN_LEDIS
SIGNALCNT8:
STD_LOGIC_VECTOR(2DOWNTO0);
SIGNALA:
INTEGERRANGE0TO15;
P1:
PROCESS(CNT8)
CASECNT8IS
000"
BT<
00000001"
A<
=1;
00000010"
=3;
010"
00000100"
=5;
011"
00001000"
=7;
100"
00010000"
=9;
101"
00100000"
=11;
110"
01000000"
=13;
111"
10000000"
=15;
ENDPROCESSP1;
P2:
PROCESS(CLK)
THENCNT8<
=CNT8+1;
ENDPROCESSP2;
P3:
PROCESS(A)–-译码电路
WHEN0=>
SG<
WHEN1=>
WHEN2=>
WHEN3=>
WHEN4=>
WHEN5=>
WHEN6=>
WHEN7=>
WHEN8=>
WHEN9=>
WHEN10=>
WHEN11=>
WHEN12=>
WHEN13=>
WHEN14=>