《数字电路仿真实验报告模板.pdf》由会员分享,可在线阅读,更多相关《数字电路仿真实验报告模板.pdf(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实用文档.数字逻辑与 CPU 仿真实验报告 姓名:班级:学号:实用文档.仿真实验 摘要:Multisim 是 Interactive Image Technologies 公司推出的以 Windows 为基础的仿真工具,具有丰富的仿真分析能力。本次仿真实验便是基于 Multisim 软件平台对数字逻辑电路的深入研究,包括了对组合逻辑电路、时序逻辑电路中各集成元件的功能仿真与验证、对各电路的功能分析以及自行设计等等。一、组合逻辑电路的分析与设计 1、实验目的(1)掌握用逻辑转换器进行逻辑电路分析与设计的方法。(2)熟悉数字逻辑功能的显示方法以及单刀双掷开关的应用。(3)熟悉字信号发生器、逻辑分析
2、仪的使用方法。2、实验内容和步骤(1)采用逻辑分析仪进行四舍五入电路的设计 运行 Multisim,新建一个电路文件,保存为四舍五入电路设计。在仪表工具栏中跳出逻辑变换器 XLC1。图 1-1 逻辑变换器以及其面板 双击图标 XLC1,其出现面板如图 1-1 所示 依次点击输入变量,并分别列出实现四舍五入功能所对应的输出状态(点击输出依次得到 0、1、x 状态)。点击右侧不同的按钮,得到输出变量与输入变量之间的函数关系式、简化的表达式、实用文档.电路图及非门实现的逻辑电路。记录不同的转换结果。(2)分析图 1-2 所示代码转换电路的逻辑功能 运行 Multisim,新建一个电路文件,保存为代码
3、转换电路。从元器件库中选取所需元器件,放置在电路工作区。从 TTL 工具栏选取 74LS83D 放置在电路图编辑窗口中。从 Source 库取电源 Vcc 和数字地。从 Indictors 库选取字符显示器。从 Basic 库 Switch 按钮选取单刀双掷开关 SPD1,双击开关,开关的键盘控制设置改为 A。后面同理,分别改为 B、C、D。图 1-2 代码转换电路 将元件连接成图 1-2 所示的电路。闭合仿真开关,分别按键盘 A、B、C、D 改变输入变量状态,将显示器件的结果填入表 1-1 中。说明该电路的逻辑功能。表 1-1 代码转换电路输入输出对应表 输入 输出 A B C D U2 0
4、 0 1 1 0 实用文档.0 1 0 0 1 0 1 0 1 2 0 1 1 0 3 0 1 1 1 4 1 0 0 0 5 1 0 0 1 6 1 0 1 0 7 1 0 1 1 8 1 1 0 0 9 (3)用八选一数据选择器 74LS151 设计一个全加、全减逻辑电路。要求:党控制信号M=0 时,电路实现全加器的功能;当控制信号 M=1 时,电路实现全减器的功能。运行 Multisim,新建一个电路文件,保存为全加减电路文件。从元器件库中选取所需元器件,放置在电路工作区,并连线。从 TTL 工具栏选取所需元器件 74LS151D 和反相器 74LS04,放置在电路工作区;在仪表工具栏中
5、调出字信号发生器 XWG1、逻辑分析仪 XLA1;将元器件和仪表按图 1-3所示连接。其中,为了使输出、输入变量之间对应关系更加清楚,在输入和输出端通过 Place/Place text 分别设置了 S、Cn+1、M、A 等文本标识。实用文档.图 1-3 数据选择器实现的可控全加、全减器电路 双击字信号发生器 XWG1 图标,按照图 1-4 所示进行面板的设置。图 1-4 字发生器 XWG1 面板设置 双击逻辑分析仪 XLA1 图标,观察并画出输入变量与输出变量之间的对应波形。分析输出变量与输入变量之间的对应关系,将结果填入表 1-2 中。表 1-2 全加减电路测试结果 输入 输出 M A B
6、 C S Cn+1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 0 1 0 1 1 0 0 1 0 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 1 1 0 1 0 1 1 1 0 1 1 0 1 实用文档.1 1 0 0 1 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 1 1 3、实验结果与分析(1)采用逻辑分析仪进行四舍五入电路的设计 在逻辑变换器 XLC1 面板中设置好输入状态以后,进行不同的转换。(I)转换成逻辑函数表达式,得到输出变量与输入变量之间的函
7、数关系式:F=ABCD+ABCD+ABCD+ABCD+ABCD ,如图 1-5 图 1-5 输出与输入变量之间的函数关系式 图 1-6 最简函数关系式 (II)转换成最简函数表达式,得到:F=BC+BD+A ,如图 1-6(III)转换成与或门组成的门电路,得到图 1-7。图 1-7 与、或门逻辑电路 实用文档.(IV)转换成与非门组成的门电路,得到图 1-8。图 1-8 与非门逻辑电路 (2)分析图 1-2 所示代码转换电路的逻辑功能 分别改变 A、B、C、D 四个输入变量的状态可以得到不同的显示结果,并均已记录在表 1-1 中。从该表中,我们可以看出,该电路的逻辑功能是对余 3 码的译码(
8、或者也可以说是将余 3 码转换成 8421BCD 码)。这与理论上的分析结果一致。74LS83D 是全加器,其中,输入端 B4B3B2B1端已分别置为 1101,最低位进位端 C0 也已置 1。当改变 A、B、C、D 键以改变A4A3A2A1 的状态后,输出端便得到不同的值。经计算会发现该电路的确是将余3 码译码后在数码管上显示。(3)用八选一数据选择器 74LS151 设计一个全加、全减逻辑电路。设计电路如图 1-3 所示。完成字信号发生器面板设置之后,在逻辑分析仪 XLA1 中可以观察到输入变量与输出变量之间的对应波形如图 1-9所示。其中,从上而下显示的波形依次为变量 M、C、B、A、S
9、、Cn+1 的波形。图 1-9 全加减逻辑电路各变量波形 实用文档.另外,该电路的测试结果已填入表 1-2 中。根据该表分析,可以看出该电路已经满足功能,即当 M=0 时,S=A+B+C,Cn+1 为进位位,电路实现的是全加器的功能;当 M=1 时,S=C-B-A,Cn+1 为借位位,电路实现的是全减器的功能。二、时序逻辑电路的分析与设计 1、实验目的(1)掌握常用时序逻辑电路的分析、设计与测试方法。(2)熟悉数字逻辑功能的显示方法及单刀双掷开关的应用。(3)熟悉字信号发生器、逻辑分析仪的使用方法。2、实验内容和步骤(1)四位二进制计数器电路的分析。选取元器件、仪器并按图 2-1 连接电路。运
10、行仿真,双击逻辑分析仪 XLA1 图标,观察并画出其显示的波形。分析逻辑分析仪上显示的 Q0、Q1、Q2 和 Q3 的波形,确定该电路的逻辑功能。图 2-1 四位二进制计数器电路 (2)集成 74LS290 计数器的功能测试 实用文档.选取元器件并按图 2-2 所示电路连接,置“9”和置“0”端的状态由单刀双掷开关控制,输出端状态由放光器件显示。图 2-2(1)74LS290 的功能测试一(8421)图 2-2(2)74LS290 的功能测试二(5421)分别改变置“9”和置“0”端的状态,实现置“0”(0000)和置“9”(1001)的功能,将测试结果填入表 2-1 中。改变电路的连接形式,
11、用 74LS290 实现二进制、五进制、十进制 8421BCD 码的计数器,记录测试结果。实用文档.表 2-1 输入端 输出端 R01 R02 R91 R92 CP1 CP2 QD QC QB QA 1 1 0 X X X 0 0 0 0 1 1 X 0 X X 0 X 1 1 X X 1 0 0 1 X 0 1 1 X X 0 X 0 X QA 8421 码十进制计数器 0 X 0 X QD 5421 码十进制计数器 (3)用两片 74LS160 设计实现 24 进制计数器,用数码管显示并验证计数状态。3、实验结果与分析(1)四位二进制计数器电路的分析(I)连接好电路并开始仿真后,在逻辑分析
12、仪XLA1 上可以得到仿真结果如图 2-3 所示,其中从上到下依次为 CP 脉冲、Q0、Q1、Q2、Q3(4 个 JK 触发器的输出)的波形。(II)分析该所有波形,可以确定该电路的逻辑功能实际上是一个异步十进制计数器。Q3Q2Q1Q0 从初始状态 0000 开始,到 1001 后 图 2-3 四位二进制计数器电路波形 返回初始状态,如此循环下去。(2)集成 74LS290 计数器的功能测试 电路中,输出端如果输出高电平,则相应发光器件会有亮光的指示,否则输出的是低电平。经过功能测试后,测试结果已填入表 2-1 中。经分析,该电路有以下特点与功能:(I)异步清零。当 R01、R02 全为高电平
13、,R91、R92 中至少一个为低电平时,不需要时钟脉冲配合,即可使所有触发器清零。(II)异步置 9。当 R91、R92 全为高电平,R01、R02 中至少一个为低电平时,不需要时钟脉冲配合,即可将 Q3Q0 置成 1001。(III)计数。当 R01、R02 及 R91、R92 中至少有一个为低电平时,在时钟脉冲 CP0或者 CP1 的下降沿作用下电路开始计数。其计数方式又根据不同情况分为两种:实用文档.第一种是 Q0 与 CP1 相连,计数脉冲从 CP0 输入,此时构成的是 8421 码十进制计数器,见图 2-2(1);第二种是 Q3 与 CP0 相连,计数脉冲由 CP1 输入,则构成 5
14、421码十进制计数器。(3)用两片 74LS160 设计实现 24 进制计数器,并用数码管显示并验证计数状态。经分析,我自行设计电路如图 2-4 所示,并已通过验证能实现 24 进制计数功能。图 2-4 24 进制计数器设计电路 (I)设计思路及原理:74LS160 是一种同步 8421BCD 码十进制计数器,具有异步清零、同步预置、计数和保持的功能。其中利用同步预置这一点,我设计出了如图 2-4 的电路。电路中,U1、U2 的时钟脉冲信号均由信号源 CP 直接提供,而 U2 的计数控制端 ENP、ENT 则与 U1 的进位端 RCO 相连。当 U1 有进位时,U2 控制端才被驱动,U2 计数
15、一次。这是并行进位方式。此外,电路中 U1 是计个位,U2 是计十位,当从 0 计数到 23(即 U2:0010,U1:0011)时,通过与非门 74LS12D,LD同步预置端被激活,下一个 CP 信号脉冲时,U2U1 均又预置已设定好的 00000000,如此循环,实现 24 进制计数功能。(II)结果显示与验证:将 U2 的 QDQA 和 U1 的 QDQA 分别接入一个数码管(注意对应管脚),即可显示其表示的数,如图 2-4 中数码管显示的 23。仿真开始后,观察到数码管从 00 开始,01、0222、23、00、01一直循环实用文档.下去。所以,该电路实现了从 023 的计数,也即实现
16、了 24 进制的计数功能。三、选做内容 1、实验目的(1)深入掌握组合逻辑电路的分析与设计方法。(2)熟悉数字逻辑功能的显示方法以及单刀双掷开关的应用。(3)熟悉逻辑分析仪的使用方法。2、实验内容与步骤(1)用 74LS83 将余 3 码转换成 8421 码。74LS83 是四位加法器,用它设计一个代码转换电路,将余 3 码转换成 8421码,并用数码管显示转换结果。(2)用八选一数据选择器 74LS151 设计一个组合逻辑电路。电路有三个输入变量 A、B、C 和一个控制变量 M。当控制信号 M=0 时,电路实现“意见一致”的功能,即 A、B、C 状态一致时输出为“1”,否则为“0”;当控制信
17、号 M=1 时,电路实现“多路表决”的功能,即输出与 A、B、C 中多数状态一致。3、实验结果与分析(1)用 74LS83 将余 3 码转换成 8421 码。经分析,自行设计电路如图 3-1 所示,通过数码管显示,并已得到验证。实用文档.图 3-1 余 3 码转换 8421 码电路(I)设计思路及原理:从实验一(2)中,我们了解到 74LS83 是一个四位的全加器,利用它可以设计代码转换电路,而通过分析后,发现实验一(2)正是将余 3 码转换成 8421 码的电路。(II)结果显示与验证:将全加器的输出端与数码管相连可以得到代码转换后的译码。其测试结果与表 1-1 一致。(2)用八选一数据选择
18、器 74LS151 设计一个组合逻辑电路 经分析,自行设计电路如图 3-2 所示,控制 M、C、B、A 不同按键,通过逻 实用文档.辑分析仪 XLA1 查看波形并能验证其满足了要求。图 3-2 数据选择器实现组合逻辑电路电路图 (I)设计思路及原理:74LS151 是八选一的数选择器,控制端 A、B、C 不同的输入能得到 D0D7 不同的输出。本实验中,逻辑变量有 4 个,分别为 M、A、B、C,数据选择器的选择控制端只有 3 个 A、B、C。在这里,我把逻辑变量 C 分离,而将 M、A、B 加到选择控制端,这样,按照要求,电路实现的逻辑函数表达式可以表示为:F=MAB(C)+MAB(0)+M
19、AB(0)+MAB(C)+MAB(0)+MAB(C)+MAB(C)+MAB(1)由此,便可以设计出如图 3-2 所示的电路图。(II)结果显示与验证:将 M、A、B、C 以及 Y 的波形接入到逻辑分析仪 XLA1 上,便可显示在不同情况下各自响应的波形。一一分析后,可以验证该电路已满足实验要求。下面,截取两种情况的波形图(由上至下依次为 M、A、B、C 以及 Y 的波形)以作示例。(i)M=0,A=1,B=0,C=0:注意到此时 Y=0,与理论结果一致。实用文档.图 3-3 组合逻辑电路波形图例一 图 3-3 组合逻辑电路波形图例二(ii)M=1,A=0,B=1,C=1:注意到此时 Y=1,与
20、理论结果一致。四、实验问题及解决方法 1、实验一(1)四舍五入电路电路设计中,遇到问题如下:逻辑分析仪与逻辑转换器搞混。解决方法:多次实验后,找到其中的错误在于原实验材料中“逻辑分析仪”出错,实际上该实验用的是逻辑转换器。点击图 4-1 的图标一直出错,跳出图 4-2 的窗口。解决方法:冷静分析后,明白了该实验是由真值表得到逻辑表达式和电路图,而图 4-1 表示将逻辑电路转换成真值表。图 4-1 图 4-2 2、实验一(3)设计全加、全减逻辑电路中,遇到问题如下:字信号发生器 XWG1 不会用,出不来结果。解决方法:通过查询资料和多次实验,明白了字信号发生器有 32 个输出端,从高位到低位从
21、0 开始不断计数和进位,类似于计数器的工作原理,只不过它是更大进制的计数器。一开始,我将控制端 A、B、C 端和 XWG1 的 16、15、14 管脚相连了,这样的话需要等到特别长的时间它们才能通过进位得到“1”高电平,所以在实验中我无法得出结果。经改正后,得到了实验结果。3、实验二(2)集成 74LS290 计数器的功能测试中,遇到问题如下:5421 码十进制计数器测试结果误以为错。解决方法:通过查看书和资料,最终理解了该电路在 5421 码计数器情况下的原理,其计数不再像 8421 码那样从QDQCQBQA 的角度,而应是 QAQDQCQB 的角度。4、实验二(3)设计 24 进制计数器实
22、验中,遇到问题如下;数码管从显示 0 变化到 23 后,没有跳回 0,而是从 20 开始再在 2023 之间来回改变。解决方法:问题的出现在于十位无法实现预置数。针对该问题,思考许久后,我找到了根本原因:集成计数器 74LS160 的预置功能是同步预置的,而在原先电路中我却采用了串行进位的方式将两片计数器相连,即 U1 的进位端 RCO 控制 U2的 CP 脉冲端。这样,当达到 23 后,本应该预置,但是十位未能到等到 U1 进位端的信号,所以停留在“2”不变。这样,我将电路改成了并行进位的方式,其连接实用文档.也就是图 2-4 所示,得到了结果。五、实验收获、体会和建议 在本次实验中,所有内
23、容均在 multisim 软件平台上独立完成,掌握了各仿真技术,也深入理解了数字逻辑中很多知识,收获颇多。首先,对 multisim 软件的各应用模块我已经能较为熟练的应用,包括字信号发生器、逻辑转换器、逻辑分析仪、数码管、发光元件、时钟脉冲信号源等等。无论从设置还是连接,通过实验我已经能独立迅速完成。其次,通过实验,我对数字逻辑电路知识的了解更加深入和具体。比如,通过74LS290计数器功能测试实验,我深刻理解了该计数器两种不同的计数方式(8421 码和 5421 码的十进制计数)。通过 24 进制计数器的设计实验,我深入掌握了计数器同步和异步的区别以及它们对设计过程中串行、并行进位方式的影响。这些都加强了我对理论知识的理解。此外,本次实验还培养了我的独立思考和对问题的处理分析能力。实验中,我独立完成电路仿真,遇到问题也都能经冷静分析后独立解决,的的确确感觉到自己的能力有所增长,也大大培养了对数字逻辑以及 multisim 软件应用的学习兴趣。
限制150内