#hdl #nand2tetris
#hdl #nand2tetris
Вопрос:
Всякий раз, когда я ввожу a = 1 и b = 1, я все равно получаю 0, а мой внутренний вывод aAndNotb показывает 1, однако, если я удаляю элемент Not, я получаю нормально функционирующий элемент Nand, в чем дело?
/**
* And gate:
* out = 1 if (a == 1 and b == 1)
* 0 otherwise
*/
CHIP And {
IN a, b;
OUT out;
PARTS:
// Put your code here:
Nand(a=a, b=b, out=aAndNotb);
Not(in=aAndNotb, out=out);
}
Ответ №1:
Учитывая симптомы, которые вы описываете, проблема, по-видимому, в вашем Not-шлюзе. Возможно, этот компонент реализован неправильно?
Вы можете проверить это, реализовав элемент Not непосредственно с помощью элемента Nand, который, если вы реализовали элемент Not, вы уже знаете, как это сделать.
Если это работает, то проблема заключается в реализации Not gate. Если это не так, то проблема по какой-то причине связана с подключением вентилей (но для меня они выглядят нормально).