I have a circuit that is represented as a netlist (specifically, an and-inverter graph). The desired outputs of this circuit are known. We can assume that some combination of the primary inputs will result in the desired outputs. If it makes it easier, you can assume that there's only one combination of inputs that will give me the desired output. How do I find those inputs?
Each output for the netlist can be represented as a combinatorial boolean equation, so I was tempted to convert each output, triangularise, and solve to obtain the suitable primary inputs. However, converting the netlist to equation-form (i.e. a similar operation to unfolding it) incurs a prohibitive space cost. Is there a way to "triangularise" the circuit so that I can find suitable primary inputs? Or, alternatively, can anyone recommend a way to achieve the goal of finding suitable primary inputs?