Jump to content

    
Sign in to follow this  

Recommended Posts

Прочитал вопрос из соседнего форума, где ТС дали ссылку на пример применения интерфейсов от dxp (2013 год)

В примере используются modport and modport expressions.

dxp отвечает на вопрос

 

Это только ква такое сейчас собрать может или симплифай с вивадой тоже обучены?

Квартус и квеста держат, за другие не скажу, не пробовали.

 

Годом позже в этой же теме des00

 

Решил поиграться с интерфейсами и модпортами, квеста, ква прекрасно.

 

Наши дни - quartushelp

 

Quartus_Help.jpg

 

т.е., modport and modport expressions не поддерживаются.

Предполагаю, что этот раздел help давно не обновляли.

Если вы, уважаемые коллеги, знаете о других несоответствиях реалий с декларациями:

поделитесь, пожалуйста, этими радостными новостями.

 

 

Share this post


Link to post
Share on other sites

Раньше в доке у них в этом месте было сказано, что всё есть. Года два-три назад столкнулся с багом ква, который выражался в Internal Error - ква падал со ссылкой на assert в пять-тыщь-какой-то строчке, причина этого была в том, что ему не нравились некоторые имена в модпортах (например, addr, size и ещё некоторые). Я создал support request, на что мне индус ответил, что, де, а что вы хотите, SV интерфейсы не поддерживаются, т.ч. ваши претензии мимо, на что я ему указал, что его утверждение противоречит их же документации и привёл ссылку на эту страницу. После чего он сказал, что да, он ошибся и они всё исправят. И действительно исправили - в доке на следующий (и последующие) квартус в доке упоминание о поддержке SV интерфейсов вымарали.

 

Т.ч. технически оно в каком-то виде есть и даже работает. Но вот есть вот такие неприятные вылеты (лечатся ударами в бубен, заключающимися в подборе имён в модпортах). Ситуации этой уже несколько лет, никто ничего там не делает на эту тему. Насколько могу судить, все усилия там сосредоточены на продвижении толстых ПЛИС, QSys и подобном.

Share this post


Link to post
Share on other sites
Т.ч. технически оно в каком-то виде есть и даже работает. Но вот есть вот такие неприятные вылеты (лечатся ударами в бубен, заключающимися в подборе имён в модпортах). Ситуации этой уже несколько лет, никто ничего там не делает на эту тему. Насколько могу судить, все усилия там сосредоточены на продвижении толстых ПЛИС, QSys и подобном.

Кстати, Альтера использует SV-интерфейсы в своем коде (например, в автосгенерированных исходниках после OpenCL), но без модпортов.

 

Например, тыц и тыц.

Share this post


Link to post
Share on other sites

У меня интерфейс используется с 2013 года. Может, слишком простой, потому и работает? Вот такой. И модпорты, как видите, тоже.

interface Bus_i;
  logic        [15:0]    adr;        // address Bus
  wire        [15:0]    dat;        // data Bus
  wire            wrp;        // write pulse
  wire            oe;        // output enable

  modport master (            // to bridge
    output    adr, wrp, oe,
    inout    dat
  );

  modport slave (            // to other devices
    input    adr, wrp, oe,
    inout    dat 
  );
endinterface : Bus_i

Share this post


Link to post
Share on other sites
Ситуации этой уже несколько лет, никто ничего там не делает на эту тему. Насколько могу судить, все усилия там сосредоточены на продвижении толстых ПЛИС, QSys и подобном.

Когда Алтера рекламировала свой новый движок для будущих поколений Prime - Spectra-Q, было заявлено: "Spectra-Q synthesis — stricter language parser with enhanced language support, faster algorithms, and true parallel synthesis".

Однако новый синтез достался только Prime Pro. В поддержке Verilog/SystemVerilog для обычного Prime я не заметил отличий от предыдущих версий.

Но, как видим, возможны сюрпризы.

 

Кстати, Альтера использует SV-интерфейсы в своем коде (например, в автосгенерированных исходниках после OpenCL), но без модпортов.

Собственно интерфейсы, согласно документации, поддерживаются, тут никаких противоречий.

 

У меня интерфейс используется с 2013 года. Может, слишком простой, потому и работает? Вот такой. И модпорты, как видите, тоже.

Кстати, в Quatus’s language templates имеют место modport ("запрещенные")!

 

Не одними интерфейсами… возможно замечены другие "не разрешенные" вещи?

Share this post


Link to post
Share on other sites

еще немного о modport, новые ква сыпят варнингами на использование io вместо направленных в интерфейсах, хотя в модпортах все прописано корректно. старые ква в этом не замечены

Share this post


Link to post
Share on other sites
Когда Алтера рекламировала свой новый движок для будущих поколений Prime - Spectra-Q, было заявлено: "Spectra-Q synthesis — stricter language parser with enhanced language support, faster algorithms, and true parallel synthesis".

Ну, как обычно цветистые маркетинговые заявления, ничего конкретного - поддержки эффективных средств SV тут прямо не обещано, т.ч. ничего не предъявишь. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this