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

SystemVerilog в Quartus

Хотелось бы начать переход на систем верилог, но перед этим хочется понять какие фичи языка поддерживает квартус, а какие - нет. Чтобы не попасть в просак, написав код, который придется переписывать. Можете написать как-нибудь тезисно, в духе "вот это поддерживает, а вот это нет, а вот это частично в таком-то объеме". Думаю, это будет многим полезно.

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


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

Хотелось бы начать переход на систем верилог, но перед этим хочется понять какие фичи языка поддерживает квартус, а какие - нет. Чтобы не попасть в просак, написав код, который придется переписывать. Можете написать как-нибудь тезисно, в духе "вот это поддерживает, а вот это нет, а вот это частично в таком-то объеме". Думаю, это будет многим полезно.

все уже украдено до нас (с). help раздел system verilog support

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


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

Все давно написано до нас: http://quartushelp.altera.com/14.1/mergedP...st_sys_vlog.htm

(номер версии в ссылке изменить согласно той, которая интересна)

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


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

Что-то там по ссылке ересь написана:

 

"25.5 Modports Not supported"

 

Как же не поддерживаются, когда без них интерфейсы просто не имеют смысла. Прекрасно они поддерживаются и даже generated modports, за что квартусу респект.

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


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

Как же не поддерживаются, когда без них интерфейсы просто не имеют смысла. Прекрасно они поддерживаются и даже generated modports, за что квартусу респект.

Плюсую к этому еще поддержку modport expressions, которая описана как неподдерживаемая. Работает, сейчас отлаживаю шину, построенную с их использованием. Кроме того полно всяких ньансов, из последних, например: не работает присвоение в блоке initial значениям сигналов параметров; не поддерживаются nested interfaces (попытка встраивания интерфейсов друг в друга приводит не к ошибке синтеза, а к фатальному сбою квартуса, есть описание бага где-то на альтерном форуме); нельзя использовать иерархическое обращение к параметрам, объявленным в интерфейсе. Документ sv support это конечно хорошо, но его недостаточно чтобы со всем этим разобраться..

Изменено пользователем serjj

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


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

Как же не поддерживаются, когда без них интерфейсы просто не имеют смысла. Прекрасно они поддерживаются и даже generated modports, за что квартусу респект.

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

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


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

Не сочтите за вброс, но в чём преимущество SystemVerilog'а перед SystemC?

Может, лучше перейти на SystemC?

Изменено пользователем FakeDevice

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


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

Не сочтите за вброс, но в чём преимущество SystemVerilog'а перед SystemC?

Может, лучше перейти на SystemC?

поиском по форуму. года 2 назад копий было сломано очень много, тогда и владеющих темой людей на форуме было больше :)

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


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

но в чём преимущество SystemVerilog'а перед SystemC?

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

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


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

Печально, что интерфейсы не интегрированы в qsys, тогда удобства было бы значительно больше

Изменено пользователем Nepoch

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


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

Печально, что интерфейсы не интегрированы в qsys, тогда удобства было бы значительно больше

Qsys сам по себе реализует концепцию интерфейсов, т.к. в нём модули очень просто подключаются к шине авалон, интерконект автоматически размещается и настраивается средствами qsys. При этом не нужно отдельно соединять все сигналы шины, шина коннектится целиком, параметры и состав скрыты внутри шины. Чем вам не интерфейсы? Интерфейс как сущность удобна именно для rtl ввода. Единственное неудобство здесь, это то, что qsys не позволяет работать с интерфейсами как с портами, я у себя делал логический трассировщик интерфейс-обычные порты для того, чтобы соединить модули, объединенные интерфейсом и qsys систему с процом. При этом верилоговская часть проекта стоит отдельно от qsys части. А если вы ориентируетесь на qsys ввод (когда qsys топовый и все подключается внутри него), то интерфейсы становятся излишними.

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


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

Qsys сам по себе реализует концепцию интерфейсов, т.к. в нём модули очень просто подключаются к шине авалон, интерконект автоматически размещается и настраивается средствами qsys. При этом не нужно отдельно соединять все сигналы шины, шина коннектится целиком, параметры и состав скрыты внутри шины. Чем вам не интерфейсы? Интерфейс как сущность удобна именно для rtl ввода. Единственное неудобство здесь, это то, что qsys не позволяет работать с интерфейсами как с портами, я у себя делал логический трассировщик интерфейс-обычные порты для того, чтобы соединить модули, объединенные интерфейсом и qsys систему с процом. При этом верилоговская часть проекта стоит отдельно от qsys части. А если вы ориентируетесь на qsys ввод (когда qsys топовый и все подключается внутри него), то интерфейсы становятся излишними.

 

Да, именно qsys реализует концепцию интерфейсов, как раз удобно было бы интегрировать system verilogовские интерфейсы, тогда была бы какая-то системность, а то system verilog вроде поддерживает механизм, и qsys поддерживает свои, но при этом механизмы разные, получается будто два велосипеда с одинаковыми функциями.

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


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

Да, именно qsys реализует концепцию интерфейсов, как раз удобно было бы интегрировать system verilogовские интерфейсы, тогда была бы какая-то системность, а то system verilog вроде поддерживает механизм, и qsys поддерживает свои, но при этом механизмы разные, получается будто два велосипеда с одинаковыми функциями.

Они не могут гарантировать 100% поддержку стандарта по интерфейсам и делать их поддержку для такой большой и массовой штуки как qsys это тот еще челендж, за который они наверное никогда не возьмутся :rolleyes:

Ну и плюс, если ввести интерфейсы в qsys появятся нестыковки с old-school verilog и vhdl.

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


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

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

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

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

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

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

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

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

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

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