概述
##matlab之Simulink(三)
##全加器
今天给大家分享的是利用simulink搭建一个全加器,首先来认识一下全加器:
两个多位二进制数相加时,除了最低位外,每一位都应考虑来自低位的进位,即将两个对应位的加数和来自低位的进位三个数相加,这种运算称为全加,实现全加运算的电路成为全加器。
还有一点需要注意的是它与半加器的区别,半加器是将两个一位二进制数相加,所以只考虑两个加数本身,并不需要考虑由低位来的进位的运算。
在全加器中,通常用A和B分别表示加数和被加数,用Ci表示来自相邻低位的进位数,S表示全加器的和,Co表示向相邻高位的进位数。
接下来我们来列出真值表:
这里要注意的是,在实际应用中,Ci为前一位运算的向高位的进位,并不是人为控制输入。
根据真值表,我们来写出表达式
在分析完之后,接下来就开始建立模型了:
首先新建一个空白编辑界面,步骤不再多说
接下来放置模块。
从表达式中我们可以知道,我们需要的运算模块有与门、或门和异或门。
拖动一个逻辑运算原件到编辑界面即可。
这里有一个逻辑运算原件需要大家认识,XOR,就是异或。
因为我们需要输入二进制数,所以我们还要一个可以产生周期矩形波的元件,在库中搜索"pulse"即可。
连接电路图:
连接好之后,我们需要调整输入波形,并且用示波器进行验证。
首先来看输入波形的调整方法:
双击pulse
这里需要知道的是各个参数表示的意义:
Amplitude——振幅
Period——周期
Pulse Width——脉冲持续时间
Phase delay——相位
这里我们假设输入数据为000,001,010,011,100,101,110,111。
那么对应的设置为:
接下来将示波器设置为三个输入,分别与三个矩形波相连,查看结果:
不会使用示波器的朋友请看我的上一篇文章https://blog.csdn.net/weixin_44936771/article/details/107885568
可以看出在A的一个周期内,从上往下,数据分别为000,001,010,011,100,101,110,111,符合我们的目的。
接下来再使用一个示波器与两个输出连接。
进行仿真,查看仿真结果:
在这幅图中,上面是Co,下面是S,可以看出在一个周期内,输入和输出的数据与真值表相吻合,这说明我们成功了。
##以上就是本节的全部内容,后续内容会逐渐上传,相关源码也会统一上传,也可以到公众号私聊我要。
##不足之处请及时指出,相互学习
##不懂得小伙伴可以到我的公众号"歌者X"私信我,看到后会回复的,欢迎交流学习!
下面是我的公众号
最后
以上就是粗暴宝马为你收集整理的MATLAB之Simulink(三)全加器的全部内容,希望文章能够帮你解决MATLAB之Simulink(三)全加器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复