des00 25 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Тема выделена в отдельную ветку отсюда . Напомню суть вопроса: уважаемый Aprox необоснованно утверждает что AHDL заткнет за пояс VHDL/V/SV вместе взятые. Для рассмотрения сего вопроса поступило предложение сравнить модули, с одинаковой функциональностью написанные на разных языках. Критерии сравнения : читаемость/краткость/параметризуемость/результат синтеза Мне предоставили право первого укола. Итак первый раунд: 8b10b кодер. Мой первый укол : эталонная, референсная модель 8b10b кодера, без какой либо оптимизации. Написана в лоб, на основе информации из википедии (В отличии от корки на опенкоресах, которая сделана на основе документа IBM) и оттестирована в сравнении с альтеровской коркой. Интерфейсы взяты от нее же, единственное отличие, в моей модели не работает выход kerr. На всё написание затратил где то 30 минут времени и на отладку столько же. Хотя с самим алгоритмом разбирался несколько дольше, в виду одного темного места в вики %) Результаты синтеза обертки с регистрами на входе/выходе Total logic elements : 155 Total combinational functions : 130 Dedicated logic registers : 38 Разводки Total logic elements : 144 / 5,136 ( 3 % ) Total combinational functions : 130 / 5,136 ( 3 % ) Dedicated logic registers : 38 / 5,136 ( < 1 % ) Времянки Info: Fmax Summary Info: Restricted Info: Fmax Fmax Clock Note Info: ============ ============ ========== ===================== Info: 139.59 MHz 139.59 MHz clk В аттаче файлы модуля и его обертки, алтеровская корка для моделирования + тестбенч сравнения с эталонной моделью, файлы квартусовского проекта. Чуть позже будет оптимизированная версия, пути оптимизации там на виду %) enc8b10b.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Мне предоставили право первого укола. Итак первый раунд: 8b10b кодер. Мой первый укол : эталонная, референсная модель 8b10b кодера, без какой либо оптимизации. Написана в лоб, на основе информации из википедии (В отличии от корки на опенкоресах, которая сделана на основе документа IBM)Нужна та статья, от IBM? А то валется на винте, позже закину на ftp, с ходу вроде нету на ftp. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба сравнить модули, с одинаковой функциональностью написанные на разных языках. Критерии сравнения : читаемость/краткость/параметризуемость/результат синтеза Модули, декодеры, критерии... Вы сначала два триггера сравните. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Модули, декодеры, критерии... Вы сначала два триггера сравните. Так кто Вам мешает? Сравните, выложите результаты на форум. Остальные почитают, подумают. Критиковать все могут... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Остальные почитают, подумают. Остальным было бы, как раз, более показательно иметь сравнение на основе триггеров, а не на основе навороченных модулей, объективность оценки которых неизвестно как установить. Я не критикую, я всего лишь заметил, что если обсуждение выностися на широкую публику, то пусть оно будет доступно широкой публике. Так истину быстрее можно найти имхо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Остальным было бы, как раз, более показательно иметь сравнение на основе триггеров, а не на основе навороченных модулей, объективность оценки которых неизвестно как установить. мне это не интересно, это уже не мой уровень %), хотите сравнивайте Я не критикую, я всего лишь заметил, что если обсуждение выностися на широкую публику, то пусть оно будет доступно широкой публике. Так истину быстрее можно найти имхо. на этом форуме много постов, в том числе моих, где разбираются особенности синтеза тех или иных конструкций. А вот и средне заоптималеный модуль, отличается от первого тем, что логика расчета RD сделана на таблицах, но таблица генерируется самим квартусом, на основе функции (мне лень было ручками считать). Результаты на том же враппере синтез Total logic elements : 142 Total combinational functions : 117 Dedicated logic registers : 38 разводка Total logic elements : 130 / 5,136 ( 3 % ) Total combinational functions : 117 / 5,136 ( 2 % ) Dedicated logic registers : 38 / 5,136 ( < 1 % ) времянка Info: Fmax Summary Info: Restricted Info: Fmax Fmax Clock Note Info: ============ ============ ========== ===================== Info: 216.22 MHz 216.22 MHz clk При этом прозрачность алгоритма на виду, всё понятно, откуда и куда. Жду публикации AHDL версии от Aprox %) Нужна та статья, от IBM? А то валется на винте, позже закину на ftp, с ходу вроде нету на ftp. Выкладывайте, пусть будет в коллекции %) UPD. Там есть еще два явных места для оптимизации, но отложу это на потом %) enc8b10b_1.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба Тема выделена в отдельную ветку отсюда . Напомню суть вопроса: уважаемый Aprox необоснованно утверждает что AHDL заткнет за пояс VHDL/V/SV вместе взятые. Для рассмотрения сего вопроса поступило предложение сравнить модули, с одинаковой функциональностью написанные на разных языках. Критерии сравнения : читаемость/краткость/параметризуемость/результат синтеза Оооо, холивар назревает. Битву поддерживаю. 1. Прошу убрать из первого поста слово "необоснованно", до тех пор пока не доказано что оно не обоснованно (презумпция невиновности). 2. Прошу озвучить целевую схему. Предлагаю маленький, но быстрый циклон, чтобы клоковое дерево не являлось ограничителем. Можно и медленный, чтобы показать худшее быстродействие, но в любом случае схему выбрать надо. 3. Прошу озвучить версию ПО и настройки синтезатора, отличающиеся от дефолтных. Ну то есть методику измерений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Des333 0 26 апреля, 2010 Опубликовано 26 апреля, 2010 · Жалоба ... 1. Прошу убрать из первого поста слово "необоснованно", до тех пор пока не доказано что оно не обоснованно (презумпция невиновности). ... Может быть, наоборот? :) Aprox заявил, что Verilog/VHDL дают более плохой результат, чем AHDL. Так вот, презумпция невиновности сейчас стоит на стороне Verilog/VHDL, и, пока не доказано, что они, действительно, хуже, подобные заявления логично считать "необоснованными". :) Пункты 2 и 3 поддерживаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба 2. Прошу озвучить целевую схему. Предлагаю маленький, но быстрый циклон, чтобы клоковое дерево не являлось ограничителем. Можно и медленный, чтобы показать худшее быстродействие, но в любом случае схему выбрать надо. 3. Прошу озвучить версию ПО и настройки синтезатора, отличающиеся от дефолтных. по первому вопросу des333 высказался, по остальным я выкладываю qsf/qpf/sdc файл проекта, в которых указано какой квартус, с какими настройками использовался и какая тактовая требовалась от квартуса. Этого более чем достаточно. В выложеных файлах выбран третий сыклон с автовыбором, пины стоят как виртуальные (кроме клока). Можем выбрать третий сыклон 25 ку с8 для еще большей привязки %) Жду результатов работы Aprox, который в очередной раз кинул хороший камень в огород VHDL/Verilog. Специально для Aprox хочу отметить, представленный оптимизированный код ни затачивался ни под одну FPGA и является полностью переносимым. ЗЫ. Сами авторы корки с опенкоресов подчеркивают, что их модель создавалась как демонстрационная, один в один совпадающая с документом IBM. И для использования в системах с высокими требованиями требует доработки. ЗЗЫ. Очень интересен выбор фаната альтеры, между бесплатной альтеровской коркой 8b10b кодера и опенкоресами, в пользу последних %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Builder 1 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба Выкладывайте, пусть будет в коллекции %)В доках аплоада, папка "8b_10b", там смотрю приведены уже минимизированные фунции, а не только таблицы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба простите, что не в тему вклиниваюсь, а что такое тип "logic" в файле enc8b10b_1.v ? в справочниках я его не нашел... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба простите, что не в тему вклиниваюсь, а что такое тип "logic" в файле enc8b10b_1.v ? в справочниках я его не нашел... основной тип языка SystemVerilog :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба Вместо того, чтобы "пинать дохлую собаку" AHDL... des00, как обычно, выдал эталонный код, достойный изучения и подражания. Не могли бы Вы, des00, выдать пошаговую инструкцию, как создавать и отлаживать проект. Начиная с поиска алгоритмов и заканчивая тестбенчами и выкладыванием кода на сайт. Какими программами пользуетесь, какие цели преследуете при оптимизации, и т.п. Да еще бы со скриншотами... В блоге своем, например. Я думаю, от этого была бы бОльшая польза всем. А по поводу соревнования - разве у кого-то есть сомнения, что то, что написано на Verilog, можно создать на AHDL? Также справедливо и обратное. Make Peace Not War! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба А по поводу соревнования - разве у кого-то есть сомнения, что то, что написано на Verilog, можно создать на AHDL? Также справедливо и обратное. Мне кажется все можно сделать даже в сематике, не говоря об языках описания. Главный вопрос сколько уйдет времени на разработку устройства и его отладку. Плюс вопрос переносимости и юзабильности кода(схемы). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алексей Б. 0 27 апреля, 2010 Опубликовано 27 апреля, 2010 · Жалоба основной тип языка SystemVerilog :) понял. я в справочниках по "просто"-verilog смотрел.. полностью поддерживаю предложение ViKo !!! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться