des00 27 April 26, 2010 Posted April 26, 2010 · Report post Тема выделена в отдельную ветку отсюда . Напомню суть вопроса: уважаемый 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 Quote Share this post Link to post Share on other sites More sharing options...
Builder 1 April 26, 2010 Posted April 26, 2010 · Report post Мне предоставили право первого укола. Итак первый раунд: 8b10b кодер. Мой первый укол : эталонная, референсная модель 8b10b кодера, без какой либо оптимизации. Написана в лоб, на основе информации из википедии (В отличии от корки на опенкоресах, которая сделана на основе документа IBM)Нужна та статья, от IBM? А то валется на винте, позже закину на ftp, с ходу вроде нету на ftp. Quote Share this post Link to post Share on other sites More sharing options...
vitan 2 April 26, 2010 Posted April 26, 2010 · Report post сравнить модули, с одинаковой функциональностью написанные на разных языках. Критерии сравнения : читаемость/краткость/параметризуемость/результат синтеза Модули, декодеры, критерии... Вы сначала два триггера сравните. Quote Share this post Link to post Share on other sites More sharing options...
Des333 0 April 26, 2010 Posted April 26, 2010 · Report post Модули, декодеры, критерии... Вы сначала два триггера сравните. Так кто Вам мешает? Сравните, выложите результаты на форум. Остальные почитают, подумают. Критиковать все могут... Quote Share this post Link to post Share on other sites More sharing options...
vitan 2 April 26, 2010 Posted April 26, 2010 · Report post Остальные почитают, подумают. Остальным было бы, как раз, более показательно иметь сравнение на основе триггеров, а не на основе навороченных модулей, объективность оценки которых неизвестно как установить. Я не критикую, я всего лишь заметил, что если обсуждение выностися на широкую публику, то пусть оно будет доступно широкой публике. Так истину быстрее можно найти имхо. Quote Share this post Link to post Share on other sites More sharing options...
des00 27 April 26, 2010 Posted April 26, 2010 · Report post Остальным было бы, как раз, более показательно иметь сравнение на основе триггеров, а не на основе навороченных модулей, объективность оценки которых неизвестно как установить. мне это не интересно, это уже не мой уровень %), хотите сравнивайте Я не критикую, я всего лишь заметил, что если обсуждение выностися на широкую публику, то пусть оно будет доступно широкой публике. Так истину быстрее можно найти имхо. на этом форуме много постов, в том числе моих, где разбираются особенности синтеза тех или иных конструкций. А вот и средне заоптималеный модуль, отличается от первого тем, что логика расчета 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 Quote Share this post Link to post Share on other sites More sharing options...
dvladim 0 April 26, 2010 Posted April 26, 2010 · Report post Тема выделена в отдельную ветку отсюда . Напомню суть вопроса: уважаемый Aprox необоснованно утверждает что AHDL заткнет за пояс VHDL/V/SV вместе взятые. Для рассмотрения сего вопроса поступило предложение сравнить модули, с одинаковой функциональностью написанные на разных языках. Критерии сравнения : читаемость/краткость/параметризуемость/результат синтеза Оооо, холивар назревает. Битву поддерживаю. 1. Прошу убрать из первого поста слово "необоснованно", до тех пор пока не доказано что оно не обоснованно (презумпция невиновности). 2. Прошу озвучить целевую схему. Предлагаю маленький, но быстрый циклон, чтобы клоковое дерево не являлось ограничителем. Можно и медленный, чтобы показать худшее быстродействие, но в любом случае схему выбрать надо. 3. Прошу озвучить версию ПО и настройки синтезатора, отличающиеся от дефолтных. Ну то есть методику измерений. Quote Share this post Link to post Share on other sites More sharing options...
Des333 0 April 26, 2010 Posted April 26, 2010 · Report post ... 1. Прошу убрать из первого поста слово "необоснованно", до тех пор пока не доказано что оно не обоснованно (презумпция невиновности). ... Может быть, наоборот? :) Aprox заявил, что Verilog/VHDL дают более плохой результат, чем AHDL. Так вот, презумпция невиновности сейчас стоит на стороне Verilog/VHDL, и, пока не доказано, что они, действительно, хуже, подобные заявления логично считать "необоснованными". :) Пункты 2 и 3 поддерживаю. Quote Share this post Link to post Share on other sites More sharing options...
des00 27 April 27, 2010 Posted April 27, 2010 · Report post 2. Прошу озвучить целевую схему. Предлагаю маленький, но быстрый циклон, чтобы клоковое дерево не являлось ограничителем. Можно и медленный, чтобы показать худшее быстродействие, но в любом случае схему выбрать надо. 3. Прошу озвучить версию ПО и настройки синтезатора, отличающиеся от дефолтных. по первому вопросу des333 высказался, по остальным я выкладываю qsf/qpf/sdc файл проекта, в которых указано какой квартус, с какими настройками использовался и какая тактовая требовалась от квартуса. Этого более чем достаточно. В выложеных файлах выбран третий сыклон с автовыбором, пины стоят как виртуальные (кроме клока). Можем выбрать третий сыклон 25 ку с8 для еще большей привязки %) Жду результатов работы Aprox, который в очередной раз кинул хороший камень в огород VHDL/Verilog. Специально для Aprox хочу отметить, представленный оптимизированный код ни затачивался ни под одну FPGA и является полностью переносимым. ЗЫ. Сами авторы корки с опенкоресов подчеркивают, что их модель создавалась как демонстрационная, один в один совпадающая с документом IBM. И для использования в системах с высокими требованиями требует доработки. ЗЗЫ. Очень интересен выбор фаната альтеры, между бесплатной альтеровской коркой 8b10b кодера и опенкоресами, в пользу последних %) Quote Share this post Link to post Share on other sites More sharing options...
Builder 1 April 27, 2010 Posted April 27, 2010 · Report post Выкладывайте, пусть будет в коллекции %)В доках аплоада, папка "8b_10b", там смотрю приведены уже минимизированные фунции, а не только таблицы. Quote Share this post Link to post Share on other sites More sharing options...
Алексей Б. 0 April 27, 2010 Posted April 27, 2010 · Report post простите, что не в тему вклиниваюсь, а что такое тип "logic" в файле enc8b10b_1.v ? в справочниках я его не нашел... Quote Share this post Link to post Share on other sites More sharing options...
des00 27 April 27, 2010 Posted April 27, 2010 · Report post простите, что не в тему вклиниваюсь, а что такое тип "logic" в файле enc8b10b_1.v ? в справочниках я его не нашел... основной тип языка SystemVerilog :) Quote Share this post Link to post Share on other sites More sharing options...
ViKo 0 April 27, 2010 Posted April 27, 2010 · Report post Вместо того, чтобы "пинать дохлую собаку" AHDL... des00, как обычно, выдал эталонный код, достойный изучения и подражания. Не могли бы Вы, des00, выдать пошаговую инструкцию, как создавать и отлаживать проект. Начиная с поиска алгоритмов и заканчивая тестбенчами и выкладыванием кода на сайт. Какими программами пользуетесь, какие цели преследуете при оптимизации, и т.п. Да еще бы со скриншотами... В блоге своем, например. Я думаю, от этого была бы бОльшая польза всем. А по поводу соревнования - разве у кого-то есть сомнения, что то, что написано на Verilog, можно создать на AHDL? Также справедливо и обратное. Make Peace Not War! Quote Share this post Link to post Share on other sites More sharing options...
Maverick_ 17 April 27, 2010 Posted April 27, 2010 · Report post А по поводу соревнования - разве у кого-то есть сомнения, что то, что написано на Verilog, можно создать на AHDL? Также справедливо и обратное. Мне кажется все можно сделать даже в сематике, не говоря об языках описания. Главный вопрос сколько уйдет времени на разработку устройства и его отладку. Плюс вопрос переносимости и юзабильности кода(схемы). Quote Share this post Link to post Share on other sites More sharing options...
Алексей Б. 0 April 27, 2010 Posted April 27, 2010 · Report post основной тип языка SystemVerilog :) понял. я в справочниках по "просто"-verilog смотрел.. полностью поддерживаю предложение ViKo !!! Quote Share this post Link to post Share on other sites More sharing options...