Jump to content

    

Какой язык учить?

Основная идея написанного: "я не владею навыками набора на клавиатуре и плохо знаю VHDL, поэтому я обращу неудобства Verilog в его достоинства". Что ж, это тоже подход, так что для краткости дискуссии будем считать, что вы меня уели.

 

Существенные различия между языками начинают сказываться, когда объем синтезируемого кода превысит, скажем, 20Мб с глубиной иерархии > 10. Если в вашей практике такого не встречалось, а все ограничивалось задачами

добавить эту простенькую фишку, уместившуюся бы на верилоге в одну строчку
, то недостатков верилога вы, конечно, не замечали. Думаю, что попытка вникуть в такой проект или задача подключения на Верилог модуля с интерфейсом хотя бы в 2000 портов вразумили бы вас.

 

Любовь к верилогу продиктована подходом к проектированию "снизу вверх": "я вот сейчас быстро-быстро опишу счетчик, а что я с ним потом буду делать, я потом придумаю. Главное сейчас быстро-быстро, буквально парой строк".

 

Все разговоры про прелести синтезируемого подмножества sv пока, увы, не подтверждены ни одним серьезным asic-проектом. Подозреваю, что все заканчивается на попытках нормально настроить lint и lec.

 

Но по существу почти все Ваши аргументы вполне парируемы:

Share this post


Link to post
Share on other sites
А на SV всего 50 и это учитывая пробелы... Но от этого отношение к VHDL у меня не изменилось - мой основной язык описания.
Ёжики, плакали, кололись?... ))))

 

PS Не для халивара
А вся эта тема им и является. И для того и создана.

 

 

 

 

Основная идея написанного: "я не владею навыками набора на клавиатуре
Про клавиатуру: набираю 10-пальцевым, как и многие сейчас, но проблема не в этом, а в психологическом моменте навроде "а может ну её нафиг эту доработку?".

 

и плохо знаю VHDL
Вы утверждаете, что, когда хорошо знаешь VHDL, то писанины получается сравнимо с Verilog? Боюсь, что я уже знаю VHDL на достаточном уровне, чтобы понять, что меньше уже не напишешь и от тонны бесполезного мусора не избавишься. Остаётся копипастить шаблоны.

 

 

поэтому я обращу неудобства Verilog в его достоинства"
Вовсе не так. С недостатками навроде бегин-енд я согласился, и это не достоинства. Но достоинств больше.

 

 

Что ж, это тоже подход, так что для краткости дискуссии будем считать, что вы меня уели.
Вы думаете, я лично Вас хочу уесть или спорю просто ради спортивного интереса, чтобы "победил" обязательно я? Я просто высказал свои комментарии к высказываниям, с которыми я несогласен. Просто свою точку зрения.

 

 

Существенные различия между языками начинают сказываться, когда объем синтезируемого кода превысит, скажем, 20Мб с глубиной иерархии > 10. Если в вашей практике такого не встречалось, а все ограничивалось задачами , то недостатков верилога вы, конечно, не замечали. Думаю, что попытка вникуть в такой проект или задача подключения на Верилог модуля с интерфейсом хотя бы в 2000 портов вразумили бы вас. ".
Всё встречалось. Давайте не будем мериться пиписьками ))) Только я до сих пор не понимаю, чем VHDL лучше при глубине иерархии >10? По-моему, вообще от глубины мало что зависит... Да и чем лучше когда 2000 портов? По реализации портмапа я считаю, что оба языка одинаковы по трудоёмкости. Выигрывает только SV с его интерфейсами.

 

 

 

Любовь к верилогу продиктована подходом к проектированию "снизу вверх": "я вот сейчас быстро-быстро опишу счетчик, а что я с ним потом буду делать, я потом придумаю. Главное сейчас быстро-быстро, буквально парой строк".
Здесь я тоже не вижу никакой взаимосвязи между выбором языка и направлением подхода к проектированием. Если инструмент мне даёт возможность написать быстро, то я ею могу пользоваться при любом направлении.

Share this post


Link to post
Share on other sites
По реализации портмапа я считаю, что оба языка одинаковы по трудоёмкости. Выигрывает только SV с его интерфейсами.

Там можно еще подключить так:

 

my_module1 my_module1_inst (.*);

my_module2 my_module2_inst (.*, .reset(other_reset));

 

что очень заметно экономит количество писанины для модулей с большим и очень большим кол-вом портов, если аккуратно продумывать имена портов в модулях, чтобы в результате они, в большинстве своем, сами по себе соединялись как надо.

Share this post


Link to post
Share on other sites

Именно это я утверждаю. В больших проектах на VHDL будет меньший объем кода и меньше трудозатрат при соизмеримом функцоинале за счет типизации и агрегатных типов.

 

В проектах уровня "быстро-быстро мигалка-пищалка" будет ровно наоборот.

 

Также замечу, что при написании RTL на продажу Verilog предпочтительней из-за тривиальной процедуры преобразования в не слишком изящный VHDL.

 

Успехов.

 

Вы утверждаете, что, когда хорошо знаешь VHDL, то писанины получается сравнимо с Verilog? Боюсь, что я уже знаю VHDL на достаточном уровне, чтобы понять, что меньше уже не напишешь и от тонны бесполезного мусора не избавишься. Остаётся копипастить шаблоны.

 

Всё встречалось. [...] Только я до сих пор не понимаю, чем VHDL лучше при глубине иерархии >10? По-моему, вообще от глубины мало что зависит... Да и чем лучше когда 2000 портов?

 

Здесь я тоже не вижу никакой взаимосвязи между выбором языка и направлением подхода к проектированием. Если инструмент мне даёт возможность написать быстро, то я ею могу пользоваться при любом направлении.

Share this post


Link to post
Share on other sites
Ёжики, плакали, кололись?... ))))

возможно, но я не сожалею о потраченном вечере - это дало мне понять "изюминки глубины" языка описания VHDL (если можно так сказать)

Сделать pipeline многопортовый суматор с генериком по количеству портов и разрядности портов - на VHDL оказалось не простой задачей

 

Также полностью согласен с высказыванием друга по этому поводу:

проще так заюзать

компонент объявил - и вперёд

конвертить всяко дольше

 

Но спортивный интерес и любопытство победили :)

Share this post


Link to post
Share on other sites
Все активные участники высказали свое ИМХО. За сим предлагаю с холиваром, основанным на субъективных умозаключениях, закончить. Надеюсь на понимание. Модератор.

Share this post


Link to post
Share on other sites
ну вот не совершенно. Очень даже близкий. Почти каждой конструкции языка можно сопоставить какую-то микросхему из стандартной логики, делающую нечто похожее.

Конечные автоматы это уже нечто напрямую не вообразимое в проводах.

 

Не умеешь писать и понимать конечные автоматы - HDL на ветер.

Share this post


Link to post
Share on other sites
Конечные автоматы это уже нечто напрямую не вообразимое в проводах.

Странно... Что же с воображением случилось? Неужели мозги у народа высохли? Лет 20-30-40 назад они со свистом реализовывались на рассыпухе... И сейчас ничего не поменялось - новое состояние есть логическая ф-ция предыдущего и внешних воздействий.

Share this post


Link to post
Share on other sites
Странно... Что же с воображением случилось? Неужели мозги у народа высохли? Лет 20-30-40 назад они со свистом реализовывались на рассыпухе... И сейчас ничего не поменялось - новое состояние есть логическая ф-ция предыдущего и внешних воздействий.

Если мне надо разобраться в автомате, то я смотрю его в Synplify в fsm-explorer диаграмму автомата, которая из кружочков и стрелочек.

А как увидеть автомат в rtl-viewer, со всеми состояниями и переходами...

Share this post


Link to post
Share on other sites
А как увидеть автомат в rtl-viewer, со всеми состояниями и переходами...

А зачем его там смотреть? Логика автоматов понятна по исходнику... Его надо представлять, как он разложится синтезатором, при каком описании и на что, чтобы не допускать детских ошибок, но не до такой же степени, чтобы каждый логический элемент видеть... А вовсе не реверсом заниматься.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this