v_mirgorodsky 0 March 18, 2009 Posted March 18, 2009 · Report post Убийство времени - понятие относительное. Если просто посчитать кол-во символов в исходнике (при одинаковых идентификаторах) то VHDL/verilog 1.5...2/1 - и времени на написание ровно во столько же больше. А время на продумывание архитектуры одинаково. Вот и голимое убийство. Плюс раздражение и нервы от этих лишних преобразований.Интересная точка зрения :) Похоже, уважаемый SM, скорость вашей мысли значительно обгоняет скорость набора ваших пальцев на клавиатуре ;) А если серьезно, то время на продумывание сколь нибудь сложной схемы никак не соизмеримо со временем на ее написание. Поскольку реализация модуля по моему опыту занимает два часа, а продумывание идеи и структуры - пару дней :( К тому же, всегда приятно знать, что твоя схема четко соответствует тому, что ты написал, а строгая типизация и отсутствие неоднозначности в трактовке конструкций компилятором - ключ к этому. Quote Share this post Link to post Share on other sites More sharing options...
SM 9 March 18, 2009 Posted March 18, 2009 · Report post Я очень хорошо знаком, например, с Си. И Си++ тоже.Но и не надо мух с котлетами путать. А именно языки программирования и языки описания аппаратуры. Две большие разницы :). Одними описывается последовательность действий вычислителя, другими - схема соединения вычислителей (и прочих блоков/устройств). И что? Значит, арифметический блок можно описать абы как, лишь бы работал? Зачем "абы как"? На любом языке описания аппаратуры можно хорошо описать схему, а можно плохо. Но на одном это "хорошо" будет растянуто и монстроидально, а на другом кратко и лаконично. Поскольку реализация модуля по моему опыту занимает два часа, а продумывание идеи и структуры - пару дней :( К тому же, всегда приятно знать, что твоя схема четко соответствует тому, что ты написал, а строгая типизация и отсутствие неоднозначности в трактовке конструкций компилятором - ключ к этому. Я полностью согласен с этим распределением времени. Но. Продумывание процесс творческий, и хоть неделю продумывать - это не напрягает. А реализация - процесс технический, и написание каждой лишней строчки напрягает. И нервяк от лишних действий не стоит каких-то их виртуальных преимуществ. А строгая типизация только отвлекает от продумывания того, как что и с чем оптимальнее соединить, на то, чтобы продумать, как написать так, чтобы это соединение еще и компилятор не обругал. Quote Share this post Link to post Share on other sites More sharing options...
sazh 9 March 18, 2009 Posted March 18, 2009 · Report post К тому же, всегда приятно знать, что твоя схема четко соответствует тому, что ты написал, а строгая типизация и отсутствие неоднозначности в трактовке конструкций компилятором - ключ к этому. Схема состоит из проводов логики и регистров. Строгая типизация проводов, логики, регистров. По моим наблюдения на этом форуме именно вопрошающие на vhdl не видят за оисанием ни проводов, ни логики, ни регистров. А вопрошающие на vhdl ответов по своим вопросам не получают. Не вижу я активности со стороны VHDLщиков. Одни пространные рассуждения. А любой язык, он ведь пропаганду любит. Нагляности для убеждения. Quote Share this post Link to post Share on other sites More sharing options...
SM 9 March 18, 2009 Posted March 18, 2009 · Report post Одни пространные рассуждения. Ясное дело. Это же язык для академиков и профессоров :) А пространные рассуждения это их конек! Вот, кстати, и свежий яркий пример клинического проявления геморроя :) :) http://electronix.ru/forum/index.php?showt...mp;#entry564202 Quote Share this post Link to post Share on other sites More sharing options...
warrior-2001 0 March 18, 2009 Posted March 18, 2009 (edited) · Report post Как то странно слышать высказывания по поводу краткости описания схожих блоков в некоторых языках. Я разрабатывал блоки на 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 March 18, 2009 by warrior-2001 Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 18, 2009 Posted March 18, 2009 · Report post Давайте согласимся, что писать ситнезируемый код на SV, это значит использовать подмножество Verilog. либо вы слишком мало работали с V/SV, либо те люди которые вам об этом сказали ничего не понимают в SV. Неоднократно выкладывал на этот форум модули написанные именно на SV, на верилоге тоже самое описывается через Ж. Постепенно в моей компании пришли к тому, чтобы писать rtl описания на VHDL, а верификацию проводить средствами SV по методологиям OVM или VMM. ИМХО костыли, надеюсь вам не понадобится залезть внуть ртлного модуля при отладке по иерархическим именам. Quote Share this post Link to post Share on other sites More sharing options...
warrior-2001 0 March 18, 2009 Posted March 18, 2009 · Report post либо вы слишком мало работали с V/SV, либо те люди которые вам об этом сказали ничего не понимают в SV. Неоднократно выкладывал на этот форум модули написанные именно на SV, на верилоге тоже самое описывается через Ж. Ну модулей RTL уровня на SV я видел не много. В большинстве случаев бил именно Verilog. Это пока скорее исключение, чем правило. Тем более при разводке ПЛИС в том же Quartus степень поддержки SV заранее не известна. Так зачем же рисковать? ИМХО костыли, надеюсь вам не понадобится залезть внуть ртлного модуля при отладке по иерархическим именам. В редких случаях достать пару тройку сигналов не проблема. В идеале тестируемый блок должен быть чёрным ящиком. Наличие референсной модели в этом случае обязательно. Quote Share this post Link to post Share on other sites More sharing options...
des00 26 March 18, 2009 Posted March 18, 2009 · Report post Ну модулей RTL уровня на SV я видел не много. В большинстве случаев бил именно Verilog. Это пока скорее исключение, чем правило. Тем более при разводке ПЛИС в том же Quartus степень поддержки SV заранее не известна. Так зачем же рисковать? а мужики то не знают (с), ничего себе не известна, работаю 2 года исключительно на SV в квартусе начиная с 6.1, за это время сделал порядка 8ми проектов, один в публичном доступе вы на квартус документацию не пробывали читать ? степень поддержки SV в нем описана. В редких случаях достать пару тройку сигналов не проблема. В идеале тестируемый блок должен быть чёрным ящиком. Наличие референсной модели в этом случае обязательно. видов тестирования есть много, например кому то удобнее моделировать ситуацию ошибки снаружи (хотя это нужно только для глобального тестирования), а кто то простым force uut.receiver.some_module.error = 1; вызывает ошибку в тестбенче по месту в своем железе и смотрит как она будет отработана Quote Share this post Link to post Share on other sites More sharing options...
CaPpuCcino 0 March 18, 2009 Posted March 18, 2009 · Report post Вот, кстати, и свежий яркий пример клинического проявления геморроя :) :) я плакалЪ Quote Share this post Link to post Share on other sites More sharing options...
SM 9 March 18, 2009 Posted March 18, 2009 · Report post На AHDL описание некоторых блоков укладывается в строчку, а на VHDL то же самое занимает 4-6 строк кода. И что? AHDL теперь лучше в 4-6 раз чтоли? Ну не знаю, лучше или хуже, но AHDL значительно приятнее, чем VHDL, для написания на нем кода. Но к сожалению это проприетарный язык, не пошедший вперед. Я на AHDL когда-то даже микропроцессор сделал, который был успешно изготовлен в кремнии на пол-микронной технологии. Однако что только стоит такая возможность, что типом переменной или массива может быть любой модуль. Это просто мечта! Такое бы как-то в верилог добавить к его wire/reg... Quote Share this post Link to post Share on other sites More sharing options...
CaPpuCcino 0 March 18, 2009 Posted March 18, 2009 · Report post Хотя это в общем и есть те самые академики с шилом в заднице. Наверное от SV эти прибыли вниз пошли, вот и решили VHDL подновить, так как на дальнейшее серьезное усовершенствование SV соображалки пока не хватает. Да и зачем работать, если можно не работать - ведь тут - работы раз-два, и типа как целый прорыв совершен. ну я знаком более или менее только с составом SV-BC (basic commity) там уж точно не академики рулят. в основном дяди из компаний, что САПРы пишут и профессиональные вериложники из компаний зарабатывающих на обучении (типа doulas). к стати некоторые даже не магистры, не то что доктора. прибыли вниз может и не пошли, но рост ажиотажа явно остановился, поэтому решили отпустить ВХДЛ. а на усовершенствование потенциал у них есть - в прошлый стандарт BlueSpec достаточно внёс, и с тех пор у BlueSpec технология очень сильно продвинулась (включая ту самую темплетизацию), и они в коммитете вс так же сидят, а прорывные идеи почему-то в новый стандарт не включают, самое "прорывное" что собираются вводить в следующем стандарте это слайсинг выражений ( (a+b )[5:3] ) и "обоюдоострую" импликацию (a <-> b ), что на самом деле просто смешно. типом переменной или массива может быть любой модуль. Это просто мечта! Такое бы как-то в верилог добавить такое в планах есть Quote Share this post Link to post Share on other sites More sharing options...
SM 9 March 18, 2009 Posted March 18, 2009 · Report post такое в планах есть Вы это серьезно??? В верилоге??? Или в VHDL? Откуда инфа? Quote Share this post Link to post Share on other sites More sharing options...
CaPpuCcino 0 March 18, 2009 Posted March 18, 2009 · Report post Вы это серьезно??? В верилоге??? Или в VHDL? Откуда инфа? инфа из переписки коммитета. "в планах" имею ввиду, что данный вопрос (массив модулей) стоял на повестке дня. ЗЫ: сейчас попытался найти эту ветку, но поиск по mail-reflector отсутствует, а в заголовках писем этого не нашёл (если удастся найти, отпишусь) PPS: ну вот кое-что http://www.eda-stds.org/sv/sv-champions/Re...5_06_01/445.pdf Quote Share this post Link to post Share on other sites More sharing options...
SM 9 March 18, 2009 Posted March 18, 2009 · Report post что данный вопрос (массив модулей) Да хотя бы просто модуль, без массива... Что нить типа того: 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 с рождения это имеет? Quote Share this post Link to post Share on other sites More sharing options...
CaPpuCcino 0 March 18, 2009 Posted March 18, 2009 · Report post always @(posedge clk) mod_inst.ina <= dataa; вообще-то такое запрещено для синтеза принципиально Quote Share this post Link to post Share on other sites More sharing options...