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

Verilog - пользовательские типы данных.

Добрый день.

В VHDL можно сделать пользовательский тип данных,  например двумерный массив и работать с ним.

Причем его можно объявлять как port и передавать его по иерархии.

В общем весьма удобная штука.

А в Verilog можно сделать аналогичную штуку сделать?

Вариант, когда двумерные массив разворачиваем в одномерный, а после передачи по иерархии снова сворачиваем в двумерный.

Видится мне очень не удобным.

Спасибо.

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


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

в SV есть структуры и массивы - создается тип через typedef - и вперет

"для взрослой" деятельности есть так называемые interface - в которых много всего разного, кроме набора port-ов

 

---------------

классический верилог 89-го года мало кем используется, его SV заменил

 

 

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


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

Just now, yes said:

SV там есть структуры и массивы - создается тип через typedef - и вперет

 

Ну так вопрос про Verilog, а не SV.

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


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

Три коп. Вроде как в отличие от С и С++, которые являются всё разными языками, V и SV считаются одним языком, SV - это продолжение V. Релизы (стандарта) до 2001 года (включительно) называются V, далее SV. Т.е. V и SV это скорее маркетинговый ход. Исходя из этого корректно было бы уточнять, например, есть ли способ сделать то или иное в Verilog-2001 или Verilog-95.

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


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

Приветствую!

22 minutes ago, dxp said:

Три коп. Вроде как в отличие от С и С++, которые являются всё разными языками, V и SV считаются одним языком, SV - это продолжение V. Релизы (стандарта) до 2001 года (включительно) называются V, далее SV. Т.е. V и SV это скорее маркетинговый ход. Исходя из этого корректно было бы уточнять, например, есть ли способ сделать то или иное в Verilog-2001 или Verilog-95.

IMHO это не так. SV фактически тоже  другой язык как и С++.  Хоть он и включает в себя как подмножество весь Verilog для совместимости.  Особенно различия заметны в области верификации так как при разработке спецификации SV особый упор делался  в этой части - девиз "один язык и для RTL и для  верификации"  

 

17 hours ago, Tpeck said:

Печально.

Напрямую в Verilog удобных структур нет. Можно  извернутся и сделать псевдо-структуры  через  macro.   

 

Удачи! Rob.

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


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

18 hours ago, Tpeck said:

Ну так вопрос про Verilog, а не SV.

А с чем связано, если не секрет, желание использовать именно Verilog, а не SV?

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


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

Ну, так вы ничем не опровергли. :) Язык один, на разных этапах его эволюции в нём были разные средства. Это как С++98, C++11, C++14, C++17 и т.д. Язык один, но в более поздних есть средства, которых не было в более ранних. При этом в С есть вещи, которые в принципе в С++ не работают - например, incomplete types. И семантика enum отличается. И область видимости констант по умолчанию тоже. Т.е. это хоть и очень похожие в базе языки, но всё же разные. И стандарты у них разные, оба до сих пор развиваются параллельно. А на IEEE-1364 когда был последний релиз?

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


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

1 hour ago, attaboy said:

А с чем связано, если не секрет, желание использовать именно Verilog, а не SV?

скорее всего древний асиковский софт.

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


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

3 hours ago, attaboy said:

А с чем связано, если не секрет, желание использовать именно Verilog, а не SV?

 

2 hours ago, des00 said:

скорее всего древний асиковский софт.

xilinx ISE.

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


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

1 hour ago, Tpeck said:

xilinx ISE.

так возьмите симплифай ? или требование только ISE?

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


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

1 hour ago, Tpeck said:

Только ISE.

Там в комплекте с ISE идёт ещё замечательный PlanAhead, в котором можно задавать тип SystemVerilog для отдельных файлов (не целого проекта). И работать с ними как с обычным SV. Да ив целом советую пользоваться PA вместо ISE по причине сильной глючности и негибкости последнего.

Если конечно у Вас не какая-то допотопно-древняя версия.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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