Дамп изменения значения - Value change dump
Дамп изменения значения (VCD) (также менее известный как «Дамп изменения переменных») - это ASCII -основанный формат для файлов дампа, созданных EDA логическое моделирование инструменты. Стандарт, четырехзначный Формат VCD был определен вместе с Verilog язык описания оборудования посредством IEEE Стандарт 1364-1995 в 1996 году. Расширенный формат VCD, определенный шесть лет спустя в стандарте IEEE. 1364-2001 поддерживает регистрацию мощности и направленности сигнала. Простая и в то же время компактная структура формата VCD позволила его использовать повсеместно и распространиться на инструменты, не относящиеся к Verilog, такие как VHDL симулятор GHDL и различные ядро трассеры. Ограничением формата является невозможность записи значений в память.
Структура / синтаксис
Эта секция нуждается в расширении. Вы можете помочь добавляя к этому. (Май 2008 г.) |
Файл VCD содержит раздел заголовка с информацией о дате, имитаторе и шкале времени; раздел определения переменных; и раздел изменения значения в указанном порядке. Разделы явно не очерчены в файле, но идентифицируются включением ключевые слова принадлежащий каждому соответствующему разделу.
VCD ключевые слова отмечены ведущим $ (но идентификаторы переменных также могут начинаться с $). Как правило, каждое ключевое слово начинает раздел, который заканчивается $ конец ключевое слово.
Все VCD жетоны обозначены пробел. Данные в файле VCD чувствительны к регистру.
Раздел заголовка
Раздел заголовка файла VCD включает отметка времени, а симулятор номер версии и шкала времени, которая сопоставляет приращения времени, указанные в разделе изменения значения, с единицами времени моделирования.
Раздел определения переменной
Раздел определения переменных файла VCD содержит информацию об области действия, а также списки сигналов, созданных в данной области.
Каждой переменной назначается произвольный компактный идентификатор ASCII для использования в разделе изменения значения. Идентификатор состоит из печатаемых символов ASCII из! до ~ (от 33 до 126 в десятичной системе). Несколько переменных могут иметь общий идентификатор, если симулятор определяет, что они всегда будут иметь одно и то же значение.
Определения типов области видимости тесно связаны с концепциями Verilog и включают типы модуль, задача, функция, и вилка.
раздел $ dumpvars
Раздел, начинающийся с ключевого слова $ dumpvars, содержит начальные значения всех выгружаемых переменных.
Раздел изменения значения
Раздел изменения значения содержит серию упорядоченных по времени изменений значений для сигналов в данной имитационной модели. Текущее время обозначается знаком «#», за которым следует отметка времени. Для скалярного (однобитового) сигнала форматом является значение сигнала, обозначенное 0 или 1, за которым сразу следует идентификатор сигнала без пробела между значением и идентификатором сигнала. Для векторных (многобитовых) сигналов форматом является значение сигнала, обозначенное буквой «b» или «B», за которым следует значение в двоичном формате, за которым следует пробел, а затем идентификатор сигнала. Значение для реальных переменных обозначается буквой «r» или «R», за которой следуют данные в формате% .16g printf (), за которым следует пробел и затем идентификатор переменной.
Пример файла VCD
$ date Текст даты. Например: 11 ноября 2009 г. $ end $ version Текст информации о версии инструмента генератора VCD. $ End $ comment Любой текст комментария. $ End $ timescale 1ps $ end $ scope module logic $ end $ var wire 8 # data $ end $ var провод 1 $ data_valid $ end $ var wire 1% en $ end $ var wire 1 & rx_en $ end $ var wire 1 'tx_en $ end $ var wire 1 (пустой $ end $ var wire 1) underrun $ 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
Приведенный выше код определяет 7 сигналов с помощью $ var:
$ var type имя идентификатора битовой ширины
Идентификатор используется позже в дампе изменения значения. Дамп изменения значения начинается после $ enddefinitions $ end и основан на отметках времени. Отметка времени обозначается как «#» с последующим номером. На каждой временной метке отображается список сигналов, которые меняют свое значение. Это делается парой значение / идентификатор:
new_value id
Этот пример будет отображаться как
Смотрите также
внешняя ссылка
- IEEE Std 1364-2001 - Официальный стандарт Verilog 2001 (не бесплатно).
- Сравнить VCD - Инструмент командной строки для сравнения файлов VCD (под лицензией GPL).
- Verilog :: VCD - Программное обеспечение Perl CPAN для анализа файлов Verilog VCD (под лицензией GPL).
- ProcessVCD - Пакет Java для анализа файлов VCD (под лицензией MIT License).
- PyVCD - Пакет Python, который записывает файлы дампа изменения значения (VCD), как указано в IEEE 1364-2005 (лицензия MIT).
- Дамп изменения значения - Пояснение к формату VCD с примером.
- vcdMaker - Инструмент (Linux, Windows) для перевода текстовых файлов журнала в файлы VCD (лицензия MIT).
- yne / vcd - (Linux, Mac, Windows) CLI для отображения файлов VCD на терминале (лицензия MIT).