Jump to content

    

xHDL.... А зачем оно надо? Растолкуйте, плз.

А компилятор, работая с HDL-исходником вообще пытается сгенерить цифровую схему, хотябы для репорта? Или же это не надо ни компилеру, ни HDL-программисту?
Да, пытается. Всегда желательно знать, что за схема имеется ввиду при описании на HDL. И проверять корректность описания просматривая сгенеренную RTL Schematic. Особенно на первых порах освоения языка и при поиске глюков.

Share this post


Link to post
Share on other sites
Зачем тогда нужет xHDL, если и без него можно успешно решать задачи. Не бейте сильно, просто новичек в данной теме, ... не понимаю :)

 

Другой уровень абстракции. Можно использовать описательный подход.

Например, автоматы Мура,Мили... Я так думаю сделать и заставить правильно работать

более-менее сложный автомат при помощи схемы - это подвиг.

Share this post


Link to post
Share on other sites

Ответов уже довольно много, но я решил напомнить ещё об одном важном аспекте - МОДЕЛИРОВАНИЕ.

Если Вы пишете на С, то Вы знаете, что такое дебагер. Очень трудно отладить большую схему пользуясь только WaveForm Edit'ором и тогда приходится ставить ModelSim - очень мощный инструмент для отладки, а он понимает только HDL.

 

Хотя , я знаю человека, который сделал отличный PCI интерфейс, да и много чего другого, пользуясь сиключительно схематиком.

Share this post


Link to post
Share on other sites

Большое спасибо за ответы.

Еще одно непонятно.

За что сразу браться - Verylog или VHDL? Какое их глобальное отличие?

Подойдет ли для полноценной работы с Verylog/VHDL штатный компилер/IDE, например Макс-плюс или Квартус?

 

Ответов уже довольно много, но я решил напомнить ещё об одном важном аспекте - МОДЕЛИРОВАНИЕ.

Если Вы пишете на С, то Вы знаете, что такое дебагер. Очень трудно отладить большую схему пользуясь только WaveForm Edit'ором и тогда приходится ставить ModelSim - очень мощный инструмент для отладки, а он понимает только HDL.

 

Хотя , я знаю человека, который сделал отличный PCI интерфейс, да и много чего другого, пользуясь сиключительно схематиком.

 

Нельзя ли еще пару слов по ModelSim.... Это так называется дебагер для ПЛИС?

Share this post


Link to post
Share on other sites

если мне память не изменяет, в топике тем по фпга есть FAQ по плисам и перечень книг по ним же,

там есть книги на русском языке, прочитайте и станет все понятно

Share this post


Link to post
Share on other sites
За что сразу браться - Verylog или VHDL?

 

Дело вкуса, но Verylog,вроде бы, считается проще для освоения.

 

Подойдет ли для полноценной работы с Verylog/VHDL штатный компилер/IDE, например Макс-плюс или Квартус?

Да

 

 

Нельзя ли еще пару слов по ModelSim.... Это так называется дебагер для ПЛИС?

 

Да, что-то вроде того. Описываете, скажем, в Квартусе на HDL накой-нибудь элемент (entety) со своими входными(in) и выходными(out) портами. далее создаёте так называемый TestBench файл, в котором на входные порты своего элемента подаёте желаемые тестовые воздействия, запускаете прямо из квартуса ModelSim и смотрите, что будет на выходных портах. При желании можно отследить значение сигналов внутри схемы. Если всё прошло хорошо, возвращаетесь в Квартус.

Share this post


Link to post
Share on other sites
Еще одно непонятно.

За что сразу браться - Verylog или VHDL? Какое их глобальное отличие?

Начинающим - однозначно VHDL. Verilog потом сам приложится. Поверьте человеку, знающему оба языка.

VHDL - более строгий язык. Затачивает мозги лучше. Ошибок в проект с ним проскакивает меньше, поэтому проекты начинают работать быстрее. Это все очень важно для начинающих.

Share this post


Link to post
Share on other sites

Для программистов понятно такое сравнение:

verilog ~ с

vhdl ~ ada (modula, pascal)

Для инженера, идущего от схематики, я бы рекомендовал verilog - мало слов, много смысла - успеваешь описать схему прежде чем ее забудешь :) vhdl требует написать в 3-4 раза больше текста - но его изобретатели хвастаются, что он самодокументирующийся - коментарии не нужны. Возможностей в vhdl для написания тестбенчей и параметризируемых модулей больше, если сравнивать с verilog'95. verilog-2001 и sysemverilog по возможностям равны vhdl, но существенно компактнее.

Что рекомендовать программисту, переучивающемуся на хдл - не знаю, м.б. и вправду vhdl.

Share this post


Link to post
Share on other sites

За что сразу браться - Verylog или VHDL?

 

Дело вкуса, но Verylog,вроде бы, считается проще для освоения.

 

Подойдет ли для полноценной работы с Verylog/VHDL штатный компилер/IDE, например Макс-плюс или Квартус?

Да

 

 

Нельзя ли еще пару слов по ModelSim.... Это так называется дебагер для ПЛИС?

 

Да, что-то вроде того. Описываете, скажем, в Квартусе на HDL накой-нибудь элемент (entety) со своими входными(in) и выходными(out) портами. далее создаёте так называемый TestBench файл, в котором на входные порты своего элемента подаёте желаемые тестовые воздействия, запускаете прямо из квартуса ModelSim и смотрите, что будет на выходных портах. При желании можно отследить значение сигналов внутри схемы. Если всё прошло хорошо, возвращаетесь в Квартус.

 

Ну вот как раз Макс-плюс юзать не стоит явно. Очень уж убог. Когда то сам начинал с него но быстро переехал.

Share this post


Link to post
Share on other sites
Ну вот как раз Макс-плюс юзать не стоит явно. Очень уж убог. Когда

 

Особенно его "широчайшие" возможности моделирования :)

Share this post


Link to post
Share on other sites
Ну вот как раз Макс-плюс юзать не стоит явно. Очень уж убог. Когда

 

Особенно его "широчайшие" возможности моделирования :)

 

Дело не в моделировании. Там и синтезом довольно фигово.

Share this post


Link to post
Share on other sites
Там и синтезом довольно фигово.

Это мягко говоря! Особенно с xHDL :).

Share this post


Link to post
Share on other sites
мало слов, много смысла - успеваешь описать схему прежде чем ее забудешь :)

 

хмм ну я бы не был бы столь категоричен :)

 

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

 

Ну с чего вы взяли, что именно в 3-4 раза больше текста ? Хотя конечно если мы будем считать кол-во букв в коде, то может быть, а если кол-во строк то всего раза в 1.5 максимум.

 

реально большое кол-во текста связанно всего с 4 мя составляющими:

1. Необходимость декларации компонентов (эта необходимость отсуствует начиная с vhdl-93, но почему то большинство обучающего материала (!!!) словно писалось (а скорее списывалось) с книг до принятия vhdl-93)

2. Разделение секций объекта и архитектуры объекта (кому как, а по мне это все же достоинство, чем не достаток)

3. Название типов данных. За счет типизации "среднее" имя типа составляет ~6-8 букв, тогда как в верилоге в 2 раза меньше (проблема решаеться использованием хорошого текстового редактора, я в последнее время для написания использую редактор от Aldec, а для итоговой проверки бесплатный CrimsonEditor(в альдеке не удобно работать с поиском символов)).

4. Приведение типов данных (трата 10-20 букв на написание функции приведения типа). (опять же решаеться выбором текстового редактора с автодополнением)

 

Все. что касаеться самодокументированности, так любой код можно сделать самодокументированным.

 

Что касеться VHDL то просто читая (именно читая, а не осознавая) ключевые слова VHDL можно понять, что же делает схема (относиться к behavior-rtl описанию).

 

Если задаться целью, то и на ВХДЛ можно писать практически (+10% ) такой же компактный код, что и на верилоге. Вот только думаю что размер коментов в нем будет больше :)

 

Возможностей в vhdl для написания тестбенчей и параметризируемых модулей больше, если сравнивать с verilog'95. verilog-2001 и sysemverilog по возможностям равны vhdl, но существенно компактнее. Что рекомендовать программисту, переучивающемуся на хдл - не знаю, м.б. и вправду vhdl.

 

тут все зависит от выбраной стратегии тестирования.

Если берем стратегию сравнения данных с эталонной моделью, то :

 

жесткий минус VHDL93 ( и плюс verilog) отсуствие функций индексировования файлов . Т.е. открытый файл - это фифо. В связи с этим возникают определенные трудности проверки пакетной обработки данных (обходиться если сгородить виртуальную память, в которую загружать данные) и чтения БИНАРНЫХ данных с размерностью отличной от 32 бит (обходиться использованием ASCII файлов).

Но вроде как (сам еще не проверял) эту проблему решили в VHDL-2002, по аносам VHDL-2005 там тоже эта проблема решена. (доки на 2002, 2005 читал по диагонали).

 

Ну а использование указателей, динамических массивов, pure, impure функций, процедур с контролем событий, аналогов С++ классов, делает VHDL удобным для симуляции.

 

Еще одна проблема VHDL 87, 93 это отсутствие доступа до сигнала по имени, как в Verilog.

Это осложняет написание тест-бенчей. В симуляторах обходиться через VHPI функции, но делает тестбенч симуляторо-зависимым :(.

 

Не помню решили ли эту проблему или нет.

 

 

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

И попробывать писать на обоих. Но скажу сразу 2=х входовые мультиплексоры вам больше понравиться пистать на верилоге :)

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

И потом выбрать свой язык.

 

ЗЫ. Всем, мой пост это не начало HolyWar. Просто хотелось раставить часть точек над Ё в следующих мифах:

ало слов, много смысла - успеваешь описать схему прежде чем ее забудешь :)

vhdl требует написать в 3-4 раза больше текста

 

PPS. По анализам FPGA Journal, написание кода это всего лишь 10-15% от работы, остальное это отладка и разрабока концепции.

Share this post


Link to post
Share on other sites

Большое спасибо за ответы и участие, уважаемые коллеги!

Теперь, благодаря вам, я начинаю ориентироваться что к чему и "что с чем едят".

 

если мне память не изменяет, в топике тем по фпга есть FAQ по плисам и перечень книг по ним же,

там есть книги на русском языке, прочитайте и станет все понятно

Да, конечно. Смотрел ФАКи, и ссылки на другие материалы, видел список книг. Не нашел был правда ответа на вопрос данной темы, поэтому и создал ее. Чтоб соориентироваться и немножко подразобраться перед тем как все начать изучать, читать книги. Спасибо.

Share this post


Link to post
Share on other sites
...

Нельзя ли еще пару слов по ModelSim.... Это так называется дебагер для ПЛИС?

 

Да, что-то вроде того. Описываете, скажем, в Квартусе на HDL накой-нибудь элемент (entety) со своими входными(in) и выходными(out) портами. далее создаёте так называемый TestBench файл, в котором на входные порты своего элемента подаёте желаемые тестовые воздействия, запускаете прямо из квартуса ModelSim и смотрите, что будет на выходных портах. При желании можно отследить значение сигналов внутри схемы. Если всё прошло хорошо, возвращаетесь в Квартус.

 

Не могли бы Вы уточнить, правильно ли я понял:

 

 

1. ModelSim - утилита, входящая в комплект Квартуса?

2. Созданный entity заливается в кристалл, а тестовые воздействия, определенные в TestBench-файле, подаются прямо на синтезированный модуль в кристалле?

3. Утилита ModelSim позволяет посмотреть реальный выход синтезированного модуля?

4. Какоу-нибудь дополнительное оборудование типа эмулятора/донжла и пр. надо иметь для работы с ModelSim'ом, или достаточно БайтБластераII?

5. ModelSim сам загружает entity в кристалл или требуется программный программатор, например Квартуса?

 

 

...

Ну а использование указателей, динамических массивов, pure, impure функций, процедур с контролем событий, аналогов С++ классов, делает VHDL удобным для симуляции.

...

 

Все Вами перечисленное (классы, динамические массивы и т.д.) используется для ввода проекта и синтезируется компилером?

Или же оно используется для целей тестирования?

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