Software I'm working on requires simulation of logic circuits, both combination and sequential.
Now the simulation doesn't need to be too detailed, in fact it could be detrimental to the function of software, it only needs to simulate the logic itself and not properties of individual transistors, other elements and their respective voltages, current, resistance etc.
The primary concern is accuracy and secondary is performance.
This leads to interesting issue.
On one hand I could use existing SPICE solution, build an abstraction on top of it and ignore every aspect of circuits I don't care about. That would ensure the accuracy, but it would require me to familiarize, in depth, with the library in question. It could also lead to issues with license, depending on library used.
Not to mention the performance hit, caused by simulating things I don't need.
Or I could write my own simulation solution, doing only things I want, with no licensing issues and optimized for performance. The trouble is, that I'm not an electrical engineer. And I'm afraid that I might overlook some critical aspect of the matter.
And obviously, implementing my own solution could very well take more time than building abstraction layer on top of existing one.
So the question is which one should I use? Is there any other angle I should consider?