История изменений
Исправление Zubok, (текущая версия) :
Ты можешь даже задавать свой умножитель 3 на 3 таблицей истинности (огромная будет, да). Это одно и то же: таблица истинности и две схемы эквивалентны, просто ты реализовал ту же функцию, но более минимально, поэтому ты не узнаешь сумматоров. Разумеется, так все всегда и делают - минимизируют булевы функции. У одних дома только К155ЛА3 лежит, поэтому может только в базисе штрих Шеффера (при помощи только штриха Шеффера, то есть ЛА3 ты можешь реализовать любую вообще булеву функцию - тем и примечательна К155ЛА3 :). А у другого есть еще 6И-НЕ или, там, 8ИЛИ. И тогда может получиться булеву функцию переписать так, что, число уровней начинает схлопываться.
Это же и делает компилятор. Функция у тебя такая же, как и у матричного умножителя. Компилятор посмотрит на доступный базис на кристалле и перепишет все это хозяйство в соответствии с твоими критериями (одному меньше места надо, другому скорость важна). Если скажешь ему «минимизируй время», то он минимизирует все схемы и таблицу истинности так, чтобы было минимальное число уровней прохождения сигнала. Должен, по крайней мере.
Исправление Zubok, :
Ты можешь даже задавать свой умножитель 3 на 3 таблицей истинности (огромная будет, да). Это одно и то же: таблица истинности и две схемы эквивалентны, просто ты реализовал ту же функцию, но более минимально, поэтому ты не узнаешь сумматоров. Разумеется, так все всегда и делают - минимизируют булевы функции. У одних дома только К155ЛА3 лежит, поэтому может только в базисе штрих Шеффера (при помощи штриха Шеффера, то есть ЛА3 ты можешь реализовать любую вообще булеву функцию). А у другого есть еще 6И-НЕ или, там, 8ИЛИ. И тогда может получиться булеву функцию переписать так, что, число уровней начинает схлопываться.
Это же и делает компилятор. Функция у тебя такая же, как и у матричного умножителя. Компилятор посмотрит на доступный базис на кристалле и перепишет все это хозяйство в соответствии с твоими критериями (одному меньше места надо, другому скорость важна). Если скажешь ему «минимизируй время», то он минимизирует все схемы и таблицу истинности так, чтобы было минимальное число уровней прохождения сигнала. Должен, по крайней мере.
Исходная версия Zubok, :
Ты можешь даже задавать свой умножитель 3 на 3 таблицей истинности (огромная будет, да). Это одно и то же: таблица истинности и две схемы эквивалентны, просто ты реализовал ту же функцию, но более минимально, поэтому ты не узнаешь сумматоров. Разумеется, так все всегда и делают - минимизируют булевы функции. У одних дома только К155ЛА3 лежит, поэтому может только в базисе штрих Шеффера. А у другого есть еще 6И-НЕ или, там, 8ИЛИ. И тогда может получиться булеву функцию переписать так, что, число уровней начинает схлопываться.
Это же и делает компилятор. Функция у тебя такая же, как и у матричного умножителя. Компилятор посмотрит на доступный базис на кристалле и перепишет все это хозяйство в соответствии с твоими критериями (одному меньше места надо, другому скорость важна). Если скажешь ему «минимизируй время», то он минимизирует все схемы и таблицу истинности так, чтобы было минимальное число уровней прохождения сигнала. Должен, по крайней мере.