Jump to content

    

С чего лучше начать VHDL или Verilog?

Не думаю, что скажу глупость.

Начинать нужно с даташита.

Нужно знать, на чём эта вся писанина разместится.

Потому как написать можно всё что угодно, но на какие элементы это ляжет и какие трассы их свяжут, и определит функционирование микросхемы.

Поэтому сперва нужно научится РИСОВАТЬ схемы, а затем их писать.

Share this post


Link to post
Share on other sites

 

 

Если решать голосованием, то да - на нем больше пишут. И легче найти примеры для начинающих. И строге типы, так что трудно сделать некоторые

глупые ляпы.

 

Зато Verilog:

1. компактнее в записи

2. синтаксис привычный для тех кто писал на "С"

3. есть (минимальный) пре-процессор

 

Я по историческим причинам начинал на VHDL (еще раньше - Abel),

но сейчас перешел на Verilog, главным образом потому что писать удобнее.

 

Кстати у меня ряд знакомых работает в Silicon Valley в серьезных компаниях,

и почти все пользуются Верилогом.

 

 

Но если кому Ada милее чем "C"...

Share this post


Link to post
Share on other sites

>>3. есть (минимальный) пре-процессор

 

 

А что такое пре-процессор :mellow: и зачем он нужен?

Share this post


Link to post
Share on other sites
А что такое пре-процессор  :mellow: и зачем он нужен?

 

Идея пошла от компиляторов программ. Наверное "С".

 

пре-процессор обрабатывает #include, #ifdef etc.

Соответственно на Верилоге есть 'include etc.

 

Например у меня есть код который надо включать в несколько файлов. Или в один, но чтобы не мешался. Скажем определения состояний state machine.

Пишем его в отдельный файл и включаем с помощью 'include.

 

Или использовать 'ifdef для разнух вариантов одного устройства.

Принципиально это ничего не меняет, но создает удобство в работе.

Share this post


Link to post
Share on other sites

Все, что вы перечислили реализуется в пакетах на vhdl. Я считаю, что сравнивать на наличие препроцессора не правильно, т.к. в verilog он явно выражен, а в vhdl неявно присутствует.

Share this post


Link to post
Share on other sites
Как раз, Verilog ближе к Паскалю (См. пример), а VHDL - почти чистый синтаксис Modula. Что касается C++, в языках проектирования логики ничего близкого не встречал.

 

Вроде бы, VHDL с ADA копировали. Впрочем, как неспециалист по ADA уверенно утверждать не буду.

Share this post


Link to post
Share on other sites

Если пользуетесь связкой Xilinx ISE + ModelSim , и запускаете моделсим из ISE, то лучше пользоваться Verilog, т.к. есть приятная возможность вытащить в окно просмотра промежуточные сигналы через оператор разрешения области видимости (.), при этом не корёжится исследуемый код устройства. Огромный плюс, Verilog - это многострочные комментарии, операторы препроцессора, компактность кода. Недостаток - отсутствие оператора generate в старых версиях продукта (в стандарте Verilog 2001 уже появился, как и либеральная политика в области помещения сигналов в список чувствительности). Большой минус Verilog - невозможность пользоваться одновременно транспортными и инерционными задержками. В общем я перешел с VHDL на Verilog.

Share this post


Link to post
Share on other sites
Verilog или VHDL?

Мне приходится делать много относительно маленьких проектов, и я использую MAXII+plus. Так вот Verilog в нём имеет свои особенности, а самое главное на некоторые синтаксические ошибки MAX реагирует весьма странно.  Его сообщение об ошибке ни о чём не говорит. И мне приходилось искать ошибку комментируя фрагменты исходника. Мне кажется что с VHDL такого не будет.

 

возможно, офф

но...

 

я писал раньше на VHDL в MAX PLUS'е и тоже отметил некоторую странность его сообщений на ошибки. Так что переходить на новый язык для решения этой проблемы, имхо, смысла нет. Гораздо проще ... перейти на Quartus - тут вроде как с этим получше (по крайней мере для VHDL)

Share this post


Link to post
Share on other sites

Один голос в пользу Verilog: не нужно описывать одно и то же ТРИ(!!!) раза, как на VHDL.

Share this post


Link to post
Share on other sites

Хоть и поздно, но выскажусь, по мне нет понятия лучше, это все субъективно, но я остановился на Verilog (хотя и VHDL мне не чужд) и вот почему: он в раз .......надцать :) :) :) проще для понимания в изучении, и по краткости он превосходит VHDL с его бесконечными entity..., плюс никаких заморочек с преобразованиями типов, они встроены в компилятор в отличии от билиотек в VHDL, что бы тут не говорили он близок к С, а не к Паскалю и прочему... Реально для освоения (начала) понадобилась 1 неделя, потом написал на нем проект и более с ним не расстаюсь, чего и Вам желаю, по мне так прелесть а не язык (есть пправда места когда с грустью вспоминаешь о VHDL, но это бывает очень редко). Опять же повторюсь это лишь мое субъективное мнение.

Share this post


Link to post
Share on other sites
AHDL более эффективен для PLD с малой емкостью:

семейства 7000, 3000.

По поводу эффективности: эффективнее в написании или компиляции в железо? Вопрос для меня не праздный - надо срочно сделать проект на 3256 а ресурсов там маловато.

А без учет этого соображения выбрал бы VHDL или Verilog.

Тут правда тоже есть соображения: если Verilog нет в Nexar 2004 , то, увы, с ним тоеж придется расстаться. Уже Nanoboard заказали...

Share this post


Link to post
Share on other sites

О различиях языков проектировыания - то, что видно с первого взгляда.

1. Язык AHDL является прекрасным, хорошо продуманным средством синтеза ПЛИС ф.Altera - лидера производства ПЛИС и САПРа к ним. Но в этом и его беда (а вернее ваша):

а) вы "привязываетесь" к одному производителю;

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

2. VHDL или Verilog. Оба языка создавались для моделирования; Verilog - для моделирования электронных (цифровых) схем, а VHDL - для моделирования систем вообще. Сейчас эти языки используются и для синтеза ПЛИС и для симуляции.

Код, написанный на VHDL, кажется загромождённым и длинным; на коротких модулях он длинее кода на Verilog раза так в 2. "А зачем писать много модулей?",- спросите вы. Для улучшения читаемости кода. Наивно было бы полагать, что модулем оформляется лишь тот кусок кода, который предполагается использовать повторно. Важнейший принцип модульного программирования гласит: модуль должен ПРЯТАТЬ информацию о том, КАК он делает и ПОКАЗЫВАТЬ ЧТО он делает. Не стоит скупиться на модули и накладные расходы языка здесь у VHDL больше. Читаемость кода очень важна - её значение просто трудно переоценить.

VHDL более распостранён и при переносе проекта на другую технологию (из ПЛИС в БМК) вас могут попросить представить проект именно на нём.

В заключение. Если вы верите в то, что будете жить в мрачные времена, когда автоматы начнут создавать себе подобных, то выбирайте VHDL. (шутка).

Share this post


Link to post
Share on other sites

Аж прослезился, до чего правильно сказал ! :)

Share this post


Link to post
Share on other sites
Вот что не надо учить это AHDL. По моему это тотже графический редактор только буквами.

 

:cranky:

 

А что ж такого плохого в графическом редакторе только буквами, если как тут уже было сказано (и с чем я полностью и категорично согласен)

 

... в конечном итоге все равно получается схема электрическая. Только рисуещь ее не ты, а синтезатор. А синтезатору ты говоришь как рисовать. Как объяснишь - так и нарисует....

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