Перейти к содержанию
    

SystemVerilog и симуляторы

Запустил простенький тестовый проект на симуляторе ActiveHDL, в нем есть перечислимый тип (FSM с помощью него описал), а он мне при старте симуляции нагло сообщает:

 

# KERNEL: Warning: Tracing SystemVerilog C-Type signals is not supported in waveform yet.

 

Причем, сам объект перечислимого типа в моделировании участвует, его значения видны в списке, он только на диаграммах не изображается, о чем прога честно предупредила.

 

Проверял на версиях 7.1 СП2 и на 7.2.

 

В связи с этим вопрос, как дело с поддержкой SystemVerilog обстоит с другими популярными симуляторами - в первую очередь в ModelSim (или QuestaSim (или как он там нынче зовется))? Или, может, имеет смысл поставить СП1 на 7.2, т.к. там это уже пофиксено? Никто не знает?

 

Кстати, в 7.2 объект типа struct вообще отказался компилять, ошибку синтаксиса выдал. В общем, как-то там все это недоделано. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vcs поддерживает хорошо SV (официально все)

Questa похуже (даже официально не все)

 

работал с vcs проблем не возникало (включая всякие классы)

работал в квесте тоже проблем не возникало (пробовал синтезируемое подмножество SV)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vcs поддерживает хорошо SV (официально все)

Простите мою серость :), но что такое vcs? У меня аббревиатура vcs ассоциируется как Version Control System. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите мою серость :), но что такое vcs? У меня аббревиатура vcs ассоциируется как Version Control System. :)

 

Енто от Синопсиса.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

vcs поддерживает хорошо SV (официально все)

Questa похуже (даже официально не все)

 

работал с vcs проблем не возникало (включая всякие классы)

работал в квесте тоже проблем не возникало (пробовал синтезируемое подмножество SV)

 

Скажите, пожалуйста, какая версия vcs это поддерживает?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, но так номер не помню :)

посмотрю скажу (не так быстро это у нас )))

 

помню что получили ее в феврале и тогда это была самая последняя

вышла в конце прошлого года

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Простите, но так номер не помню :)

посмотрю скажу (не так быстро это у нас )))

 

помню что получили ее в феврале и тогда это была самая последняя

вышла в конце прошлого года

 

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

работал в квесте тоже проблем не возникало (пробовал синтезируемое подмножество SV)

работаю в моделсиме - квеста без assertion и constraint driven randomization

поддерживает всё что мне было необходимо (всё несинтезируемое включая классы и интерфейсы) - было обнаружено только отсутствие поддержки generate внутри интерфейсов (такая возможность пригождается при описание коммутатора с параметризируемым числом подключаемых каналов)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хмм, если посмотреть help ( Active-HDL Help -> Using Active-HDL -> SystemVerilog -> Supported SystemVerilog Extensions ), то можно увидеть в частности такую фразу:

 

Data Types

Enumerated types are supported. The example below shows how to declare variable rcvstate that can be assigned either of the five enumerated values IDLE, SYNC, HEAD, DATA or CRC:

// declare variable rcvstate
enum {IDLE, SYNC, HEAD, DATA, CRC} rcvstate;

An enumerated type can be defined with the typedef construct, for example:

// declare type colors_t
typedef enum {red, yellow, green} colors_t;

// declare two variables of type colors_t
colors_t lightsRoadA, lightsRoadB;

Values in the enumerated type can be used in assignments, for example:

initial
  lightsRoadA = red;

 

Выходит обманывают?

 

А struct действительно не поддерживается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хмм, если посмотреть help ( Active-HDL Help -> Using Active-HDL -> SystemVerilog -> Supported SystemVerilog Extensions ), то можно увидеть в частности такую фразу:

 

Data Types

 

Enumerated types are supported. The example below shows how to declare variable rcvstate that can be assigned either of the five enumerated values IDLE, SYNC, HEAD, DATA or CRC:

 

[...]

 

Выходит обманывают?

Нет, не обманывают. Я тут неполную инфу выдал. Я этот перечислимый тип создал с помощью bit, коий есть по их понятиям C-type, вот его оно и не показывает. Хотя он симуляется.

 

А то, что структуры не поддерживает - это очень большой трабл, от структур много пользы. Хотя редактор их вполне подсвечивает слова struct и packed как ключевые. :) Вероятно, работа идет, в редакторе уже введено (т.к. это очень просто сделать), а на уровене компилятора и симулятора еще нет, хотя и тут каких-то принципиальных сложностей не видно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проще всего по-моему сейчас переметнутся временно на моделсимы всякие - пока альдек не раздуплил полностью СВ - а потом если будет желание пересесть опять на альдек

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

проще всего по-моему сейчас переметнутся временно на моделсимы всякие - пока альдек не раздуплил полностью СВ - а потом если будет желание пересесть опять на альдек

Это уже на любителя. Думал об этом, даже скачал последнюю квесту, но поковырявшись, не впечатлился. Как и моделсиме напрочь убивает интерфейс пользователя - тормозит по страшному. В моделсиме, помницца, ГУИ был реализован на Tkinter - тормоза + каждого окошко открывалось в отдельной задаче, т.е. при открытых и настроенных окнах стоило сделать Alt+Tab в другую программу, и потом обратный Alt+Tab активировал только лишь одно окошко (последнее) - остальные как и положено отдельным задачам оставались некативными и на экран не выводились. В квесте это порулили, там теперь все вместе - это большой плюс. Но торможение ГУИ просто безобразное... Понимаю, что там цель - иметь кроссплатформенный интерфейс, но неужели нельзя было использовать что-то поприличнее (красивее и быстрее) - wxWidgets или Qt?

 

Работа в Waveform вьювере/редакторе у альдека сделана на порядок удобнее и приятнее.

 

Все вышесказанное - конкретное имхо. :)

 

В общем, по совокупности, имхо, фичи SV пока не перетягивают удобств в интерактивной работе, пока решил обломится и подождать нормальной поддержки, она, очевидно, не за горами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...