布尔函数
基础布尔运算符
And Or Not
布尔函数
布尔函数类比数学里的方程,可以认为自变量的取值只有0和1两种,也就是说,布尔函数是可以枚举的,即真值表。布尔函数(可能需要化简)可以认为是等价于真值表。更多时候,往往需要从真值表(结果,或者说需求)推导出布尔函数,再化简设计出最优电路
函数推导
思路是,找到真值表中结果为1的进行组合。因为子项是与的关系,所以只会有这一条满足需求;又因为不同子项是或的关系,保证了只有这几条是1,其余都是0
化简公式
这里更多是一些基本运算规则,我想若真正实现化简,还是需要有对真值表足够的观察,排除掉一些干扰项(下面复用器例子里可以看到)。这里贴一下课堂上老师给的例子,至写文的现在,我还没有看懂,当然 我也不准备看懂了
选择器
这很像我们的if else分支判断
如果根据上文推导方法,我们很容易得出一个较长的函数
(a And Not(b) And Not(sel)) Or (a And b) Or (Not(a) And b And sel)
标准实现是这样的
(a And Not(sel)) Or (b And sel)
恕我愚钝,我实在是不知道怎么能化简成这样的。也许有方法,但是这里如果认真观察真值表,out依赖sel的值,sel的值决定选择a还是b。那么sel=0的时候考虑a就好 a And Not(sel);同理sel=1的时候考虑b就好;然后两种情况相加,也就是Or
分配器
这里实现就很简单了,因为输出是分为了a和b两个变量
a = in And Not(sel)
b = in And sel
网络通信中的应用
这张图理解老师想表达的意思就好,大概是信道的复用与解复用。我感觉这里画的并不好,很容易迷惑sel状态的影响,贴一下论坛里用户的咨询
总结
周五听说了这门课,周六就迫不及待听了前两个章节,这里必须要夸一下Coursera可以旁听课程!课程给我的期望值很高,从零实现一个电脑啊,这哪个程序员能抵抗住!!布尔函数这章已经有了基本的逻辑门,加油 加油。
标签:化简,函数,真值表,分配器,nand2tetris,sel,选择器,布尔 From: https://www.cnblogs.com/snowsteps/p/18064654