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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】