I am wondering if manual inspection is the way to go for pt2? Seems almost achievable with some formatting. Anyone been down this road?
I am wondering if manual inspection is the way to go for pt2? Seems almost achievable with some formatting. Anyone been down this road?
It is definitely possible to do it programmatically but like most people including me simply did it manually. though I did do this:
code
I then took the printed output and cleaned it up a little.
output
This really just me looking at it and seeing to make sure outputs are connected to the right locations. just took a minute but the highlighting of the selected work helped out. simply faster than just trying to think of some complex logic
basically bruteforce part 2 with our eyes lol
I did notice that most of the swaps where within the fulladders and not accross the entire circuit, so it was a little easier than anticipated.
I only parse each of the initial gates that the input wires to the full adders have
x
andy
The only exception is that the first input wires go into a half adder and not a full adder.So we only verify that the
XOR
gate is connected to an output wirez00
and that theAND
gate does not output to az
wire. EveryAND
output wire should be connected to one logic gate and that is theOR
gate for the carry bit.The
XOR
gate should have the output wire connected to the two gates that take in the carry bit wire from the previous adder.from there I just used my memory and intuition about full adders to clean up the output and all that to see which of the full adders have bad output wire configs.