Simulazione del circuito logico: soluzione homebrew o di terze parti?

0

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?

    
posta user1561358 17.08.2018 - 14:38
fonte

1 risposta

3

Dal suono di ciò non sembri di sapere di cosa desideri / bisogno. In una frase parli solo della cura delle funzioni delle pièces e non delle proprietà fisiche e delle cose simili, ma nel segmento successivo inizi a dire che credi che potresti aver bisogno di un ingegnere elettrico per coprire tutti i casi limite.

Se tutto ciò di cui hai bisogno è la logica di base dei pezzi che vuoi simulare, allora non hai nemmeno bisogno di astrarre molto lontano, un semplice "piping" di output per un pezzo agli input degli altri. Se hai bisogno di più dettagli, dicci il tempo che alcuni pezzi possono richiedere per attivare, o che cosa hai allora la soluzione pre-costruita è probabilmente meglio, poiché non avrai bisogno di fare tutte le ricerche necessarie per ottenere i tempi correttamente.

    
risposta data 17.08.2018 - 14:56
fonte