Tüm cevapları dahili olarak hesaplarken ve sonra aralarından seçim yapmak için bir mux kullanmak işe yarayacaktır, kesinlikle minimal bir tasarım değildir.
Sorunu biraz dilimleyebileceğinizi düşünün; iki 8 bit girişli tek bir mantık bloğu yerine, doğru bir genel sonuç elde etmek için bunları bağlayabildiğiniz sürece bunu iki 4 bit bölüm olarak bölümleyebilirsiniz. Neyse ki, dilimleri bağlamak tek bir bitten daha kötü değildir, bu ekleme durumunda taşıma bitini temsil eder. Yani her 4 bitlik dilim bir taşıma bitine ve bir taşıma bitine sahiptir. (AND ve NOR gibi mantıkların buna bile ihtiyaç duymayacağını unutmayın, ancak daha sonra sol / sağ vardiyaları uygularsanız, bu bit kolayca yeniden kullanılabilir).
Aşırı bir şekilde taşındığında, her biri 8 bitlik 1 bit kullanabilirsiniz. 1 bitlik dilimleri düşünmek yararlıdır, çünkü daha büyük dilimlere kadar ölçeklenen bir yaklaşımı düşünmeyi kolaylaştırır. Yani 1 bitlik dilimde sadece 7 girişiniz vardır: 4 bit fonksiyon kodu, A girişinden biraz, B girişinden biraz ve bir taşıma biti. Ayrıca sadece iki çıktınız vardır: fonksiyon ve çalışma. Böylece, iki çıkış fonksiyonunu, insanın makul bir şekilde azaltma yeteneği içinde olan sadece 7 giriş olarak yazabilirsiniz. Her zaman tüm fonksiyonları hesaplamayacak bir avuç kapı ile sonuçlanacaksınız, ancak dilim içinde ne olduğu önemli değil , sadece dışarıdan bakıldığında doğru sonucu üretiyor.
Şimdi birkaç yoldan gidebilirsiniz. Bunun bir yolu, bu 1 bitlik dilimlerin 8'ini kullanmaktır ve işiniz bitti. Başka bir yol daha büyük dilimler yapmak ve daha sonra bunları kullanmaktır. 1-bit'ten 2-bit'e kadar olan denklemler 7 girişten 9'a gider ve 4-bit 13 girişin işlevlerini gerektirir. Her zaman kolay değildir, ancak compute-everything-then-mux yaklaşımından daha kompakt sonuçlar verecektir. Ayrıca, 74181 4-bit ALU diliminin iç kısımlarına bakarsanız, orada bir mux görmezsiniz.