实验二利用msi设计组合逻辑电路_第1页
实验二利用msi设计组合逻辑电路_第2页
实验二利用msi设计组合逻辑电路_第3页
实验二利用msi设计组合逻辑电路_第4页
实验二利用msi设计组合逻辑电路_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验目的: 1熟悉编码器、译码器、数据选择器等组合逻辑功能模块的功能与使用方法。 2掌握用MSI设计的组合逻辑电路的方法。3. 利用ISIS软件设计一个一元算术逻辑单元。4. 了解Verilog HDl硬件描述语言。二、实验仪器及器件: 1数字电路实验箱、数字万用表、示波器。2器件:74LS00X1,74LS197X1,74LS138X1,74LS151X13. 电脑,ISIS 7.1软件。三、实验预习:1复习常用组合逻辑电路工作原理和设计方法,及与之相应的MSI功能表及其使用方法。2复习采用中规模集成电路实现组合逻辑电路的方法,如使用译码器和数据选择器实现组合逻辑电路。3. 复兴计算机辅

2、助电路反真软件ISIS 7.1。四实验原理:中规模的器件,如译码器、数据选择器等,它们本身是为实现某种逻辑功能而设计的,但由于它们的一些特点,我们也可以用它们来实现任意逻辑函数。1用译码器现实组合逻辑电路 译码器是将每个输入的二进制代码译成对应的输出高、低电平信号。如图(一)为3线8线译码器。当附加控制门GS的输出为高电平(S=1)时,可由逻辑图写出。从上式可看出。Y0Y7同时又是A2、A1、A0这三个变量的全部最小项的译码输出。所以这种译码器也叫最小项译码器。如果将A2、A1、A0当作逻辑函数的输入变量,则可利用附加的门电路将这些最小项适当的组合起来,便可产生任何形式的三变量组合逻辑函数。例

3、如用3线-8线译码器74LS138实现全加器。列出真值表如表(一)所示。A、B是加数与被加数,Cn是低位向本位的进位,S为本位和,Cn+1位是本位向高位的进位。由真值表可得全加器的最小项之和表达式。令74LS138的输入A2=A、A1=B、A0=C,在其输出端附加两个与非门,按照上述全加器的逻辑函数式连接。即可实现全加器功能。如图(二)所示。表(一)全加器真值ABCnSCn+100000001100101001101100101010111001111112用数据选择器实现组合逻辑电路 数据选择器的功能是从一组输入数据中选出某一个信号输出。或称为多路开关。如图(三)为双四选一数据选择器74LS

4、153逻辑图。Y1和Y2为两个独立的输出端,S1和S2为附加控制端用于控制电路工作状态和扩展功能。 A1、A0为位置输入端。D10. D11. D12. D13或D20. D21. D22、D23为数据输入端。通过选定不同的位置代码即可从4个数据输入端选出要的一个,并送到输出端Y。输出逻辑式可写成: 其简化真值表如表(二)所示:表(二)74LS153的真值表A1A0Y11XX0000001010011从上述可知,如果将A1、A0作为两个输入变量,同时令D10. D11. D12. D13为第三个输入变量的适当状态(包括原变量、反变量、0和1),就可以在数据选择器的输出端产生任何形式的三变量组合

5、逻辑电路。 例如用双4选1数据选择器,实现二进制全减器,全减器的真值表如表(三)。其中A和B为减数与被减数,Bn为低位向本位的借位,D为本位差,Bn-1为向高位的借位。其真值表可写出全减器的最小项表达式。将上式与数据选择器逻辑函数比较可得:可得二进制全减器逻辑图如图(四)所示。ABBnDBn-10000000111010110110110010101001100011111表(三)全减器的真值表五. 实验内容3.AU设计设计一个半加半减器,输入为S,A,B,其中S为功能选择口。当S=0时,输出A+B和进位,当S=1时,输出A-B和借位。(提示:使用74LS138实现,可参照实验原理中的全加器设

6、计)。4. ALU(算术逻辑单元设计)用ISIS7.1设计一个六输入二输出的ALU。控制端:S1,S2,S0,决定ALU的八种功能,其中指定六种功能为与,或,非,异或,全减,全加,剩余功能自己拟定。数据输入端:三个输入数据为A,B,C(当执行逻辑运算时忽略C)。输出端:和/差,进位/借位。(逻辑运算时为输出,与输出取反。)6. 实验报告 3.AU设计 由题可知,S为功能选择端,控制是全加还是全减。AB为两个输入,D为输出,Cn为进位或借位。 那么我们可以列出真值表如下: SABDnCn0000000110010100110110000101111101011100 在真值表已经写好好我们就可以

7、总结出D和C的输出表达式。利用数电知识我们可得知:Dn=SAB+SAB+SAB+SABCn=SAB+SAB接下来就要考虑如何实现。题目提示我们用74LS138实现,我们在上节课中了解到74LS138的输出表达式为 所以,我们可以用端口Y1,Y2,Y5,Y6表示D,用Y3,Y5表示C。 所以表达式可以改变为: Dn=SAB+SAB+SAB+SAB=(Y1 Y2 Y5 Y6) Cn=SAB+SAB=(Y3 Y5) 接下来我们下在ISIS 7.1中模拟改电路: 首先,我们用74LS197来实现八进制输出: 那么Q1表示B,Q2表示A,Q3表示S。 再接上74LS138,并按照表达式所写连接,在连接上

8、示波器:这里应该是与非门而我用错用了与门之后设置时钟频率为1000Hz并捕捉波形如下: 0101010100110011000011111001101011101011BASDnCn 我惊讶的发现我所得波形与题目要求的刚刚好相反,我在逻辑图中反复检查后返现,我的与非门都被我用与门代替,所以这就是所得波形与题目要求波形相反的原因!我改正后逻辑图与测得波形如下:端口有没有圆圈这十分关键,以后不能忽视这种问题!0101010100110011000011110110011000010100BASDnCn 电路图右侧为我将波形图转化成对应的真值表。这次我所测试的波形就与实验要求的波形一致,所以我的设计

9、的逻辑图是符合实验要求的,接下来我在数电实验箱上在进行同样的操作。连接好电路后测得波形图如下: 该波形与我在计算机上模拟的波形一致,所以我设计的逻辑电路在实际操作上也符合题目的设计要求,达到实验标准! 4.ALU设计 首先我要确定我的ALU的八种功能,我在符合题目要求下确定我的ALU的功能表为:控制端功能S2S1S0000与001或010A非011B非100异或101全加110全减111输出高电平确定了ALU的功能后便可列出真值表如下:S2S1S0ABC(进借位)输出YY0000001与0000101000100100011100010010或0010110001101000111010100

10、010A非0100110010100101011010110010B非0110101011101001111011000001异或10001101001010100110110100000 全加1010011010101010101011011011001010110101101110011011111111000000全减1100011111001011110011011101001011010100110110001101111111110高电平 确定了真值表后我们就可得出输出Y与Y的输出表达式:Y=S2S1S0AB+S2S1S0(A+B)+S2S1S0A+S2S1S0B+S2S1S2(A

11、B)+S2S1S0(ABC)+S2S1S0(ABC) +S2S1S0.Y=Y.接下来我们可以分块考虑问题:1 六位输入问题:我们可以用两块74LS197串联来实现,具体连接如下:2 我发现输入端S2S1S0的表达式与74LS138的表达式十分相似,只是在74LS138的基础上取了反,所以我们可以用74LS138来减轻设计复杂度,具体连接如下;3 在功能选项中,与,或,异或之类的功能较为简单,我就不做过多叙述。所有功能中最难的应当属于全加和全减。全加设计: 我采用异或门与与门相结合,具体如图: A B C全减设计: 我采用74LS138作为主体,因为输出D与借位C有表达式如下:D=(Y1 Y2

12、Y4 Y7) C=(Y1 Y2 Y3 Y7)所以,我采取连线如下:4 汇总工作: 该线路十分复杂,所以我们要分快设计,最后再将它们整合到一起,全部电路图如下: 在设计完逻辑电路,现在测试线路是否符合设计要求,测得波形图如下:由于过于密集我分块进行分析:一 与功能 S2 S1 S0=0 0 0:CB0101A0011S00000S10000S20000Y0001Y1110由波形图所绘成真值表如右图,符合与功能设计。二 或功能 S2 S1 S0=0 0 1:CB0101A0011S01111S10000S20000Y0111Y1000由波形图所绘成真值表如右图,符合或公能设计。三 A反功能 S2

13、S1 S0= 0 1 0:CB0101A0011S00000S11111S20000Y1100Y0011由波形图所绘成真值表如右图,符合A反公能设计。四 B反功能 S2 S1 S0=0 1 1:CB0101A0011S01111S11111S20000Y1010Y0101由波形图所绘成真值表如右图,符合B反公能设计。五 异或功能 S2 S1 S0=1 0 0:CB0101A0011S00000S10000S21111Y0110Y1001 由波形图所绘成真值表如右图,符合异或公能设计。六 全加功能 S2 S1 S0= 1 0 1:C01010101B00110011A00001111S01111

14、1111S100000000S211111111Y01101001Y00010111由波形图所绘成真值表如右图,符合全加公能设计。七 全减功能 S2 S1 S0 = 1 1 0:C01010101B00110011A00001111S000000000S111111111S211111111Y01101001Y01110001由波形图所绘成真值表如右图,符合全减公能设计。八 输出高低电平功能 S2 S1 S0 = 1 1 1:CB0101A0011S01111S11111S21111Y1111Y0000由波形图所绘成真值表如右图,显然Y与Y输出分别为高与低,符合输出高低电平功能设计。 所以,改

15、电路八个功能都符合,题目所要求的功能,达到实验目的。六心得体会:第一:在示波器上做对比时一定要选择一个周期最大,频率最小的波形作为所有波形的比较波形,这样可以根据这个最大周期波形的一个周期画出其他的波形。第二:注意原件的输出端是高电平有效还是低电平有效,否则可能输出相反波形。同理,当输出相反波形时,观察原件的高低电平是否有错。第三:遇到复杂电路设计时,不应慌张,可借鉴程序设计的模块化思想,分部解决问题,化大为小,化整为零。对Verilog HDl 的课外资料了解: 在课上我粗略的了解了Verilog HDL,于是我在课后便在网上收集资料,对其进行更深一步的了解: Verilog HDL是一种硬

16、件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。 以模块为基础的设计:描述复杂的硬件电路,设计人员总是将复杂的功能划分为简单的功能,模块是提供每个简单功能的基本结构。设计人员可以采取“自顶向下”的思路,将复杂的功能模块划分为低层次的模块。这一步通常是由系统级的总设计师完成,而低层次的模块则由下一级的设计人员完成。自顶向下的设计方式有利于系统级别层次划分和管理,并提高了效率、降低了成本。“自底向上”方式是“自顶向下”方式的逆过程。 语言要素:Verilog的设计初衷是成为一种基本语法与C语言相近的硬件描述语言。这是因为C语言在Verilog设计之初,已经在许多领域得到广泛应用,C语言的许多语言要素已经被许多人习惯。一种与C语言相似的硬件描述语言,可以让电路设计人员更容易学习和接受。不过,Verilog与C语言还是存在许多差别。另外,作为一种与普通计算机编程语言不同的硬件描述语言,它还具有一些独特的语言要素,例如向量形式的线网和寄存器、过程中的非阻塞赋值等。总的来说,具备C语言的设

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论