Jak mohu vysvětlit rozdíl mezi emulátorem a simulátorem z hlediska elektrotechnického jazyka?


Odpověď 1:

Simulátor je software, který spouští model hardwaru na běžných procesorech (jako X86), emulátor je hardware, který spouští model hardwaru. Hardware emulátoru je obvykle něco jako FPGA nebo ASIC, které umí rychle provádět FSM - jak je popsáno v HDL na úrovni RTL pro skutečný návrh IC.

Emulátory jsou primárně užitečné pro ověřování softwaru, který bude spuštěn v systému před získáním skutečného křemíku, protože mohou běžet blíže skutečné rychlosti. Nemodelují aspekty Silicon, jako je načasování nebo správa napájení, které lze modelovat v softwarových simulátorech.


Odpověď 2:

Neberte to jako evangelium, ale možná je to místo, kde začít. Pokud vím, emulátor replikuje v softwaru a hardwaru skutečný software a hardware jiného produktu. To, že obnoví skutečný hardware jako software, a poté znovu vytvoří operační software na tomto hardwaru. Takže byste měli vrstvu softwaru (OS, program atd.), Která by měla další vrstvu softwaru (hardware replikovaného hardwaru), který by měl další vrstvu softwaru (software spuštěný v emulovaném hardwaru). Pokud spustím program elektrické simulace, ve kterém jsem znovu vytvořil hardware Super Nintendo, a následně jsem načten ROM pro Super Mario Brothers, je to emulátor.

Simulátor naproti tomu obnovuje účinek výše uvedeného, ​​ale nesnaží se tak učinit replikací skutečného hardwaru. Jde jen o to udělat to samé, tj. Nechat Super Mario běžet na mém počítači.

Doufám, že to pomůže.