česky english Vítejte, dnes je pátek 19. duben 2024

Quest(a) hledání chyb HDL kódu

12.11. 2019 | Zprávy
Autor: Radek Řezníček
QuestaSimVyhody.png

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.

QuestaSimVyhody2

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