Jump to content

    

тема для Aprox и любителей AHDL

...И в этом разе AHDL просто младенец в сравнении с графическим редактором квартуса...

Не согласен. Это - одно и то же. Просто в AHDL описано словами то, что нарисовано на схеме в графическом редакторе. Один в один.

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
Напомню суть вопроса: уважаемый Aprox необоснованно утверждает что AHDL заткнет за пояс VHDL/V/SV вместе взятые.

Это вы придумали. На самом деле мысль звучала сильно иначе- написанное на AHDL для альтеровских кристаллов даст более быстродействующую схему разводки нежели VHDL/V потому, что AHDL заточен под особенности архитектуры Altera, а VHDL/V - нет. Про альтеровский SV я ничего не говорил, но подозреваю, что это то же самое, что и AHDL с точностью до обозначений. Поэтому и сравнивать их не имеет смысла.

Мне предоставили право первого укола. Итак первый раунд: 8b10b кодер. Мой первый укол : эталонная, референсная модель 8b10b кодера, без какой либо оптимизации. Написана в лоб, на основе информации из википедии (В отличии от корки на опенкоресах, которая сделана на основе документа IBM) и оттестирована в сравнении с альтеровской коркой. Интерфейсы взяты от нее же, единственное отличие, в моей модели не работает выход kerr. На всё написание затратил где то 30 минут времени и на отладку столько же. Хотя с самим алгоритмом разбирался несколько дольше, в виду одного темного места в вики %)
Вы поступаете нечестно. А честно было бы так- берете на опенкорах VHDL модуль 8b10b кодер и без всякой переделки, не вникая даже в суть алгоритма, пропускаете через Quartus для самого малого из циклонов-III градации C8. А потом пытаетесь узнать быстродействие полученной разводки. Честным также можно будет признать, если вы поуправляете fitter c assignments, но ни в коем случае никаких улучшений и изменений в текст чужого модуля на VHDL.

Share this post


Link to post
Share on other sites
...Про альтеровский SV я ничего не говорил, но подозреваю, что это то же самое, что и AHDL с точностью до обозначений...

 

Приехали...

 

...Вы поступаете нечестно. А честно было бы так- берете на опенкорах VHDL модуль 8b10b кодер и без всякой переделки, не вникая даже в суть алгоритма, пропускаете через Quartus для самого малого из циклонов-III градации C8. А потом пытаетесь узнать быстродействие полученной разводки. Честным также можно будет признать, если вы поуправляете fitter c assignments, но ни в коем случае никаких улучшений и изменений в текст чужого модуля на VHDL.

 

И с чего, вдруг, это будет честно?

 

Вы взяли чужой модуль на VHDL, он Вас не устроил, Вы написали свой модуль на AHDL, он Вас устроил, и Вы теперь делаете вывод про "написанное на AHDL для альтеровских кристаллов даст более быстродействующую схему разводки нежели VHDL/V потому, что AHDL заточен под особенности архитектуры Altera, а VHDL/V - нет".

 

А обратная ситуация Вас утроит?

 

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

Share this post


Link to post
Share on other sites
Это вы придумали. На самом деле мысль звучала сильно иначе- написанное на AHDL для альтеровских кристаллов даст более быстродействующую схему разводки нежели VHDL/V потому, что AHDL заточен под особенности архитектуры Altera, а VHDL/V - нет. Про альтеровский SV я ничего не говорил, но подозреваю, что это то же самое, что и AHDL с точностью до обозначений.
Интересный способ с Вашей стороны выкрутится. Типа я говорил про VHDL/Verilog, а про SV - я ничего не говорил.

Не выдет, если для Вас эти принципиально, приведённый код легко переделывается в Verilog, там от SV мало что используется.

А честно было бы так- берете на опенкорах VHDL модуль 8b10b кодер и без всякой переделки, не вникая даже в суть алгоритма, пропускаете через Quartus для самого малого из циклонов-III градации C8. А потом пытаетесь узнать быстродействие полученной разводки. Честным также можно будет признать, если вы поуправляете fitter c assignments, но ни в коем случае никаких улучшений и изменений в текст чужого модуля на VHDL.
В таком случае давайте так: пишу код на AHDL, выкладываю его, а Вы потом "пытаетесь узнать быстродействие полученной разводки. Честным также можно будет признать, если вы поуправляете fitter c assignments, но ни в коем случае никаких улучшений и изменений в текст чужого модуля ".

Согласны?

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
Про альтеровский SV я ничего не говорил, но подозреваю, что это то же самое, что и AHDL с точностью до обозначений.

SV == SystemVerilog, уже одна эта фраза говорит о том, что вы код даже не смотрели. Допускаю что вам было лень смотреть архив, но вы даже сам файл модуля не смотрели. О каком споре тогда вообще идет речь, если вы не владеете темой?

 

А честно было бы так- берете на опенкорах VHDL модуль 8b10b кодер и без всякой переделки, не вникая даже в суть алгоритма, пропускаете через Quartus для самого малого из циклонов-III градации C8. А потом пытаетесь узнать быстродействие полученной разводки. Честным также можно будет признать, если вы поуправляете fitter c assignments, но ни в коем случае никаких улучшений и изменений в текст чужого модуля на VHDL.

Нет позвольте. Я написал модуль, не используя никаких фишечек оптимизации под целевую фпга. При этом модуль максимально переносим, читаем и всё нутро алгоритма на виду. Я собрал его с дефольтными настройками (еще одно подтверждение что вы не смотрели проект) и получил результат. Ваш код кодера 8b10b в студию!!!

 

ЗЫ. Но даже без кода, вы писали что получили 150МГц на третьем сыклоне, у меня на нем же 220МГц. При этом у вас пацанский AHDL, а у меня ламерский SV. Давайте не будем вспоминать о прокладках между креслом и клавой......... :biggrin:

 

ЗЗЫ. Уважаемые форумчане, давайте спорить о языках в соответствующих темах, в этой теме сравниваются модули на AHDL/VHDL/Verilog/SystemVerilog и сообщество их оценивает. Давайте не будем мусорить %)

Share this post


Link to post
Share on other sites
если не секрет почему?

 

Он не умеет работать в коллективе. Он о нем не думает.

После него - хоть потоп.

 

Синдром начальника- паранойя.

 

Начальники тоже читать умеют

/////

И тем не менее имеем факт прогона на симуляторе. Правда, следует признаться, не совсем "равные прочие". Когда я переписывал на AHDL, то отказался от работы по обеим фронтам clk и "развязал" длинные логические цепи дополнительными регистрами.

/////

 

P.S. При установке последних версий квартуса выскакивает надпись о скорой смерти встроенного симулятора.

Share this post


Link to post
Share on other sites
SV == SystemVerilog, уже одна эта фраза говорит о том, что вы код даже не смотрели.

Да, не смотрел. Потому, что вы написали модуль кодера заново, воспользовавшись только алгоритмом преобразования, проигнорировав представленный текст VHDL опенкоров. А такое мы все могем, порой даже лучше.

Нет позвольте. Я написал модуль, не используя никаких фишечек оптимизации под целевую фпга. При этом модуль максимально переносим, читаем и всё нутро алгоритма на виду. Я собрал его с дефольтными настройками (еще одно подтверждение что вы не смотрели проект) и получил результат.
И что, вы повторили выдачу результата кодирования последовательно по двум фронтам одного clk как в опенкорах? Как сумели в этом случае посчитать производительность схемы? По-моему, из-за этого ваши результаты времянки нужно смело уменьшать вдвое. Потом, я читал- вы поставили регистры на входы и выходы. Т.е. считали времянку по внутренним трассам. Попробуйте оценить непосредственно на пинах. Если не ставить регистров, а именно так и хотелось бы для чистоты сравнения, там такая разбежка по фронтам получается, что рухнет вся идея. Поэтому ваши слова, что не производили никакой оптимизации, вызывают мало доверия.

 

 

P.S. При установке последних версий квартуса выскакивает надпись о скорой смерти встроенного симулятора.
Ниче. На наш век хватит и версий и симуляторов.

Share this post


Link to post
Share on other sites
Да, не смотрел. Потому, что вы написали модуль кодера заново, воспользовавшись только алгоритмом преобразования, проигнорировав представленный текст VHDL опенкоров.

Ну, так правильно - des00 написал реализацию алгоритма на SV. Вам предлагается написать свою реализацию этого же самого алгоритма на AHDL. Ведь это вы же утвержаете, что AHDL дает многократный прирост эффективности. Вот и докажите это на примере при прочих равных.

 

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

 

А такое мы все могем, порой даже лучше.

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

Share this post


Link to post
Share on other sites
Ну, так правильно - des00 написал реализацию алгоритма на SV. Вам предлагается написать свою реализацию этого же самого алгоритма на AHDL. Ведь это вы же утвержаете, что AHDL дает многократный прирост эффективности. Вот и докажите это на примере при прочих равных.
Постоянно происходит подмена моего тезиса. Повторяю- программы написанные на академических VHDL или Verilog дают производительность схем как правило хуже, чем тот же самый алгоритм, оформленный на языке AHDL для кристаллов от Altera. Что же касается SystemVerilog, который заточен Альтерой под свои кристаллы теми же приемами использования примитивов, что и AHDL, то тут и сравнивать нечего- это одно и то же в плане синтеза. Совершенно напрасно des00 рвется доказывать очевидные вещи.
Вы же предлагаете сравнивать свою реализацию с непонятно какой.
Я всего лишь предлагаю des00 проверить мой тезис, что писать на академических языках, не заточенных под конкретный кристалл - это всегда проигрыш в быстродействии схемы. Вот, пусть и попробует взять из опенкоров какую-нибудь простенькую корку на VHDL и, ничего в ней не переписывая и не улучшая, как она есть, прогнать на Quartus для выяснения реального быстродействия в железе.

Share this post


Link to post
Share on other sites

Предлагаю засчитать Aprox слив по полной программе, т.к. корки на AHDL мы так и не дождались (и видимо не дождемся), а дождались исключительно флуд, от которого у меня лично уже колики - не могу больше так смеяться :)

Share this post


Link to post
Share on other sites
Что же касается SystemVerilog, который заточен Альтерой под свои кристаллы теми же приемами использования примитивов, что и 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