MATLAB-simulink实现逻辑组合电路--全加器
author: ZKe
全加器的原理这里就不讲了,不知道的还是去看看数字逻辑课本吧,这里主要记录一下simulink实现逻辑组合电路的方法
首先我们需要知道它的电路图,如下(借用慕课赵贻竹老师的PPT的图片),根据电路图做仿真
(图片来自慕课,数字逻辑,赵贻竹老师的PPT)
需要观察一下真值表,真值表的输入为8421码,它的simulink实现可以到我上一个关于MATLAB的博客学习(https://www.cnblogs.com/zhaoke271828/p/12752732.html),有完整实现过程,8421码的实现只需要脉冲发生器元件(Pluse Generator)和示波器(scope)就能完整仿真。比较简单,下面主要介绍一下逻辑运算原件。
(图片来自慕课,数字逻辑,赵贻竹老师的PPT)
从电路图可见,我们需要与门,或门,异或门即可,根据下图选中逻辑运算原件(Logical Operator),双击选中到面板上
选中之后根据我们的需要去改变逻辑门电路的类型,如图
将一个非门改成异或门
需要解释的是,XOR表示异或,NOR表示或非,NAND表示与非,XNOR表示异或非,NOT自然就是非门。很有规律,前面加上X表示异,前面加上N表示非
根据电路图连接电路即可,连接电路的详细操作还见我上一篇关于MATLAB的博客 https://www.cnblogs.com/zhaoke271828/p/12752732.html
这里给大家介绍一下示波器scope元件的调整方法,有时候需要增加输入口,增加展示界面的个数,可以这么修改input和layout属性
值得一提的是,可以修改逻辑元件的外观,在修改逻辑元件类型的时候有一个icon shape属性,改成distinctive变得就似乎高级一点了
变得似乎更帅了hhhhhhhh
以上就是半加器的仿真,双击示波器查看结果,这里我们看方形波就好了,我们有三个输入,每一个输入都是竖着看的一列,
比如我们分别输入的是000, 001, 010, 011, 100, 101, 110, 111
输出结果分别是00, 10, 10, 01, 10, 01, 01, 11 这和全加器的真值表时一致的,到此就大功告成了!
author: ZKe