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

 
 
 
Reply to this topicStart new topic
> Выбор ПЛИС в начале разработки
D-Luxe
сообщение Apr 27 2011, 17:15
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642



Допустим тебе поставили задачу разработать какое-нибудь устройство с определенными интерфейсами для решения конкретной задачи.

Как выбирать ПЛИС? Даже если выбор стоит между семействами одной компании к примеру Xilinx.


--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс
Go to the top of the page
 
+Quote Post
Sanehermit
сообщение Apr 27 2011, 18:10
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 27-11-10
Пользователь №: 61 204



Цитата(D-Luxe @ Apr 27 2011, 20:15) *
Допустим тебе поставили задачу разработать какое-нибудь устройство с определенными интерфейсами для решения конкретной задачи.

Как выбирать ПЛИС? Даже если выбор стоит между семействами одной компании к примеру Xilinx.



ИМХО.

смотрим какие интерфейсы нужны и какие семейства ПЛИС могкт им удовлетворить.
далее два варианта:
1. если есть ограничения по финансам: пишем RTL, затем синтезим и оцениваем потребность в ресурсах. исходя из этого делаем выбор ПЛИС учитывая, что возможно потребуется что-то дорабатывать и чем меньше загруженность ПЛИС тем лучше времянка.

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


примерно так. sm.gif
Go to the top of the page
 
+Quote Post
KWIer
сообщение Apr 27 2011, 18:18
Сообщение #3


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

Группа: Свой
Сообщений: 91
Регистрация: 4-02-07
Из: Казань
Пользователь №: 25 041



Если ты решишь использовать готовые решения, то можно также прикинуть по выпущенным готовым IP cores на выбранные интерфейсы, в какой объем ресурсов всё это выльется. Как правило производители корок, в рекламных брошюрах указывают подобную информацию.
Go to the top of the page
 
+Quote Post
Иван Панченко
сообщение Apr 28 2011, 14:09
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 29-11-08
Из: санкт-петербург
Пользователь №: 42 061



Главное и единственно важное: примерно прикинуть требуемый объем ресурсов. Если проект, не сильно маленький, то триггеры, наверняка можно не считать. Главное проконтролируйте число умножителей да объем имеющейся памяти. Прикиньте сколько Вам надо, умножьте на "коэффициент запаса"(2, ну или любое другое число на ваш вкус, зависит от того, насколько вы доверяете своим же расчетам=) ). А еще можно использовать pin2pin совместимые ПЛИС, если Ваш коэффициент запаса был великоват - в следующей партии поставите ПЛИС поменьше;-)
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Apr 28 2011, 14:24
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(Иван Панченко @ Apr 28 2011, 18:09) *
Если проект, не сильно маленький, то триггеры, наверняка можно не считать. Главное проконтролируйте число умножителей да объем имеющейся памяти.

ИМХО, все зависит от конкретного проекта - в некоторых проектах умножители нафиг не нужны (маршрутизаторы скажем) и основное требование - наличие как можно большего кол-ва памяти, в ЦОС наоборот. Иногда требуется наличие высокоскоростных каналов передачи данных.
Соответственно, требуется реализовать кусок проекта и просчитать приблизительный объем всех требуемых элементов:
объем регистров, памяти, умножителей, наличие каналов lvds и т.д. и т.п. для конкретных ПЛИС. При этом внимательно смотрите на семейства и speed grade. Современные ПЛИС могут работать и на 600МГц, старые не вытянут и 250... Ну и, соответственно, цена будет зависеть не столько от объема, сколько от самомго семейства и "начинки".

Сообщение отредактировал bogaev_roman - Apr 28 2011, 14:25
Go to the top of the page
 
+Quote Post
Иван Панченко
сообщение Apr 28 2011, 16:25
Сообщение #6


Участник
*

Группа: Свой
Сообщений: 74
Регистрация: 29-11-08
Из: санкт-петербург
Пользователь №: 42 061



Цитата(bogaev_roman @ Apr 28 2011, 18:24) *
Иногда требуется наличие высокоскоростных каналов передачи данных.

ну это уж мне казалось как-то совсем само-собой разумеющимся, что человек сможет подобрать ПЛИС с подходящими интерфейсами, числом входов, тактовой частотой... после этого у него остается 10 ПЛИСин, и какую из них ему взять... по-моему, вопрос о той части процесса выбора, которая завязана на разработку под FPGA.
Go to the top of the page
 
+Quote Post
Victor®
сообщение Apr 28 2011, 16:54
Сообщение #7


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(D-Luxe @ Apr 27 2011, 20:15) *
Допустим тебе поставили задачу разработать какое-нибудь устройство с определенными интерфейсами для решения конкретной задачи.

Как выбирать ПЛИС? Даже если выбор стоит между семействами одной компании к примеру Xilinx.


Можно поступать так...
1) Определяемся с семейством (Spartan-3, S6, V-4, V-6, т.п. ) на основе требований (наличие интерфейсов, умножителей, hard IP, быстродействию)
2) Когда определились с семейством - выбираете корпус, которого хватает по контактам и который покрывает максимум разновидностей по емкости внутри семейства...
Например, для S6 - FGG484.

В этом случае Вы можете сравнительно безболезненно перейти с "мелкого" на более "крупный" чип.
Как-то так...


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Apr 28 2011, 18:39
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата
берем бааааааальшую ПЛИСину, чтобы влезло все, что нужно, сообщаем об этом разработчику платы

Есть 2 возможных траблы:
1) Требуемый алгоритм так, как он видится, может не влезть и в самую большую плисину (по объему или быстродействию).
2) Самая большая плисина, которая окажется в самом большом корпусе, не пролезет по габаритам или потреблению.

Поэтому, на мой взгляд, в общем случае без проработки проекта хотя бы в первом приближении нельзя.
Go to the top of the page
 
+Quote Post
yes
сообщение Apr 29 2011, 15:30
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



я подхожу к вопросу так:

если это несерийное изделие для отработки/демонстрации алгоритма - берем Альтеру (удобство средств разработки)

если это серия (то есть требуется выиграть по стоимости, отсутствию глюков в ПЛИС и т.п.) - берем Ксайлинс

если есть экзотические требования - очень внимательно смотрим на Латтис или Актел

------------------------

алгоритм в каком-то виде должен быть известен - в худшем случае известно, что такой/подобный алгоритм влазит в некую ПЛИС и тогда умножая ее ресурсы на коэффициент (любое чисто больше 1.0) выбираем ПЛИС

в лучшем случае есть RTL код (желательно, проверенный симуляцией, иначе синтез может выбросить большую часть) - синтезируем его в каком-либо универсальном синтезаторе Synplify / Precision для разных ПЛИС - все становится понятно.
но нужно учитывать, что результаты такого синтеза приблизительные и по скорости/ресурсам нужно иметь запас (тут можно коэффициент сказать точнее - что-то типа 1.5)

Go to the top of the page
 
+Quote Post
D-Luxe
сообщение May 14 2011, 18:10
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642



Ведь вполне возможны ситуации, что проект занимает менее половины кристалла, но не проходит по частоте. Как предусмотреть такие проблемы на этапе выбора ПЛИС? И как бороться с этим?


--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс
Go to the top of the page
 
+Quote Post
iiv
сообщение May 14 2011, 18:16
Сообщение #11


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(D-Luxe @ May 14 2011, 23:10) *
Ведь вполне возможны ситуации, что проект занимает менее половины кристалла, но не проходит по частоте. Как предусмотреть такие проблемы на этапе выбора ПЛИС? И как бороться с этим?

Если не проходит по частоте интерфейсов - то, только правильных кристалл, а если внутренняя логика, то почти всегда ее можно распараллелить и пустить Ваши вычисления на в 2 раза большем числе логических элементов, но с двухкратным понижением частоты.
Go to the top of the page
 
+Quote Post
D-Luxe
сообщение May 14 2011, 18:20
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642



Цитата(iiv @ May 14 2011, 22:16) *
Если не проходит по частоте интерфейсов - то, только правильных кристалл, а если внутренняя логика, то почти всегда ее можно распараллелить и пустить Ваши вычисления на в 2 раза большем числе логических элементов, но с двухкратным понижением частоты.

Почему вы так уверены что логику всегда можно распараллелить?

Пример: прием из Ethernet пакета, фильтрация по MAC и по IP адресу и передача в другой интерфейс, к примеру Rocket'ы. Как этот проект можно распараллелить?


--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс
Go to the top of the page
 
+Quote Post
iiv
сообщение May 14 2011, 18:52
Сообщение #13


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(D-Luxe @ May 15 2011, 00:20) *
Почему вы так уверены что логику всегда можно распараллелить?

Пример: прием из Ethernet пакета, фильтрация по MAC и по IP адресу и передача в другой интерфейс, к примеру Rocket'ы. Как этот проект можно распараллелить?


подсказывает мой двадцатилетний опыт работы на компьютерах с числом ядер и процессоров больше тысячи...

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

Ровно в 2 раза больше логики, но зато логика может работать в два раза медленнее.
Go to the top of the page
 
+Quote Post
D-Luxe
сообщение May 22 2011, 08:27
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 347
Регистрация: 24-02-10
Из: Пенза
Пользователь №: 55 642



Пока лазял на форуме кое-что нашел по этой теме, цитирую:
Цитата
Абсолютно правильно andrew_b попросил уточнить критерии целесообразности.
Если требование максимальной скорости работы, то больше чем на 50-60 % загружать не стоит.
Если по цене в готовом изделии – то упихивать «до упора» (у меня доходило в Spartan IIE до 98 % при тактовой 50 МГц).
Если удобство и скорость отладки – то 30-40 % - остальное – на всякие ChipScope, SignalTap и прочие.
Если предусматривать адаптацию под требования заказчика, то 10-15 % оставлять надо.

Как правило, ряды ПЛИС имеют достаточную вариацию ёмкости в одном корпусе, поэтому в прототип закладывают «с запасом», а потом (если серия пойдёт) жирок можно и обрезать.
Всё выше сказанное IMHO.

Ссылка


--------------------
Нелегко оказаться на верном пути, но куда труднее его пройти.
(с) Уилл Роджерс
Go to the top of the page
 
+Quote Post

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

 


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


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