česky english Vítejte, dnes je sobota 20. duben 2024

ModelSim – klasika, která nestárne

DPS 2/2014 | Články
Autor: Ing. Petr Matějka

Mezi českými a slovenskými vývojáři, kteří pracují s FPGA, o vývojářích zákaznických integrovaných obvodů ASIC ani nemluvě, dnes stěží najdeme někoho, kdo alespoň jednou nezaslechl název programu uvedený v nadpisu. Snad jen mladší studenty elektroniky technických vysokých škol, respektive odborných středních škol, seznámení s pojmem ModelSim teprve čeká.

ModelSim je zkrátka fenomén, který existuje a nepochybně ještě nějakou dobu existovat bude. Nejčastěji lze při zmínce o tomto programu zaznamenat představu, že ModelSim je jakýmsi průmyslovým standardem ve svém oboru.

obr.1

Obr. 1 Prostředí ModelSim DE

V krátkosti by se dalo říci, že ModelSim od Mentor Graphics je mnoha lety používání vyladěný softwarový nástroj pro HDL simulaci a verifikaci. Solidní výpočetní výkon, přehledné a intuitivní uživatelské rozhraní, ve kterém jsou důležité funkce po ruce, umožňuje početné základně uživatelů dosáhnout bezprecedentní produktivity při vývoji číslicových systémů. Architektura ModelSim podporuje všechny standardně používané jazyky HDL, tj. VHDL, Verilog a SystemVerilog. Dále lze použít i jazyky PSL a SystemC.

Od svých počátků, které se datují před rokem 2000, prošel ModelSim řadou průběžných vylepšení až do dnešního stavu, kdy mají uživatelé podle svých potřeb a zaměření možnost výběru ze dvou základních verzí (PE – Personal Edition a DE – Deluxe Edition) a dvou speciálních verzí (AE – Altera Edition a PE – Student Edition). Mnozí si jistě pamatují i verzi SE – Special Edition; o té se zmíníme v dalším textu.

tabulka1

ModelSim PE

Základní verzí je od samého počátku ModelSim PE, jejíž parametry lze považovat za referenční k porovnání s ostatními produkty. Za zmínku stojí, že aktuálně nabízená verze PE již v základním provedení obsahuje i práci ulehčující funkce, dříve dostupné jen za příplatek. Jsou to zejména:

  • Code Coverage – počítá, kolik procent řádků RTL kódu bylo vykonáno v simulacích. Pokud má mít verifikační prostředí potenciál nalézt všechny chyby v obvodu, měl by být každý řádek během simulace vykonán alespoň jednou. To sice nezajišťuje, že je systém bezchybný, ale dává to jistotu, že nezůstala žádná nepokrytá místa, tj. bloky kódu, které během simulace nebyly vůbec vykonány a ve kterých by mohla být chyba. Kromě pokrytí kódu umožňuje simulátor měřit i pokrytí podmíněného větvení, podmínek a spínání – aktivity – na jednotlivých uzlech.
  • Waveform Compare – zviditelňuje a porovnává simulační průběhy souborů dat s různými parametry.
  • Enhanced Dataflow Window – libovolně konfigurovatelné zobrazení procesů, signálů, sítí, registrů a propojení.

Velkou výhodou PE je možnost plně automatizovat simulace pomocí výkonného skriptovacího jazyka zabudovaného do simulátoru.

ModelSim DE

Verze DE je stejně vybavená a má stejné simulační jádro jako PE. Umí však navíc pracovat s tzv. assertions, což jsou nástroje používané i u všech pokročilejších verifikačních produktů firmy Mentor Graphics. Assertions jsou programové konstrukce (mechanismy) umístěné do vnitřních bodů návrhu a schopné zjišťovat správnost fungování obvodu v těchto bodech. Dají se implementovat i v běžném HDL kódu (svépomocí či použitím OVL – Open Verification Library). Nicméně plné využití jejich výhod umožňují až specializované jazyky PSL (jen zápis vlastností) a SystemVerilog (kompletní podpora pro verifikaci). Vhodné použití assertions může pomoci rychleji nalézt chyby v návrhu, a tak výrazně zkrátit dobu verifikace.

ModelSim AE

Verze AE je preferovaná volba pro simulaci obvodů FPGA firmy Altera, nabízená ve dvou verzích. Pro malé návrhy lze použít verzi „Starter“; ta je sice zdarma, ale rychlost simulace je oproti PE značně omezená. Pro výkonnější práci je k dispozici standardní verze AE s více než třetinovou rychlostí a omezenou funkčností v porovnání s plnohodnotnou PE.

ModelSim PE – Student

Pro domácí přípravu je pro studenty volně ke stažení podverze PE; rychlost simulátoru i počet řádků kódu jsou však výrazně omezené. Tato verze není určena pro komerční použití.

Závěr

V minulosti byla pro náročné projekty využívána i verze ModelSim SE, několikanásobně výkonnější než PE. Původní SE se již v současnosti nenabízí, protože ji firma Mentor Graphics po přidání možnosti práce s assertions zařadila do své extratřídy verifikačních nástrojů známých pod souhrnným názvem Questa. ModelSim lze obousměrně propojit s prostředím pro vědeckotechnické výpočty a modelování MATLAB & Simulink. Za zmínku stojí i podpora pro Xilinx SecureIP.

Pro ulehčení prvních kroků při práci v prostředí ModelSim doporučujeme zájemcům navštívit komentovaný multimediální kurz [4].

Literatura

[1] www.mentor.com/products/fpga/ model
[2] www.asicentrum.cz/cz_01_03_01_01e.php
[3] www.altera.com/products/software/sfw-index.jsp
[4] http://amber.feld.cvut.cz/fpga/fpga_lab_resources/msim_certification/index.html
[5] www.xilinx.com/products/intellectual-property/ModelSim.htm