Jump to content

    
Tpeck

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

Recommended Posts

Добрый день.

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

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

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

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

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

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

Спасибо.

Share this post


Link to post
Share on other sites

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

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

 

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

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

 

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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.

Share this post


Link to post
Share on other sites
18 hours ago, Tpeck said:

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
1 hour ago, attaboy said:

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

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

Share this post


Link to post
Share on other sites
3 hours ago, attaboy said:

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

 

2 hours ago, des00 said:

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

xilinx ISE.

Share this post


Link to post
Share on other sites
1 hour ago, Tpeck said:

Только ISE.

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

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

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.