Перейти к содержанию
    

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

 

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

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Да

 

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

verilog ~ с

vhdl ~ ada (modula, pascal)

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Да

 

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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% от работы, остальное это отладка и разрабока концепции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...

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

 

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

 

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

 

 

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

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

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

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

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

 

 

...

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

...

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...