Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Табличные схемы, выбор ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Frob
Всем привет.

Мне нужно определиться с выбором ПЛИС для реализации задачи в моей предметной области. Требуется реализовать большое количество табличных схем - грубо говоря использовать большое количество BRAM.
Помимо поисков и обзоров ПЛИС в интернете хотелось бы услышать рекомендации бывалых по этому поводу.
Какую ПЛИС лучше выбрать для такой задачи.
Если говорить о том, чем я занимаюсь - это построение процессора, функционирующего в СОК (система в остаточных классах). Там присутствуют модульные сумматоры относительно небольшой разрядности (3-7 бит), реализация которых оказалась наиболее эффективной только на BRAM.
Как другие варианты - использование логики (слишком медленно) или SRAM (отсутствие параллельной работы нескольких блоков (имеются в виду эти сумматоры) одновременно.

Заранее благодарен. smile3046.gif
Stewart Little
Посмотрите на семейство AT40KAL фирмы Atmel :
http://www.atmel.com/dyn/resources/prod_do...nts/doc2818.pdf
У них макроячейка имеет два комбинаторных выхода. Ну распределенная память есть.
Только вот софт (среда размещения и разводки Figaro IDS) имхо не очень фонтанистый. Но приноровиться можно smile.gif
vetal
Цитата
Как другие варианты - использование логики (слишком медленно)...

"Медленно" - это сколько?
NeoN
Странно это. Если судить по работе с xilinx, обычный сумматор с "медленными" переносами - очень быстрая структура, процентов на 30 более быстрая чем BRAM при Вашей разрядности. Какая нужна системная частота-то?
des00
Цитата(NeoN @ Oct 13 2005, 03:11)
Странно это. Если судить по работе с xilinx, обычный сумматор с "медленными" переносами - очень быстрая структура, процентов на 30 более быстрая чем BRAM при Вашей разрядности.  Какая нужна системная частота-то?
*


Хмм не факт, т.к. тактовая частота памяти у V4-12, может достагать 500МГц, (с конвеерным регистром) а вот суматор на 10 бит уже дает частоты не более 450 sad.gif
bzx
2 Frob
Мысль совсем в другую сторону... А если попробовать оптимизировать логическую функцию? Может получится (после оптимизации), что BRAM и не потребуется вовсе.
Frob
Цитата(NeoN @ Oct 13 2005, 11:11)
Странно это. Если судить по работе с xilinx, обычный сумматор с "медленными" переносами - очень быстрая структура, процентов на 30 более быстрая чем
*


рад что на меня обратили внимание. всем спасибо... и отвечаю сразу всем.

у меня VirtexE.
результаты вкратце следующие, возьмем например 64 бита.
(такая разрядность данных, которые необходимо обрабатывать, вычислять свертку, полиномы и т.п. - короче говоря ЦОС - частная задача).
операция сложения ~127 МГц
операция умножения ~51.3 МГц (!!!!!)
и то и другое смешано в процессе вычислений и нужно в конвейерном режиме.

вчера только разобрался первый раз в жизни с BRAM и вот что получилось.
В СОК (система остаточных классов) операция сложения числа разрядностью для представления диапазона ~64 бита ~175 МГц.
операция умножения ~175 МГц.
и то и другое ограничено только скоростью памяти и мультиплексор нужен потому что память не очень "удобно" для данной задачи организована.
результат по производительности идеальный. для перевода СОК - ПСС (позиционная система счисления) и обратного перевода используются те же самые сумматоры, работающие параллельно.

проблема одна - но большая - блочной памяти слишком мало. не хватит даже для построения 32 разрядного процессора ЦОС (имеется в виду для представления чисел около двоичного диапазона такой разрядности). вот так вот... поэтому я в поисках.
Frob
--
Frob
Цитата(bzx @ Oct 13 2005, 12:52)
2 Frob
Мысль совсем в другую сторону... А если попробовать оптимизировать логическую функцию?
*

извини... мысль и правда совсем в другую сторону smile.gif
я даже не уловил что ты хотел сказать, пояснишь?
andrew_b
Цитата(Frob @ Oct 14 2005, 12:20)
у меня VirtexE.
...
проблема одна - но большая - блочной памяти слишком мало.

Посмотрите Viterx-E EM.
http://www.xilinx.com/xlnx/xweb/xil_public...5&iLanguageID=1
v_mirgorodsky
Может я конечно что-то не понимаю, но Virtex-E имеет на борту мегабит встроенной памяти и стоит порядка 500 вечнозеленых единиц, тогда как Virtex4 LX25 имеет более высокое быстродействие, больше логических ячеек, почти столько же памяти и стоит около 200, доже при единичных колличествах при закупках.

Так зачем же платить больше?
tegumay
А корпуса?))
А остаточные классы мы недавно проходили, только преобразовывать данные из них и обратно очень весело для проца))
Frob
Цитата(tegumay @ Oct 19 2005, 20:45)
А корпуса?))
А остаточные классы мы недавно проходили, только преобразовывать данные из них и обратно очень весело для проца))
*


Извините если небольшой оффтопик... хотел раз уж затронули эту тему сделать небольшое сообщение.
Результаты моей работы таковы.
Все модульные операции (умножение, сложение, вычитание) выполняются в СОК за 1 такт и время выполнения (при достаточном количестве блочной памяти на используемой ПЛИС) зависит только от скорости блочной памяти.
Устройство преобразования работает за log2(n) где n - количество разрядов двоичного числа на входе. Скорость работы равна опять же скорости работы блочной памяти. В конвейерном режиме преобразование выполняется за 1 такт опять же с задержкой на указанное выше количество тактов.

Преобразование из СОК в ОПСС (обобщенная позиционная система счисления, где числа можно сравнивать и вычислять другие позиционные характеристики) производится за несоклько большее чем прямое преобразование число тактов, опять же со скоростью блочной памяти и за 1 такт в конвейерном режиме.

Окончательное преобразование для вывода результата в позиционной системе счисления будет ограничено работой умножителя разрядностью входного двоичного числа. Т.е. это операция действительно медленная по сравнению с остальными но требуется только для вывода результатов.

Учитывая что все что работает на блочной памяти (все кроме последнего) работает практически с одинаковой скоростью независимо от разрядности входного числа все не так уж плохо...

кстати спасибо всем кто ответил по поводу выбора ПЛИС. Это стимулировало поискать меня и сделать для себя обзор того что существует. Выбор я остановил на одной из микросхем VirtexIV.
des00
Цитата(Frob @ Oct 20 2005, 00:14)
Цитата(tegumay @ Oct 19 2005, 20:45)
А корпуса?))
А остаточные классы мы недавно проходили, только преобразовывать данные из них и обратно очень весело для проца))
*


Извините если небольшой оффтопик... хотел раз уж затронули эту тему сделать небольшое сообщение.
Результаты моей работы таковы.
Все модульные операции (умножение, сложение, вычитание) выполняются в СОК за 1 такт и время выполнения (при достаточном количестве блочной памяти на используемой ПЛИС) зависит только от скорости блочной памяти.
Устройство преобразования работает за log2(n) где n - количество разрядов двоичного числа на входе. Скорость работы равна опять же скорости работы блочной памяти. В конвейерном режиме преобразование выполняется за 1 такт опять же с задержкой на указанное выше количество тактов.

Преобразование из СОК в ОПСС (обобщенная позиционная система счисления, где числа можно сравнивать и вычислять другие позиционные характеристики) производится за несоклько большее чем прямое преобразование число тактов, опять же со скоростью блочной памяти и за 1 такт в конвейерном режиме.

Окончательное преобразование для вывода результата в позиционной системе счисления будет ограничено работой умножителя разрядностью входного двоичного числа. Т.е. это операция действительно медленная по сравнению с остальными но требуется только для вывода результатов.

Учитывая что все что работает на блочной памяти (все кроме последнего) работает практически с одинаковой скоростью независимо от разрядности входного числа все не так уж плохо...

кстати спасибо всем кто ответил по поводу выбора ПЛИС. Это стимулировало поискать меня и сделать для себя обзор того что существует. Выбор я остановил на одной из микросхем VirtexIV.
*


хмм ИМХО Virtex4 SX/FX вам самое то, но есть одно но, у них есть DSP слайсы, которые пашуь на максимальной тактухе smile.gif)))
des00
а у FX ядрышко ППК, если молотить из кеша, то до 500 МГц как никак %)
v_mirgorodsky
Цитата(Frob @ Oct 20 2005, 07:14)
Извините если небольшой оффтопик...  хотел раз уж затронули эту тему сделать небольшое сообщение. Результаты моей работы таковы. Все модульные операции (умножение, сложение, вычитание) выполняются в СОК за 1 такт и время выполнения (при достаточном количестве блочной памяти на используемой ПЛИС) зависит только от скорости блочной памяти. Устройство преобразования работает за log2(n) где n - количество разрядов двоичного числа на входе. Скорость работы равна опять же скорости работы блочной памяти. В конвейерном режиме преобразование выполняется за 1 такт опять же с задержкой на указанное выше количество тактов.

Преобразование из СОК в ОПСС (обобщенная позиционная система счисления, где числа можно сравнивать и вычислять другие позиционные характеристики) производится за несоклько большее чем прямое преобразование число тактов, опять же со скоростью блочной памяти и за 1 такт в конвейерном режиме.

Окончательное преобразование для вывода результата в позиционной системе счисления будет ограничено работой умножителя разрядностью входного двоичного числа. Т.е. это операция действительно медленная по сравнению с остальными но требуется только для вывода результатов.

Учитывая что все что работает на блочной памяти (все кроме последнего) работает практически с одинаковой скоростью независимо от разрядности входного числа все не так уж плохо...

*


Добрый день, уважаемый Frob,

А не подскажете ли какую литературу по этим самым остаточным классам (желательно в электронном виде) ? Вы говорите о операциях умножения, сложения и вычитания. А есть ли что-то подобное для деления? Все, что я встречал до сих пор для деления выглядело как многостадийный конвеййер и идея сделать то же самое за один такт выглядит очень привлекательной. Если я правильно понимаю, то все внутренние вычисления можно произвести используя числа в СОК, а результат преобразовать в позиционную (двоичную ) систему счисления уже по выходу. На сколько такой подход реализуем?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.