I was curious whether it's possible to programmatically explore solutions for simple digital logic circuits (logic gates only) using the latest libraries out there avilable for languages like Python or C++. Suppose I can model the expected behaviour of my desired digital circuit, by knowing the states of any digital inputs and outputs at any given time. Suppose the desired digital circuit only implements the basic digital logic gates (NOT, AND, OR, XOR, NOR, NAND & XNOR). I'm assuming digital circuits like that would be represented as some sort of tree structure in programming, something like this: I'm assuming an exploration algorithm would build these sorts of structures reapeatedly, and then simulate them at some time-step. Programming a tree like this is straightforward in any OO language, but implementing an exploration algorithm to programatically explore circuits like these given a set of inputs and outputs is unfamilliar to me. I was wondering whether there are existing such algorithms in languages like Python or C++ that would work with structures like these, or anything simillar. Given the known inputs, outputs and building elements of a supposed digital circuit, is it possible to run some sort of exploration algorithm, in order to explore potential solutions for this digital circuit, using the latest programming libraries out there? Thanks for reading my post, any guidance is appreciated. Continue reading...