QNA > Q > Qual È La Differenza Tra Un Simulatore E Un Emulatore?

Qual è la differenza tra un simulatore e un emulatore?

Il simulatore è una piattaforma virtuale. È un modello software di un sistema hardware. L'emulatore d'altra parte è come un hardware reale, tipicamente è un FPGA ma non è il chip reale come in con le dimensioni minime del chip reale. I simulatori sono facili da modificare, veloci da sviluppare ma di solito richiedono più tempo per simulare cioè eseguire un'applicazione/test/trace ecc, rispetto agli emulatori perché simulano l'hardware - che a sua volta gira su un altro hardware (per esempio: un simulatore per core ARM scritto in C++ che viene eseguito su un PC con x86 o similmente un simulatore per GPU che viene eseguito su x86).

Siccome i simulatori sono veloci da sviluppare, sono usati principalmente per lo sviluppo iniziale del software e per alcuni altri casi d'uso come l'esplorazione dell'architettura durante la fase di concetto. Essi forniscono buone capacità di debugging e forniscono tempi rapidi per sperimentare/modificare/testare ecc.

Gli emulatori sono tipicamente derivati dal linguaggio di descrizione dell'hardware che è usato per la progettazione del chip attuale dove la netlist derivata è mappata su un FPGA che emula il chip attuale con capacità di I/O e memoria vicine all'hardware attuale. Ma questi tipicamente richiedono più tempo per lo sviluppo rispetto ai simulatori.

Come gli emulatori sono vicini all'hardware reale, annotano molto bene i comportamenti reali di temporizzazione e analogici che la maggior parte delle volte non sono l'obiettivo del simulatore, ma di solito sono più veloci da eseguire rispetto ai simulatori. Usare i simulatori all'inizio del ciclo di sviluppo può portare a trovare bug importanti nel concetto prima che l'hardware venga sviluppato. Inoltre, il software di massa sviluppato per funzionare sull'hardware reale potrebbe facilmente essere testato su un simulatore che sarebbe vicino al comportamento di un hardware o di un emulatore, dato che i simulatori tendono ad essere funzionalmente accurati ma non hanno i tempi dell'hardware reale (anche se ne hanno una nozione).

I simulatori possono essere ulteriormente utili se devono essere inseriti in un sistema di simulazione più grande (per esempio: un controller in un sistema ECU) che aiuta nella prototipazione virtuale rapida. Ma, nei luoghi in cui entrambi sono disponibili, gli emulatori sono per lo più il criterio di approvazione finale.

Di Casimir

Quali sono i vantaggi del rooting di un Samsung Galaxy S III? :: Qual è la definizione ufficiale di "grande impresa"?
Link utili