Il software su cui sto lavorando richiede la simulazione di circuiti logici, sia in combinazione che sequenziali.
Ora la simulazione non ha bisogno di essere troppo dettagliata, infatti potrebbe essere dannosa per la funzione del software, ha solo bisogno di simulare la logica stessa e non le proprietà dei singoli transistor, altri elementi e le loro rispettive tensioni, corrente , resistenza ecc.
La preoccupazione principale è l'accuratezza e secondaria è la prestazione.
Questo porta a un problema interessante.
Da una parte potrei usare la soluzione SPICE esistente, costruire un'astrazione su di essa e ignorare ogni aspetto dei circuiti di cui non mi importa. Ciò garantirebbe l'accuratezza, ma mi richiederebbe di familiarizzare, in modo approfondito, con la biblioteca in questione. Potrebbe anche portare a problemi con la licenza, a seconda della libreria utilizzata.
Per non parlare del colpo di performance, causato dalla simulazione di cose che non mi servono.
Oppure potrei scrivere la mia soluzione di simulazione, facendo solo le cose che voglio, senza problemi di licenza e ottimizzato per le prestazioni. Il guaio è che non sono un ingegnere elettrico. E ho paura di trascurare qualche aspetto critico della questione.
E ovviamente, l'implementazione della mia soluzione potrebbe richiedere molto più tempo rispetto alla creazione di un livello di astrazione su quello esistente.
Quindi la domanda è quale dovrei usare? C'è qualche altro angolo che dovrei prendere in considerazione?