Jump to content
    

филосовский вопрос

И вот тут как раз чем меньше текста надо писать, тем лучше, тем быстрее я опишу модуль. CTRL-C CTRL-V конечно здорово, но при большом модуле легче написать ручками чем мотать его туда суда и искать те переменные что тебе нужны. Потому сейчас для себя выбрал верилог...

В VHDL большой модуль можно разделить на блоки, и в каждом блоке создать свои локальные сигналы и прочее, тогда не придётся далеко мотать в большинстве случаев. Удивительно, но я ни разу не видел в чужих исходниках, чтобы кто-то пользовался блоками.

Share this post


Link to post
Share on other sites

в

(* *)

можно вставлять вычисляемое значение аттрибутов

 

типа

module m #(

parameter string ramt="fifo";

);

 

(* synt_ramtype=ramt *) my_ram_reg;

 

endmodule

 

как-то так

 

 

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

 

выписка из стандарта

attribute_instance ::= (* attr_spec { , attr_spec } *)

attr_spec ::= attr_name [ = constant_expression ]

attr_name ::= identifier

Буду знать, спасибо.

 

Share this post


Link to post
Share on other sites

В VHDL большой модуль можно разделить на блоки, и в каждом блоке создать свои локальные сигналы и прочее, тогда не придётся далеко мотать в большинстве случаев. Удивительно, но я ни разу не видел в чужих исходниках, чтобы кто-то пользовался блоками.
Я довольно активно использую локальные сигналы внутри generate.

Share this post


Link to post
Share on other sites

Возвращаясь к "холивару", как-то пришлось сделать мелкую работку по сравнению разницы в синтезе между этими двумя, несомненно хорошими языками. Результат оказался очевиден -- синтез был одинаков, НО НЕ в этом суть. Меня поразило то, на сколько они были похожи -- словно отражения друг друга. Конечно сыграли роль и примеры: это были чёткие, однозначные, академически выверенные конструкции (ну не абы ж какие fifo'шки генерить). Для каждой семантической команды был свой аналог на другом языке. У меня даже сложилось впечатление, что xst (всё делалось в Xilinx ISE) тупо переводит один язык в другой, а потом просто использует синтезатор.

Так что идея писать процы на питоне или Си не так уж далека от реальности. Главное обеспечить удобство. И может будущее за Vivado (с Си) и MyHDL (питон) ?

Share this post


Link to post
Share on other sites

думаю конструкции обоих языков правда переводятся для синтеза в что-то средние...

 

И если Вивадо появилось, то оно кому то же нужно). Си с точки зрения скорописи сильно обгоняет и верилог и вхдл.

 

ну реально раздражает писать

 

ThisIsMyTemparyWithLongName <= ThisIsMyTemparyWithLongName + 1;

Share this post


Link to post
Share on other sites

Те же (или аналогичные) чекеры и VHDL проверяют.

А не подскажете названия чекеров для VHDL?

Заранее признателен.

Share this post


Link to post
Share on other sites

А не подскажете названия чекеров для VHDL?

Заранее признателен.

В среде Mentor HDL Designer есть DesignChecker

Share this post


Link to post
Share on other sites

Спасибо. А как отдельная программа - есть?

 

То, что Вы хотите называется "linting tools".

Обычно входят в состав пакетов для формальной верификации.

 

Есть, но немного

Например,

http://www.syncad.com/hdlworks_companion_t...HDL_Verilog.htm

и (по серьезнее)

http://www.aldec.com/en/products/functiona...ification/alint

 

Вроде еще что-то пробегало. Вспомню - сообщу.

Share this post


Link to post
Share on other sites

Спасибо. А как отдельная программа - есть?

 

Есть.

 

Для начала гляньте раздел Linting tools здесь (ну, и остальное может быть интересно):

ASIC World

если у них все еще проблемы с сайтом - смотрим на Машине Времени:

То же самое на Wayback Machine

 

И на закуску - еще один достойный инструмент:

SpyGlass from Atrenta

Share this post


Link to post
Share on other sites

Холивары вечны. Инженер должен уметь читать на любом из 2х языков, а писать - на чём хочет.

Статистика: свитчеры VHDL->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.

×
×
  • Create New...