|
Табличные схемы, выбор ПЛИС |
|
|
|
Oct 13 2005, 06:22
|

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

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

Группа: Новичок
Сообщений: 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.
|
|
|
|
|
Oct 14 2005, 08:22
|

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

|
--
--------------------
С уважением, Yuri aka Frob.
|
|
|
|
|
Oct 14 2005, 08:31
|

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

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

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

|
Цитата(tegumay @ Oct 19 2005, 20:45) А корпуса?)) А остаточные классы мы недавно проходили, только преобразовывать данные из них и обратно очень весело для проца)) Извините если небольшой оффтопик... хотел раз уж затронули эту тему сделать небольшое сообщение. Результаты моей работы таковы. Все модульные операции (умножение, сложение, вычитание) выполняются в СОК за 1 такт и время выполнения (при достаточном количестве блочной памяти на используемой ПЛИС) зависит только от скорости блочной памяти. Устройство преобразования работает за log2(n) где n - количество разрядов двоичного числа на входе. Скорость работы равна опять же скорости работы блочной памяти. В конвейерном режиме преобразование выполняется за 1 такт опять же с задержкой на указанное выше количество тактов. Преобразование из СОК в ОПСС (обобщенная позиционная система счисления, где числа можно сравнивать и вычислять другие позиционные характеристики) производится за несоклько большее чем прямое преобразование число тактов, опять же со скоростью блочной памяти и за 1 такт в конвейерном режиме. Окончательное преобразование для вывода результата в позиционной системе счисления будет ограничено работой умножителя разрядностью входного двоичного числа. Т.е. это операция действительно медленная по сравнению с остальными но требуется только для вывода результатов. Учитывая что все что работает на блочной памяти (все кроме последнего) работает практически с одинаковой скоростью независимо от разрядности входного числа все не так уж плохо... кстати спасибо всем кто ответил по поводу выбора ПЛИС. Это стимулировало поискать меня и сделать для себя обзор того что существует. Выбор я остановил на одной из микросхем VirtexIV.
--------------------
С уважением, Yuri aka Frob.
|
|
|
|
|
Oct 20 2005, 05:22
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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 слайсы, которые пашуь на максимальной тактухе  )))
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|