iosifk 3 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба Приведу пример такой задачи: допустим надо написать модуль, которые каждые 5 тактов генерирует одиночный импульс. На само деле вопрос как обычно задан не о том... Как получить самый быстрый проект - вот вопрос. И такой проект получите, если уберете параллельные вычисления и множественные глобальные связи. А вот это - " каждые 5 тактов генерирует одиночный импульс" - это обычный сдвиговый регистр, причем у Ксайлинкса есть SRL16 и SRL32, а это вообще одна ячейка. И как Вы это опишите, синтезатору все равно. На скорости работы проекта это практически не отразится. А вот если рядом сделать что-то вроде "определителя своего адреса для Ethernet" на параллельных регистрах, то проекту сразу поплохеет. Но и это не главное. Можно взять более быстрый кристалл, но сделать проект на пару месяцев быстрее. Посчитайте, что выгоднее при партии 1 тыс шт. в год... Увидите разницу... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба На само деле вопрос как обычно задан не о том... Как получить самый быстрый проект - вот вопрос. И такой проект получите, если уберете параллельные вычисления и множественные глобальные связи. А вот это - " каждые 5 тактов генерирует одиночный импульс" - это обычный сдвиговый регистр, причем у Ксайлинкса есть SRL16 и SRL32, а это вообще одна ячейка. И как Вы это опишите, синтезатору все равно. На скорости работы проекта это практически не отразится. А вот если рядом сделать что-то вроде "определителя своего адреса для Ethernet" на параллельных регистрах, то проекту сразу поплохеет. Но и это не главное. Можно взять более быстрый кристалл, но сделать проект на пару месяцев быстрее. Посчитайте, что выгоднее при партии 1 тыс шт. в год... Увидите разницу... Не понял. Если я опишу счнтчик + компаратор/дешифратор, то синтезатор не сделает схему на основе сдвигового регистра Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Leka 0 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба ...Т.е в одном случае разработчик абстрактно опишет модуль, и отдасть все на откуп синтезатору. Во втором случае разработчик опишет модуль на уровне схемотехники... Квартус, например, в большинстве случаев просто не даст опуститься до уровня схемотехники (даже если описать все примитивами) - переделает на свой лад. Поэтому лучше говорить не про описание "на уровне схемотехники", а про описание с учетом как схемотехники используемой ПЛИС, так и используемого синтезатора. И в некоторых простых задачах может дать существенный выйгрыш (до 2х раз), как по частоте, так и по ресурсам. Такие узкие места лучше специально выделять из проекта для индивидуальной оптимизации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба Не понял. Если я опишу счнтчик + компаратор/дешифратор, то синтезатор не сделает схему на основе сдвигового регистра Да потому что обычно в проекте всегда есть какой-то узел, который и ограничивает скорость всего проекта. И это точно не сдвиговый регистр на 5 позиций. И не счетчик на 3 разряда с дешифратором на 1 ячейке. Все эти изыскания - полнейший бред любителя. Быстродействие проекта определяется еще до того как написан первый HDL файл. Воткните в проект НИОС или Микроблэйз и дешифратор команд сожрет все быстродействие. Сделайте схему сравнения двух 32 разрядных чисел и не задумывайтесь обо всем остальном... И какая после этого разница, как сделать генератор импульса "1 из 5"? Вот же приводил я пример про адрес в Ethernet. Можно принять из линии 6 байт в параллельные регистры и сравнивать параллельно 6 байт с регистрами адреса. А можно регистр адреса по-кольцу сдвигать в темпе приема, а схему сравнения сделать на 4 бита для 10/100. Разницу ощущаете? Проблема не в том, как компилятор переведет описание в список связей, а том, как разработчик смог оптимально представить структуру железа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Николай Семёнович 0 21 сентября, 2017 Опубликовано 21 сентября, 2017 · Жалоба Вот же приводил я пример про адрес в Ethernet. Можно принять из линии 6 байт в параллельные регистры и сравнивать параллельно 6 байт с регистрами адреса. А можно регистр адреса по-кольцу сдвигать в темпе приема, а схему сравнения сделать на 4 бита для 10/100. Разницу ощущаете? Проблема не в том, как компилятор переведет описание в список связей, а том, как разработчик смог оптимально представить структуру железа. Вы хотите сказать, что среди плисоводов тоже полно гавнокодеров? :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Вы хотите сказать, что среди плисоводов тоже полно гавнокодеров? :( Тут интересен критерий успеха... Если это быстродействие выполнения задачи, то скорее всего читабельность такого кода может быть несколько хуже (вроде говнокода), чем понятного, прозрачного, академического. Да, там будет все красиво, но решение будет не самым быстрым. Именно поэтому я вижу аналогию VHDL с ассемблером. ВСЕ делается руцями! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ZASADA 0 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Вы хотите сказать, что среди плисоводов тоже полно гавнокодеров? :( вы название темы читали? они не кодеры. надо применять расововыверенный термин- дизайнеры. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Тут интересен критерий успеха... Самое время провести соц-опрос на предмет достигнутых успехов в HDL-дизайне.. Ну, просто чтобы видеть, чего стоят многочисленные эксперты HDL-дизайна, настрочившие уже семь страниц пустопорожней болтовни.. Успехи можно озвучить в формате: Название & Функция модуля на HDL, Кол-во строк кода, Тип FPFA, Рабочая частота модуля.. Кто рискнет? :laughing: А судьи кто? − За древностию лет К свободной жизни их вражда непримирима, Сужденья черпают из забытых газет Времен Очаковских и покоренья Крыма; Всегда готовые к журьбе, Поют все песнь одну и ту же, Не замечая об себе: Что старее, то хуже. Где, укажите нам, отечества отцы, Которых мы должны принять за образцы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
1891ВМ12Я 0 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Поэтому лучше говорить не про описание "на уровне схемотехники", а про описание с учетом как схемотехники используемой ПЛИС, так и используемого синтезатора. И в некоторых простых задачах может дать существенный выйгрыш (до 2х раз), как по частоте, так и по ресурсам. Надо же, прям как и при написании кода на процессорах, когда учет особенностей архитектуры и наличие ускорителей, да даже FPU, может дать выигрыш или наоборот провал производительности :) Вот можно написать код для разных процессоров, но он может не достигать максимума на какой-то одной из них. Равно как и IP-ядра можно делать для разных ПЛИС, но они не будут оптимальны на каких-то. А можно сделать опции оптимизации под конкретные семейства ПЛИС. Прямо как и в коде для процессоров. А если смотреть, что код процессора зашивается один раз (прошивка), не как в персональных компьютерах, то выходит что и тут оно сродни ПЛИС. Можно неверно спроектировать схему и будет медленно, а можно не задействовать DMA на процессоре и тоже будет медленно, но в обоих случаях работать будет. Как и в первом моем сообщении в этой теме, я еще раз подчеркну - я не считаю их кодерами, но очень близок к тому, чтобы признать их таковыми ввиду массы параллелей. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Самое время провести соц-опрос на предмет достигнутых успехов в HDL-дизайне.. Ну, просто чтобы видеть, чего стоят многочисленные эксперты HDL-дизайна, настрочившие уже семь страниц пустопорожней болтовни.. Успехи можно озвучить в формате: Название & Функция модуля на HDL, Кол-во строк кода, Тип FPFA, Рабочая частота модуля.. Кто рискнет? :laughing: Легко... Простой пример. UART на скорость 25Мбит.Сек на частоте 200МГц с мажоритированием отсчетов 2 из 3х в лоб не решить. Тут надо разворачивать ВСЕ счетчики, накопители бит только на сдвиговых регистрах!!! Код вырос раза в 3. Синтезатору пришлось показывать как строить сдвиговые регистры. В лоб он лепит обратные связи между триггерами неприемлемо... Тормоз страшный! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Легко... Простой пример. UART на скорость 25Мбит.Сек на частоте 200МГц с мажоритированием отсчетов 2 из 3х в лоб не решить. Тут надо разворачивать ВСЕ счетчики, накопители бит только на сдвиговых регистрах!!! Код вырос раза в 3. Синтезатору пришлось показывать как строить сдвиговые регистры. В лоб он лепит обратные связи между триггерами неприемлемо... Тормоз страшный! Под UART Вы имеете ввиду только приёмная часть (определение старт\стоп, и приём данных) или полный аналог микросхемы 16с550 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Легко... Но мимо.. Пытаетесь ответить на вопросы, которые я не задавал.. На мой же вопрос ответов я пока не вижу.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 22 сентября, 2017 Опубликовано 22 сентября, 2017 (изменено) · Жалоба Самое время провести соц-опрос на предмет достигнутых успехов в HDL-дизайне.. Ну, просто чтобы видеть, чего стоят многочисленные эксперты HDL-дизайна, настрочившие уже семь страниц пустопорожней болтовни.. Успехи можно озвучить в формате: Название & Функция модуля на HDL, Кол-во строк кода, Тип FPFA, Рабочая частота модуля.. Кто рискнет? :laughing: Ну тут тогда ещё важно ввести такие критерии сравнения: Время отладки проекта. Партия серийной продукции(по количеству штук). Количество исправлений после выпуска серийной продукции... UPD Ну и конечно же срок жизни изделия ! Изменено 22 сентября, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Под UART Вы имеете ввиду только приёмная часть (определение старт\стоп, и приём данных) или полный аналог микросхемы 16с550 ? Да. Речь о приемнике. Передатчик проще. Полный аналог не к чему... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
blackfin 16 22 сентября, 2017 Опубликовано 22 сентября, 2017 · Жалоба Ну тут тогда ещё важно ввести такие критерии сравнения: Не возражаю! Вводите! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться