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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Табличные схемы, выбор ПЛИС
Frob
сообщение Oct 13 2005, 06:22
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 13-10-05
Из: Северный Кавказ
Пользователь №: 9 571



Всем привет.

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

Заранее благодарен. smile3046.gif


--------------------
С уважением, Yuri aka Frob.
Go to the top of the page
 
+Quote Post
Stewart Little
сообщение Oct 13 2005, 06:41
Сообщение #2


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



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


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
vetal
сообщение Oct 13 2005, 06:52
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 2 095
Регистрация: 27-08-04
Из: Россия, СПб
Пользователь №: 553



Цитата
Как другие варианты - использование логики (слишком медленно)...

"Медленно" - это сколько?
Go to the top of the page
 
+Quote Post
NeoN
сообщение Oct 13 2005, 08:11
Сообщение #4


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

Группа: Свой
Сообщений: 150
Регистрация: 18-10-04
Пользователь №: 901



Странно это. Если судить по работе с xilinx, обычный сумматор с "медленными" переносами - очень быстрая структура, процентов на 30 более быстрая чем BRAM при Вашей разрядности. Какая нужна системная частота-то?


--------------------
user posted image
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 13 2005, 08:41
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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


Хмм не факт, т.к. тактовая частота памяти у V4-12, может достагать 500МГц, (с конвеерным регистром) а вот суматор на 10 бит уже дает частоты не более 450 sad.gif


--------------------
Go to the top of the page
 
+Quote Post
bzx
сообщение Oct 13 2005, 09:52
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 482
Регистрация: 5-07-05
Из: Санкт-Петербург
Пользователь №: 6 528



2 Frob
Мысль совсем в другую сторону... А если попробовать оптимизировать логическую функцию? Может получится (после оптимизации), что BRAM и не потребуется вовсе.


--------------------
Для связи email: info собака qbit.su
Go to the top of the page
 
+Quote Post
Frob
сообщение Oct 14 2005, 08:20
Сообщение #7





Группа: Новичок
Сообщений: 5
Регистрация: 13-10-05
Из: Северный Кавказ
Пользователь №: 9 571



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


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

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

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

проблема одна - но большая - блочной памяти слишком мало. не хватит даже для построения 32 разрядного процессора ЦОС (имеется в виду для представления чисел около двоичного диапазона такой разрядности). вот так вот... поэтому я в поисках.


--------------------
С уважением, Yuri aka Frob.
Go to the top of the page
 
+Quote Post
Frob
сообщение Oct 14 2005, 08:22
Сообщение #8





Группа: Новичок
Сообщений: 5
Регистрация: 13-10-05
Из: Северный Кавказ
Пользователь №: 9 571



--


--------------------
С уважением, Yuri aka Frob.
Go to the top of the page
 
+Quote Post
Frob
сообщение Oct 14 2005, 08:31
Сообщение #9





Группа: Новичок
Сообщений: 5
Регистрация: 13-10-05
Из: Северный Кавказ
Пользователь №: 9 571



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

извини... мысль и правда совсем в другую сторону smile.gif
я даже не уловил что ты хотел сказать, пояснишь?


--------------------
С уважением, Yuri aka Frob.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Oct 14 2005, 09:38
Сообщение #10


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

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Frob @ Oct 14 2005, 12:20)
у меня VirtexE.
...
проблема одна - но большая - блочной памяти слишком мало.

Посмотрите Viterx-E EM.
http://www.xilinx.com/xlnx/xweb/xil_public...5&iLanguageID=1
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Oct 14 2005, 10:07
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Может я конечно что-то не понимаю, но Virtex-E имеет на борту мегабит встроенной памяти и стоит порядка 500 вечнозеленых единиц, тогда как Virtex4 LX25 имеет более высокое быстродействие, больше логических ячеек, почти столько же памяти и стоит около 200, доже при единичных колличествах при закупках.

Так зачем же платить больше?


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
tegumay
сообщение Oct 19 2005, 17:45
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 16-09-05
Из: Москва
Пользователь №: 8 640



А корпуса?))
А остаточные классы мы недавно проходили, только преобразовывать данные из них и обратно очень весело для проца))


--------------------
;X
Go to the top of the page
 
+Quote Post
Frob
сообщение Oct 20 2005, 05:14
Сообщение #13





Группа: Новичок
Сообщений: 5
Регистрация: 13-10-05
Из: Северный Кавказ
Пользователь №: 9 571



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


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

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

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

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

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


--------------------
С уважением, Yuri aka Frob.
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 20 2005, 05:22
Сообщение #14


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(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)))


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 20 2005, 05:24
Сообщение #15


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



а у FX ядрышко ППК, если молотить из кеша, то до 500 МГц как никак %)


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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