泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑)


3楼猫 发布时间:2022-01-14 01:00:10 作者:WOW! Language

泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第1张不知不觉楼主鸽了很长时间呢,本篇我们主要讲
组合逻辑。在泰拉瑞亚中我们可以用电路来实现各种各样的骚操作,但仅凭我上一篇中所讲的肯定远远不够,下面我们进行进阶教学。写在前面的话:请不要以为tr中的电路很难,刻板印象有时会是你绊脚石。虽然部分内容可能会和数电知识有关,但大部分还是很易懂的。往期回顾:泰拉瑞亚:从0开始的电路教程(基础篇)                                                                                                          泰拉瑞亚:从0开始的电路教程(进阶篇1)
1.状态显示
状态显示是我们构筑组合逻辑电路的基础。在现实电路中,状态显示有高电平,低电平,非法值,浮空值。但在泰拉瑞亚中只有两种状态显示,对应高电平和低电平。在泰拉瑞亚中,我们用逻辑灯的亮灭来表示输入的状态在这里,为了方便教学,我们规定逻辑灯亮为1,逻辑灯灭为0.
如图:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第2张
2.逻辑门的结算顺序
在泰拉瑞亚中,逻辑门发出信号看似没有延迟,全部在一物理帧内完成,但逻辑门确实有其运算顺序,我们可以通过以下电路来证明:
泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第3张如图,当我拉下开关时,红线和绿线都被激活,但与门上逻辑灯仍是一亮一灭,因此与门不会发出信号,火把状态不改变。泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第4张但是当我在绿线上加装一个与门后,效果就变得不一样了,火把可以被激活。泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第5张泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第6张如图,火把能被被激活是因为与门a1在a2打开上面的逻辑灯前先一步关掉了下面的逻辑灯,与门a1在瞬间完成亮灭切换,发出信号。那么现在,来说一下泰拉瑞亚中电路的结算机制。
1.电线的激活顺序为红,蓝,绿,黄(虽然在游戏中无法体现和证明,影响不大,可以忽略不计,但是可以借助
MechScope 模组来体现)
MechScope模组镜像站下载链接,有需要的自取
2.只要是逻辑门,都遵守逐级结算的顺序(不论任何逻辑门都是如此)
这里举一个例子,如图:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第7张与门a1在第一级,最早结算,与门a2在第二级,故第二个结算,与门a3,或门a4,故障门a5都在第三级,所以同时最晚结算。
知道了这些后,我们就可以正式进入组合逻辑了。
2.认识组合逻辑
  组合逻辑电路是指在任何时刻,输出状态只决定于同一时刻各输入状态的组合,而与电路以前状态无关,而与其他时间的状态无关。请注意输出状态只决定于同一时刻各输入状态。
在泰拉瑞亚中,组合逻辑的构筑一般只需要与门和异或门。
不是说电路必须在同级结算,而是每一步电路间不能相互影响。
3.构建组合逻辑电路
(1)真值表
真值表是表征逻辑事件输入和输出之间全部可能状态的表格,我们通常令1为真,0为假。比如下面这个:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第8张

如图,abc为输入,y为输出,既然我们要构建组合逻辑电路,就必须依据这个写出逻辑表达式。
(2)逻辑表达式
用逻辑运算符将关系表达式或逻辑量连接起来的有意义的式子称为逻辑表达式。如何才能有意义,是需要构建电路的人去规定的,所谓的“有意义”是指输出的值。如果你现在看不懂的话,不用担心,后文我们会给出具体例子进一步教学。
现在说一下逻辑运算符的种类。
能用到的就这几个:
ab:表示项a和项b通过与门进行输出,也可以写作a∩b
a+b:表示项a和项b通过或门进行输出,也可以写作a∪b,在游戏中我们可以用与门来替换
a⊕b:表示项a和项b通过异或门进行输出
a':表示项a的取反,也表示项a通过非门输出,也可以写作¬a或者!或者a上划线(我打不出来你们自行想象吧)在泰拉瑞亚中,我们可以通过单次信号的激活来取反
那么我们该如何写出逻辑表达式呢?泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第9张例1:根据上图中真值表写出逻辑表达式
在这里,我们默认输入为1时正常,取0时则为取反符,如:当a输入为0时,则表示为a'
我们默认y取1时有意义,也就是说,我们只需要列出当y=1时的逻辑表达式,如图:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第10张逻辑表达式为y=a'b'c+a'bc'+ab'c',形如这样的逻辑表达式叫与或式
简单的逻辑运算法则如下:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第11张

值得注意的是,某些逻辑表达式可以被化简,至于化简方法...就请自行查阅吧,这涉及太多数电的知识了
如果实在想化简的话可以借助下面这两个网站
Online Karnaugh map solver with circuit for up to 6 variables (32x8.com)
mathematical-logic-workstation (gitee.io)
(3)在游戏中构造电路
这里我们仍以y=a'b'c+a'bc'+ab'c'为例,真值表如下泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第12张我们这里要严格按照真值表和逻辑表达式摆逻辑灯和逻辑门,效果如下泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第13张
如图,一个组合逻辑电路就完成了,这里的电线作用是取反以及赋值。这里就需要我们提到的逻辑运算法则了,图中状态是111,也就是全开,三个与门各输出一次信号,在或门处,总输出为1(图中火把亮为1)(即y=1+1+1=1,)按照真值表,当且仅当符合a,b,c中其中只有一个为1时火把被激活。效果如下:泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第14张当然,图中的或门也可以用与门替换泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第15张
课后作业:7端数码管显示译码器的制作(数显)课后作业度盘链接提取码:tapW
后续楼主会在这里给出参考答案
如有错误欢迎指正泰拉瑞亚:从0开始的电路教程(进阶篇2——组合逻辑) - 第16张
                  


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com