核心问题:真值表构建好后,可对其进行优化,并且转换为门电路。这个过程是完全机械的。是如何进行的呢?(计算机组成与设计 软硬件接口 RISCV - Chapter 4.4.1最后)
- 无关项
分为输入无关项和输出无关项。输入无关项:当输出对于某些输入组合来说是无关项时,可以自由组合这些输入是1还是0.
alu的控制信号有4bit的输出(从低到高依次为operation0,1,2,3),如下图所示,特定位的输出有效只由某些行能够组成,例如operation0由最后两行组成,如再下面一张图的c所示。
operation0=1
只有最后两行输入能够使得operation0=1,对于所有的ALUop=1X来说,只要f3=1或者f0=1,就得到operation0=1。因此可以得到图c
operation1=1
在ALUop=1X时,f2=0可以得到三个operation0=1,进一步可以发现:如果最上面两行的f2=0时,也包含在operation1=1中,因此只要f2=0,其他位都X,可以得到operation1=1
还需要考虑一种情况是最上面两行的f2=1时,如何得到operation1=1。对于头两行,只要ALUop1=0,可以得到最上面两行的operation1=1。
因此,可以得到图b
operation2=1
共有三行包括operation2=1
对于ALUop=1X的两行中,如果f1=1,可以得到operation2=1
对于第二行,只要ALUop0=1,可以得到operation2=1,这时候,ALUop1的X就等价为0,因为11是不存在的控制信号。(答案中设置了0)
根据上面这个化简后的真值表就可以得到如下所示的电路图