реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Что лучше под Altera VHDL vs AHDL
Digi
сообщение Aug 24 2004, 15:02
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 20-08-04
Пользователь №: 529



Что лучше под Altera VHDL или AHDL ? И чем ?
Go to the top of the page
 
+Quote Post
Esquire
сообщение Aug 24 2004, 16:15
Сообщение #2


Эсквайр
*****

Группа: Почетный участник
Сообщений: 1 013
Регистрация: 19-06-04
Из: • ℮lectronﭑχ •
Пользователь №: 62



Лучше всего ПРЯМЫЕ РУКИ. Я серьезно, выяснено на личном опыте.

Знаю людей, пишущих на AHDL, Verilog, VHDL (сам) и рисующих в графике. Конечный результат в итоге зависит от опыта проектировщика как с точки зрения схемотехники, так и с точки зрения правильного применения конструкций языка. При использовании языков высокого уровня (VHDL, Verilog) следует придерживаться рекомендациям Altera для получения синтезабельных схем (описано в мануале по Quartus, "Design Guidelines / Coding Styles"). Существенно сильного различия при использовании разных языков не вижу: грамотно описанная схема дает примерно одинаковые результаты синтеза (особенно хорошо просматривается при синтезе "кирпичиков": триггеров, счетчиков, регистров - а из них в основном все цифровые синхронные схемы и состоят).

Хотя у Altera HDL есть один существенный недостаток: годится только под ПЛИС Altera, что ограничивает потенциальную ценность проектировщика с точки зрения работодателя :angry:


--------------------
Кто ищет, тот всегда найдет
Go to the top of the page
 
+Quote Post
LeonY
сообщение Aug 24 2004, 18:33
Сообщение #3


Знающий
****

Группа: Админы
Сообщений: 689
Регистрация: 24-06-04
Из: South Africa
Пользователь №: 164



А что лучше под соленые огурчики Водка vs Сладкий Чай


--------------------
"В мире есть две бесконечные вещи: Вселенная и человеческая глупость. За Вселенную, впрочем, поручиться не могу". (С)

А. Эйнштейн.
Go to the top of the page
 
+Quote Post
grumbler
сообщение Aug 25 2004, 00:09
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 135
Регистрация: 10-07-04
Из: Зеленоград
Пользователь №: 310



если ALTERA в серьёз и надолго - AHDL. Язык сочетает возможности языка высокого и низкого уровня. Цена- не переносимость проекта без существенной переработки. Особенно приятен AHDL для маленьких проектов на CPLD.
Go to the top of the page
 
+Quote Post
cms
сообщение Aug 26 2004, 13:24
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266



Давно пишу на VHDL и также давно мечтаю снова вернуться на AHDL или дождаться SysytemC.

VHDL - громоздкий и неудобный язык. Если за плечами только схематик, то его неудобство может и не так бросается в глаза, но после C и AHDL кропаешь на VHDL непрерывно матерясь.

В VHDL нет блочных комментариев!
В VHDL нет include-файлов! В архитектуре верхнего блока приходиться тупо копировать все интерфейсы пользуемых компонентов.
В VHDL нет DEFINEов!
В VHDL чтобы описать dffe надо громоздить конструкцию вида

process(clk, rstn)
begin
if (rstn='0') then
d_out <='0';
elsif rising_edge(clk) then
if ena='1' then
d_out <= d_in;
end if;
end if;
end process;

Нет четкого деления на синтезируемое и не синтезируемое подмножество - в результате первые пол-года обучения непрерывно обламываешся с очевидными конструкциями... Короче, продолжать можно долго.

P.S. На счет ограниченности AHDL одной Альтерой - у Хilinx есть утилитка ahdl2vhdl, с помощью которой SM из конфы на telesys.ru умудряется на AHDL писать даже ASICи.
Go to the top of the page
 
+Quote Post
jeka
сообщение Aug 26 2004, 23:25
Сообщение #6


Administrator
***

Группа: Свой
Сообщений: 400
Регистрация: 10-05-04
Пользователь №: 1



Дык можно же использовать препроцессор. И будет возможность и инклюды и определения и макросы и комментарии и все что душе угодно создавать. Например, M4. Он умеет все что хочешь, есть даже свой язык программирования препроцессора.
Go to the top of the page
 
+Quote Post
ASN
сообщение Aug 27 2004, 05:47
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



cms
Ну зра Вы так на VHDL.
1. - Блочные коментарии - вообще-то, IMHO, бяка. Они не нужны. В редакторе ActiveHDL есть волшебная комбинация Ctrl-K, которая закомментирует весь блок. Подобное есть и в других редакторах.
2. - Много сред поддерживает автоматическую генерацию component из рабочей библиотеки, не надо вручную их забивать ! Бр-р-р.
3. - Define в большинстве случаев, IMHO, заменяется type и constant в пакете.
4. - Не надо делать на VHDL dffe так. Проще создать компонент и instant его. А все сигналы сгруппировать в record и передовать его в список чувствительности процесса, очень удобно. В Verilog 2001 уже ввели нечто подобное (типа символа * в always).
А вот с тем, что не плохо бы обрезать жирок с длинных служебных слов, и описателей процедур я согласен. То что, можно выразить проще в VHDL излишне многословно.
Кстати, кто-нибудь работал с foreign или VHPI? Нужно ввести данные с одного из аппаратных интерфейсов (типа драйвера UARTа). Или кто подскажет линк на хороший учебник по PLI ?
Go to the top of the page
 
+Quote Post
cms
сообщение Aug 27 2004, 09:19
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 6-07-04
Пользователь №: 266



To jeka & ASN:

Господа, не путайте язык и доп. инструменты, которые приходится изобретать, чтобы выправить калечности этого языка. Все что Вы описали - это костыли, которые ВЫНУЖДЕННО приходится применять. Я говорил о деффектах ЯЗЫКА - и вы все их подтвердили, указав на то, что они действительно важны и показали, как люди извращаются, надстраивая недостающую функиональность.

Перефразируя jeka: хочешь нормально работать на VHDL - пиши свой макроязык, собирай инструмент для его компиляции и тогда наступит тебе счастье. Вывод: в первичном виде VHDL для жизни слабо пригоден. Что и требовалось доказать.

ASN:
1. Почему блочные коментарии - бяка? И что делать если я не пользую ActiveHDL?
2. Компоненты-то они генерят, но если я исправляю интерфейс компоненты, никто не станет мне переправлять автоматически её декларации по всем проектам. И вместо того, чтобы исправить один раз в инклюднике, я должен ползать по всем архитектурам, где она декларируется.
3. А вот нефига. Покажите-ка как type и constant можно сделать, например, такую вещь:

ENTITY e
PORT(
clk, rstn : in std_logic;
data : in std_logic_vector(..);
q : out std_logic_vector(..);

#ifdef DEBUG then

debug_out : out std_logic;

#end
);

4. Насчет dffe: мы с вами читали разные книжки. В моих книжках радостно сообщалось, что VHDL - высокоуровневый язык, там все так абстрактно и красиво, синтезатор все понимает и облегчает жизнь. А то что предлагаете вы - это тот же схематик или AHDL - берется библиотечный компонент и ставиться вручную. Где счастье?

И на последок - меня убивает нерегулярность и непонятность использования разделителей и синтаксических конструкций - в одном случае это ; в другом , в третьем - вообще ничего. Здесь end component, здесь end name...
Go to the top of the page
 
+Quote Post
ASN
сообщение Aug 27 2004, 10:14
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



cms
1.Вот ведь, что интересно, в ассемблере нет блочных комментариев, и ничего - используют люди. Да и в чистом С их тоже не было (года,IMHO, едак до 99). Это уж Вы, уважаемые, путаете язык и средство разработки. Блочные комментарии позволяют быстро отключить что-то на период отладки. В release они не нужны.
2. Если Вы меняете интерфейс, уж будьте добры, исправить всё ручками потому, что изменяете "условия контракта" с модулем, которые делает , возможно, вообще другой человек. И на это надо обратить внимание.
3. Для кода внутри ENTITY использую что-то вроде этого:
constant DEBUG : boolean:=TRUE;
signal a,b : std_logic;
...
DEB_GEN_XX:if DEBUG generate
a<=b;
end generate;
А для изменения интерфейса добавляю(удаляю) сигналы в record'е:
type In_ADC_type is record
Clk : std_logic;
Data: std_logic_vector(..);
end record;
type Out_ADC_type is record
Data: std_logic_vector(..);
end record;
entity is
port(
In_Sig: in In_ADC_type;
Out_Sig: out Our_ADC_Type);
end entity;
А там крути-верти что хочешь.
4. VHDL поддерживает разные стили. Этим он и силен. Хочешь пиши в поведенческом и полагайся на синтезатор, хочешь забивай детальную структуру. Я, например, так и делаю. Сначала всё в record, потом, если не влазаю - оптимизирую вручную через instant.
Go to the top of the page
 
+Quote Post
alt
сообщение Sep 2 2004, 14:00
Сообщение #10





Группа: Свой
Сообщений: 14
Регистрация: 23-07-04
Пользователь №: 360



Начинал со схематики, потом постепенно начал уходить на VHDL и Verilog.
За счет этого съэкономил кучу времени при разработке контроллера LCD.
Потом встала задача сделать мультиплексор для ИКМ и столкнулся с весьма ограниченной реализацией компилятора VHDL в MAX, перешел в Qvartus, но и там были ограниченния по работе с векторами.
Пришлось уйти в AHDL там все получилось.
Так, что если работать в средах разработки от Alter-ы, то в случае работы с массивами, матрицами удобнее использовать AHDL, программа получается компактной и читаемой.
Go to the top of the page
 
+Quote Post
berberber
сообщение Feb 4 2005, 10:58
Сообщение #11


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 2-02-05
Пользователь №: 2 385



Цитата(Digi @ Aug 24 2004, 18:02)
Что лучше под Altera VHDL или AHDL ? И чем ?
*


AHDL намного проще и удобнее, если работать только с Alterой, то VHDL и осваивать бы не стал. Кстати схемный ввод там по началу тоже транслируется в AHDL.
Go to the top of the page
 
+Quote Post
vovic
сообщение Feb 4 2005, 18:27
Сообщение #12


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 7-08-04
Пользователь №: 464



Цитата
Лучше всего ПРЯМЫЕ РУКИ. Я серьезно, выяснено на личном опыте.
a14.gif
А еще свежая голова. А так - Altera все больше тянется к Verilog и VHDL - примеры на сайте все больше на них (или в графике - нагляднее для начинающих).
Go to the top of the page
 
+Quote Post
rustelcom
сообщение Feb 18 2005, 10:38
Сообщение #13


Участник
*

Группа: Свой
Сообщений: 29
Регистрация: 19-01-05
Пользователь №: 2 052



Цитата(alt @ Sep 2 2004, 21:00)
Начинал со схематики, потом постепенно начал уходить на VHDL и Verilog.
За счет этого съэкономил кучу времени при разработке контроллера LCD.
...
*


Начинал с Abel3/4 - текстоый ввод, затем Max+. Использование простого и компактного языка делает разработку быстрой и легко модифицируемой. +Проверка первичная простая - путём перепрочтения коротких программ ! smile.gif)) Тч VHDL лет восемь (непрерывно работая с AHDL) рассматриваю только как голубую познавательную мечту, реально не написав ни строчки.
Плюс больше молюсь ресурсам/стоимости плис и качеству компиляции ( разводка сильно сказывается при увеличении частоты и количестве ячеек ). А язык готов использовать любой...
Go to the top of the page
 
+Quote Post
cdg
сообщение Feb 18 2005, 11:08
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 8-09-04
Из: Таганрог
Пользователь №: 617



Полностью согласен на счет "ПРЯМЫХ РУК". Разберитесь сначала чего Вы хотите достичь - познать VHDL, создать за короткое время реально боль менее оптимальный проект, еще что-то? От ответа на этот вопрос зависит правильность сделанного выбора. Позволю лишь заметить из личного опыта - если хочется сделать оптимально по объему схему в кристале лучше использовать родные Altera Megafunctions - наиболее простой и доступный способ, лучше чем у них уложить в кристал базовый узел врят-ли удастя (тут понятно, почему схематик forever). Я начинал стандартно - схематик, AHDL, VHDL(очень недолго), Verilog. Схематиком пользуюсь как и многие для создания верхнего уровня проекта, imho наиболее просто, нагяладно и удобно. Да для AHDL в есть галочка - использовать LPM для AHDL опреаторов, реально неплохо работает.
Go to the top of the page
 
+Quote Post
vovic
сообщение Feb 18 2005, 19:15
Сообщение #15


Участник
*

Группа: Свой
Сообщений: 46
Регистрация: 7-08-04
Пользователь №: 464



Цитата
Схематиком пользуюсь как и многие для создания верхнего уровня проекта, imho наиболее просто, нагяладно и удобно.

Полностью поддерживаю.

Цитата
если хочется сделать оптимально по объему схему в кристале лучше использовать родные Altera Megafunctions - наиболее простой и доступный способ, лучше чем у них уложить в кристал базовый узел врят-ли удастя

LPM-ки можно использовать из любого языка(AHDL, VHDL, Verilog), правда из VHDL вызывать их несколько более геморройно (IMHO). Кстати, LPM мегафункции пока еще описаны на AHDL, а вот новые Мегакорки от Altera - уже на VHDL (раньше были на AHDL) - тенденция однако.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 17:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01459 секунд с 7
ELECTRONIX ©2004-2016