Итак, в настоящее время я учусь на занятиях по проектированию цифровой логики, и я застрял в проекте, который нас попросили сделать на этой неделе. Нам сказали разработать архитектуру (DataPath + элемент управления), которая может выполнять следующие функции на основе команды.
Я предполагаю, что это будет одна схема с несколькими предварительными условиями.
3 функции
1. Z = A + B
2. Z = A & B (as in like bitwise AND)
3. Z= 1 if A < B and 0 if A > B
Нам говорят предположить, что A и B являются входными данными, а Z является выходным, и предположить, что все входные данные имеют по 4 бита каждый.
2 вещи меня смущают. Во-первых, если это на одной и той же схеме, то как это будут три разные функции. Разве Z не пойдет вверх после того, как A или B станут единицей? и во-вторых, как вы делаете неравенства? Вы бы использовали серию триггеров в качестве регистра сдвига?