Výpis změny hodnoty - Value change dump
Výpis změny hodnoty (VCD) (známý také méně často jako „výpis proměnné změny“) je ASCII formát založený na dumpfile generovaných EDA logická simulace nástroje. Standardní, čtyři hodnoty Formát VCD byl definován společně s Verilog jazyk popisu hardwaru podle IEEE Standard 1364-1995 v roce 1996. Rozšířený formát VCD definovaný o šest let později ve standardu IEEE 1364-2001 podporuje protokolování síly a směrovosti signálu. Jednoduchá a přesto kompaktní struktura formátu VCD umožnila, aby se jeho použití stalo všudypřítomným a rozšířilo se do nástrojů jiných než Verilog, jako je VHDL simulátor GHDL a různé jádro stopovací látky. Omezením formátu je, že není schopen zaznamenávat hodnoty do pamětí.
Struktura / syntaxe
![]() | Tato sekce potřebuje expanzi. Můžete pomoci přidávat k tomu. (Květen 2008) |
Soubor VCD obsahuje záhlaví s datem, informacím o simulátoru a časovém měřítku; část definice proměnné; a část pro změnu hodnoty v tomto pořadí. Sekce nejsou v souboru výslovně vymezeny, ale jsou identifikovány zahrnutím klíčová slova patřící do každé příslušné sekce.
VCD klíčová slova jsou označeny předním $ (ale identifikátory proměnných mohou také začínat a $). Obecně každé klíčové slovo začíná sekci, která je ukončena znakem $ konec klíčové slovo.
Všechny VCD žetony jsou vymezeny mezery. Data v souboru VCD rozlišují velká a malá písmena.
Sekce záhlaví
Část záhlaví souboru VCD obsahuje a časové razítko, a simulátor číslo verze a časová osa, která mapuje časové přírůstky uvedené v sekci změny hodnot na časové jednotky simulace.
Sekce definice proměnné
Sekce definice proměnné souboru VCD obsahuje informace o oboru a seznamy signálů vytvořených v daném oboru.
Každá proměnná má přiřazen libovolný kompaktní identifikátor ASCII pro použití v sekci změny hodnot. Identifikátor se skládá z tisknutelných znaků ASCII od! na ~ (desetinné číslo 33 až 126). Několik proměnných může sdílet identifikátor, pokud simulátor určí, že budou mít vždy stejnou hodnotu.
Definice typů oboru pečlivě sledují koncepty Verilog a zahrnují typy modul, úkol, funkce, a Vidlička.
sekce $ dumpvars
Sekce začínající klíčovým slovem $ dumpvars obsahuje počáteční hodnoty všech vypsaných proměnných.
Sekce změny hodnoty
Sekce změny hodnoty obsahuje řadu časově uspořádaných změn hodnot pro signály v daném simulačním modelu. Aktuální čas je označen '#' následovaným časovým razítkem. U skalárního (jednobitového) signálu je formátem hodnota signálu označená 0 nebo 1, za kterou bezprostředně následuje identifikátor signálu bez mezery mezi hodnotou a identifikátorem signálu. U vektorových (vícebitových) signálů je formátem hodnota signálu označená písmenem „b“ nebo „B“, za kterou následuje hodnota v binárním formátu, za kterou následuje mezera a poté identifikátor signálu. Hodnota pro skutečné proměnné je označena písmenem 'r' nebo 'R' následovaným daty ve formátu% .16g printf (), následovanou mezerou a poté identifikátorem proměnné.
Příklad souboru VCD
$ datum Datum text. Například: 11. listopadu 2009. $ end $ verze Nástroj pro generování VCD generátoru informační text. $ End $ komentář Libovolný text komentáře. $ End $ timescale 1ps $ end $ logika modulu $ $ end $ var drát 8 # data $ end $ var drát 1 $ data_valid $ end $ var drát 1% en $ end $ var drát 1 & rx_en $ end $ var drát 1 'tx_en $ end $ var drát 1 (prázdný $ end $ var drát 1) podběh $ end $ upscope $ end $ enddefinitions $ end $ dumpvarsbxxxxxxxx # x $ 0% x & x'1 (0) $ end # 0b10000001 # 0 $ 1% 0 & 1'0 (0) # 22110 '# 2296b0 # 1 $ # 23020 $ # 2303
Výše uvedený kód definuje 7 signálů pomocí $ var:
$ var typ bitwidth id name
ID se použije později na výpisu změn hodnot. Výpis změn hodnot začíná po $ enddefinitions $ end a je založen na časových značkách. Časové razítko je označeno jako '#' následované číslem. Na každém časovém razítku je uveden seznam signálů, které mění svou hodnotu. To se provádí dvojicí hodnota / id:
new_value id
Tento příklad se zobrazí jako

Viz také
externí odkazy
- IEEE Std 1364-2001 - Oficiální standard pro Verilog 2001 (není zdarma).
- Porovnat VCD - Nástroj příkazového řádku pro porovnání souborů VCD (licencovaný pod GPL).
- Verilog :: VCD - Software Perl CPAN pro analýzu souborů VCD Verilog (licencován pod GPL).
- ProcessVCD - Balíček Java pro analýzu souborů VCD (licencován na základě licence MIT).
- PyVCD - Balíček Pythonu, který zapisuje soubory Value Change Dump (VCD), jak je uvedeno v IEEE 1364-2005 (licence MIT).
- Výpis změny hodnoty - Vysvětlení formátu VCD s příkladem.
- vcdMaker - Nástroj (Linux, Windows) pro překlad textových souborů protokolu do souborů VCD (licence MIT).
- yne / vcd - (Linux, Mac, Windows) CLI k zobrazení souborů VCD na terminálu (licence MIT).