Hledání chyb a ověřování správné funkce napsaného HDL kódu je quest náročný jak časově, tak na vynaložené prostředky. Ať už kód realizujete v simulátoru nebo ještě náročněji v laboratoři, vynaložíte na tuto činnost velké množství prostředků. Ušetřit alespoň jejich část může automatizování a jiné nástroje simulačních programů.
Při zmínce o HDL simulaci se většině pravděpodobně vybaví i program ModelSim, který se za léta používání stal téměř standardem. Také díky tomu, že jeho omezenou verzi dodávají někteří distributoři FPGA obvodů. TAto omezená verze je pomalejší a postrádá funkce jako použití assertions, code coverage, memory viewer, dataflow, porovnávání průběhů signálů, … Ani plný ModelSim, od Mentor, A Siemens business nedisponuje nejvyspělejšími nástroji (přístupy) ověřování kódu. Ty jsou dostupné až v jeho nástupci co do použitelných funkcí testování a simulace.
Questa (nebo QuestaSim) rozšiřuje možnosti ModelSimu o reprezentaci napsaného kódu logickým schématem, schopnost pozastavit, upravit a uložit si průběh simulace, randomizaci, functional coverage a UVM, … Podporuje také SystemC a jeho kombinaci s ostatními jazyky (VHDL, Verilog, …)
Uložení stávajícího kroku simulace dává možnost nejenom si takový bod uložit a pro ušetření procesorového (nebo vašeho) času v něm pokračovat později (po obědě), ale můžete v něm také vytvořit větvící bod, jelikož v jakémkoliv čase můžete zasahovat do běhu programu například úpravou paměti. Můžete také randomizovat vstupy, automaticky vytvářet vstupní kombinace malou změnou (zavedením jisté míry nahodilosti, tedy constrained-random). Potom ve velkém počtu takto vzniklých testů s náhodnými vstupy potřebujete informaci, jaké všechny funkce byly ověřeny, tedy functional coverage.
Ukázka výsledků functional coverage v programu QuestaSim
Silnější (účinější) nástroje mohou znamenat méně času stráveného ověřováním kódu, a tudíž více času na vlastní jeho tvorbu. Případně také více zachycených chyb, protože samotným hledáním jednotlivých závad a přemýšlením, kde by mohli nastat strávíte měně času.
Více informací naleznete na stránkách výrobce programů ModelSim a Questa(Sim).
radek@cadware.cz