Jump to content
    

Убийство времени - понятие относительное. Если просто посчитать кол-во символов в исходнике (при одинаковых идентификаторах) то VHDL/verilog 1.5...2/1 - и времени на написание ровно во столько же больше. А время на продумывание архитектуры одинаково. Вот и голимое убийство. Плюс раздражение и нервы от этих лишних преобразований.
Интересная точка зрения :) Похоже, уважаемый SM, скорость вашей мысли значительно обгоняет скорость набора ваших пальцев на клавиатуре ;) А если серьезно, то время на продумывание сколь нибудь сложной схемы никак не соизмеримо со временем на ее написание. Поскольку реализация модуля по моему опыту занимает два часа, а продумывание идеи и структуры - пару дней :( К тому же, всегда приятно знать, что твоя схема четко соответствует тому, что ты написал, а строгая типизация и отсутствие неоднозначности в трактовке конструкций компилятором - ключ к этому.

Share this post


Link to post
Share on other sites

Я очень хорошо знаком, например, с Си. И Си++ тоже.
Но и не надо мух с котлетами путать. А именно языки программирования и языки описания аппаратуры. Две большие разницы :). Одними описывается последовательность действий вычислителя, другими - схема соединения вычислителей (и прочих блоков/устройств).

И что? Значит, арифметический блок можно описать абы как, лишь бы работал?

Зачем "абы как"? На любом языке описания аппаратуры можно хорошо описать схему, а можно плохо. Но на одном это "хорошо" будет растянуто и монстроидально, а на другом кратко и лаконично.

 

 

Поскольку реализация модуля по моему опыту занимает два часа, а продумывание идеи и структуры - пару дней :( К тому же, всегда приятно знать, что твоя схема четко соответствует тому, что ты написал, а строгая типизация и отсутствие неоднозначности в трактовке конструкций компилятором - ключ к этому.

Я полностью согласен с этим распределением времени. Но. Продумывание процесс творческий, и хоть неделю продумывать - это не напрягает. А реализация - процесс технический, и написание каждой лишней строчки напрягает. И нервяк от лишних действий не стоит каких-то их виртуальных преимуществ. А строгая типизация только отвлекает от продумывания того, как что и с чем оптимальнее соединить, на то, чтобы продумать, как написать так, чтобы это соединение еще и компилятор не обругал.

Share this post


Link to post
Share on other sites

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

 

 

Схема состоит из проводов логики и регистров. Строгая типизация проводов, логики, регистров.

По моим наблюдения на этом форуме именно вопрошающие на vhdl не видят за оисанием ни проводов, ни логики, ни регистров.

А вопрошающие на vhdl ответов по своим вопросам не получают.

Не вижу я активности со стороны VHDLщиков. Одни пространные рассуждения. А любой язык, он ведь пропаганду любит. Нагляности для убеждения.

Share this post


Link to post
Share on other sites

Одни пространные рассуждения.

Ясное дело. Это же язык для академиков и профессоров :) А пространные рассуждения это их конек!

 

Вот, кстати, и свежий яркий пример клинического проявления геморроя :) :) http://electronix.ru/forum/index.php?showt...mp;#entry564202

Share this post


Link to post
Share on other sites

Как то странно слышать высказывания по поводу краткости описания схожих блоков в некоторых языках. Я разрабатывал блоки на VHDL и AHDL, с чистым Verilog знаком косвенно. На AHDL описание некоторых блоков укладывается в строчку, а на VHDL то же самое занимает 4-6 строк кода. И что? AHDL теперь лучше в 4-6 раз чтоли?

Давайте согласимся, что писать ситнезируемый код на SV, это значит использовать подмножество Verilog. Написание тестбенчей - вот конёк именно SV. Постепенно в моей компании пришли к тому, чтобы писать rtl описания на VHDL, а верификацию проводить средствами SV по методологиям OVM или VMM.

А на счёт разработки блоков за 2 дня - В среднем разработка прошивки у меня занимает 1-2 месяца(включая предварительную отладку средствами VHDL ). Отладка средствами OVM - пару недель. И эти пару недель сокращают отладку в железе на месяц! Если написание RTL модели и верификационной модели выполняют разные люди - полная работа над проектом вплоть до отладки в железе сокращается многократно.

Вот я и говорю, что SV хорош для отладки. Для сравнения VHDL и Verilog тут была когда-то отдельная ветка.

Edited by warrior-2001

Share this post


Link to post
Share on other sites

Давайте согласимся, что писать ситнезируемый код на SV, это значит использовать подмножество Verilog.

 

либо вы слишком мало работали с V/SV, либо те люди которые вам об этом сказали ничего не понимают в SV. Неоднократно выкладывал на этот форум модули написанные именно на SV, на верилоге тоже самое описывается через Ж.

 

Постепенно в моей компании пришли к тому, чтобы писать rtl описания на VHDL, а верификацию проводить средствами SV по методологиям OVM или VMM.

 

ИМХО костыли, надеюсь вам не понадобится залезть внуть ртлного модуля при отладке по иерархическим именам.

Share this post


Link to post
Share on other sites

либо вы слишком мало работали с V/SV, либо те люди которые вам об этом сказали ничего не понимают в SV. Неоднократно выкладывал на этот форум модули написанные именно на SV, на верилоге тоже самое описывается через Ж.

Ну модулей RTL уровня на SV я видел не много. В большинстве случаев бил именно Verilog. Это пока скорее исключение, чем правило. Тем более при разводке ПЛИС в том же

Quartus степень поддержки SV заранее не известна. Так зачем же рисковать?

 

ИМХО костыли, надеюсь вам не понадобится залезть внуть ртлного модуля при отладке по иерархическим именам.

В редких случаях достать пару тройку сигналов не проблема. В идеале тестируемый блок должен быть чёрным ящиком. Наличие референсной модели в этом случае обязательно.

Share this post


Link to post
Share on other sites

Ну модулей RTL уровня на SV я видел не много. В большинстве случаев бил именно Verilog. Это пока скорее исключение, чем правило. Тем более при разводке ПЛИС в том же

Quartus степень поддержки SV заранее не известна. Так зачем же рисковать?

 

а мужики то не знают (с),

 

ничего себе не известна, работаю 2 года исключительно на SV в квартусе начиная с 6.1, за это время сделал порядка 8ми проектов, один в публичном доступе

 

вы на квартус документацию не пробывали читать ? степень поддержки SV в нем описана.

 

В редких случаях достать пару тройку сигналов не проблема. В идеале тестируемый блок должен быть чёрным ящиком. Наличие референсной модели в этом случае обязательно.

 

видов тестирования есть много, например кому то удобнее моделировать ситуацию ошибки снаружи (хотя это нужно только для глобального тестирования), а кто то простым

 

force uut.receiver.some_module.error = 1;

 

вызывает ошибку в тестбенче по месту в своем железе и смотрит как она будет отработана

Share this post


Link to post
Share on other sites

Вот, кстати, и свежий яркий пример клинического проявления геморроя :) :)

я плакалЪ :lol:

Share this post


Link to post
Share on other sites

На AHDL описание некоторых блоков укладывается в строчку, а на VHDL то же самое занимает 4-6 строк кода. И что? AHDL теперь лучше в 4-6 раз чтоли?

Ну не знаю, лучше или хуже, но AHDL значительно приятнее, чем VHDL, для написания на нем кода. Но к сожалению это проприетарный язык, не пошедший вперед. Я на AHDL когда-то даже микропроцессор сделал, который был успешно изготовлен в кремнии на пол-микронной технологии. Однако что только стоит такая возможность, что типом переменной или массива может быть любой модуль. Это просто мечта! Такое бы как-то в верилог добавить к его wire/reg...

Share this post


Link to post
Share on other sites

Хотя это в общем и есть те самые академики с шилом в заднице. Наверное от SV эти прибыли вниз пошли, вот и решили VHDL подновить, так как на дальнейшее серьезное усовершенствование SV соображалки пока не хватает. Да и зачем работать, если можно не работать - ведь тут - работы раз-два, и типа как целый прорыв совершен.

ну я знаком более или менее только с составом SV-BC (basic commity) там уж точно не академики рулят. в основном дяди из компаний, что САПРы пишут и профессиональные вериложники из компаний зарабатывающих на обучении (типа doulas). к стати некоторые даже не магистры, не то что доктора. прибыли вниз может и не пошли, но рост ажиотажа явно остановился, поэтому решили отпустить ВХДЛ. а на усовершенствование потенциал у них есть - в прошлый стандарт BlueSpec достаточно внёс, и с тех пор у BlueSpec технология очень сильно продвинулась (включая ту самую темплетизацию), и они в коммитете вс так же сидят, а прорывные идеи почему-то в новый стандарт не включают, самое "прорывное" что собираются вводить в следующем стандарте это слайсинг выражений ( (a+b )[5:3] ) и "обоюдоострую" импликацию (a <-> b ), что на самом деле просто смешно.

 

типом переменной или массива может быть любой модуль. Это просто мечта! Такое бы как-то в верилог добавить

такое в планах есть

Share this post


Link to post
Share on other sites

такое в планах есть

Вы это серьезно??? В верилоге??? Или в VHDL? Откуда инфа?

Share this post


Link to post
Share on other sites

Вы это серьезно??? В верилоге??? Или в VHDL? Откуда инфа?

инфа из переписки коммитета. "в планах" имею ввиду, что данный вопрос (массив модулей) стоял на повестке дня.

ЗЫ: сейчас попытался найти эту ветку, но поиск по mail-reflector отсутствует, а в заголовках писем этого не нашёл (если удастся найти, отпишусь)

PPS: ну вот кое-что http://www.eda-stds.org/sv/sv-champions/Re...5_06_01/445.pdf

Share this post


Link to post
Share on other sites

что данный вопрос (массив модулей)

 

Да хотя бы просто модуль, без массива... Что нить типа того:

 

mymodule mod_inst;

 

...

always @(posedge clk)

mod_inst.ina <= dataa;

 

always @*

mod_inst.inb <= datab+datac;

 

always @(posedge clk)

if (mod_inst.req) intr <= 1'b1; else

if (intack) intr <= 1'b0;

...

 

Интересно, кто первый такое сделает - VHDL или verilog? При том, что AHDL с рождения это имеет?

Share this post


Link to post
Share on other sites

always @(posedge clk)

mod_inst.ina <= dataa;

вообще-то такое запрещено для синтеза принципиально

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...