Вы захотите составить таблицу истинности, а затем вывести комбинационную логику либо из булевой алгебры (сумма истин), либо из k-карты.
Если, например, введено 0100
, что равно десятичному числу 4, то тройка будет равна 12 или 1100
. Поскольку наибольшее число равно 1111
(15), ваш вывод должен представлять 45 или 101101
(6 бит).
Следовательно, у вас будет что-то вроде:
Input | Output
-----------------
abcd uvwxyz
0000 | 000000
0001 | 000011
0010 | 000110
0011 | 001001
0100 | 001100
0101 | 001111
0110 | 010010
0111 | 010101
1000 | 011000
1001 | 011011
1010 | 011110
1011 | 100001
1100 | 100100
1101 | 100111
1110 | 101010
1111 | 101101
Исходя из этого, вы можете построить k-карту для каждого выходного бита и найти минимальную комбинационную логику, необходимую для каждого выходного бита.
Например, чтобы найти комбинационную логику для бита u
, вы должны использовать следующую k-карту:
AB
00 01 11 10
CD 00 0 0 1 0
01 0 0 1 0
11 0 0 1 1
10 0 0 1 0
Что сводится к ACD + AB
Повторите для остальных 5 бит (v-z), и у вас будет полная комбинационная логика, необходимая для реализации решения.
person
Gillespie
schedule
07.10.2014