nandgame--Level 4.2: ALU: ALU

下面开始组建一个完整的算术逻辑单元。

任务说明:

nandgame--Level 4.2: ALU: ALU

输入:A,B

控制端:ZX,NX,ZY,NY:控制X和Y的运算是清零还是取反;

控制端F:是输出X与Y,还是输出X+Y;其中X和Y是前两个模块的运算结果,是个中间变量。

控制端NO:输出取反。

输出:Z

分析:

先搭建X和Y这两个中间变量。使用上一节的成果ALU mod。

nandgame--Level 4.2: ALU: ALU

然后分别对X和Y进行“与运算”和“加运算”,再使用F控制标志来选择输出与的结果还是加的结果:

nandgame--Level 4.2: ALU: ALU

 

最后,再对结果取反,并由NO标志决定是否使用取反后的值:

nandgame--Level 4.2: ALU: ALU