Jak mogę wyjaśnić różnicę między emulatorem a symulatorem pod względem języka elektrotechniki?


Odpowiedź 1:

Symulator to oprogramowanie, które uruchamia model sprzętu na zwykłych procesorach (takich jak X86), emulator to sprzęt, który obsługuje model sprzętu. Sprzęt emulatora jest zwykle czymś w rodzaju układów FPGA lub ASIC, które mogą szybko wykonywać FSM - jak opisano w HDL na poziomie RTL dla rzeczywistego projektu układu scalonego.

Emulatory są przede wszystkim przydatne do sprawdzania poprawności oprogramowania, które będzie działało w systemie przed uzyskaniem prawdziwego krzemu, ponieważ mogą działać bliżej rzeczywistej prędkości. Nie modelują aspektów krzemu, takich jak synchronizacja lub zarządzanie energią, które można modelować w symulatorach oprogramowania.


Odpowiedź 2:

Nie bierz tego za ewangelię, ale może to miejsce, od którego możesz zacząć. O ile wiem, emulator replikuje, w oprogramowaniu i sprzęcie, rzeczywiste oprogramowanie i sprzęt innego produktu. Że odtwarza rzeczywisty sprzęt jako oprogramowanie, a następnie odtwarza oprogramowanie operacyjne na tym sprzęcie. Miałbyś więc warstwę oprogramowania (system operacyjny, program itp.), Która zawierałaby inną warstwę oprogramowania (sprzęt replikowanego urządzenia), która miałaby inną warstwę oprogramowania (oprogramowanie działające na emulowanym sprzęcie). Jeśli uruchamiam program do symulacji elektrycznej, w którym odtworzyłem sprzęt Super Nintendo i z kolei załadowałem ROM dla Super Mario Brothers, to jest to emulator.

Z drugiej strony symulator odtwarza efekt powyższego, ale nie stara się tego robić poprzez replikację rzeczywistego sprzętu. Ma to po prostu zrobić to samo, tzn. Uruchomić Super Mario na moim komputerze.

Mam nadzieję, że to pomoże.