Вот мой код:
CHIP PC {
IN in[16],load,inc,reset;
OUT out[16];
PARTS:
Inc16(in = regout, out = incout);
Mux16(a = regout, b = incout, sel = inc, out = incdecision);
Mux16(a = incdecision, b = false, sel = reset, out = resetdecision);
Mux16(a = regout, b = resetdecision, sel = load, out = loaddecision);
Register(in = loaddecision, load = true, out = regout, out = out);
}
По сути, значение, выходящее из регистра, увеличивается, что принимается только в том случае, если inc равно 1 (проверено через мультиплексор), который затем проходит через другой мультиплексор, который может сбросить его, а затем еще один мультиплексор, который может записать или не записать его в зависимости от значение нагрузки. Затем любое значение, полученное из этого (будь то измененное значение или значение, полученное из старого регистра), помещается в регистр.
Что я делаю не так?