Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Подскажите, на каких ПЛИС больше всего встроенной памяти?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
S_Hawk
Мне бы найти ПЛИС со встроенной памятью от 8 Мбайт, но не по заоблачным ценам. Логики нужно немного - пару десятков тысяч LE...
А внешняя память не подходит, т.к. алгоритм предполагает на каждом такте извлечение из памяти до 500 бит.
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.
VladimirB
Цитата(S_Hawk @ Sep 29 2009, 23:29) *
Мне бы найти ПЛИС со встроенной памятью от 8 Мбайт, но не по заоблачным ценам. Логики нужно немного - пару десятков тысяч LE...
А внешняя память не подходит, т.к. алгоритм предполагает на каждом такте извлечение из памяти до 500 бит.
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.


В самом крутом Virtex 6: XC6VSX475T "всего" 4Мбайта блочной памяти + 1МБайт распределённой
а у Stratix 4 и того меньше. А цены на такие ПЛИС от 20КилоБаксов.
Так что ищите другие методы.

Кстати вы ничего не сказали про скорость вашей памяти а телепаты уже спят. smile.gif
А то может вам SPI флешки достаточно будет в soic8, или raid массива из них...
Artem_Petrik
8 мегабайт встроенной памяти это пожалуй и по заоблачным ценам нереально... Осетра надо урезать smile.gif
Самурай
Цитата(S_Hawk @ Sep 29 2009, 23:29) *
Мне бы найти ПЛИС со встроенной памятью от 8 Мбайт, но не по заоблачным ценам. Логики нужно немного - пару десятков тысяч LE...
А внешняя память не подходит, т.к. алгоритм предполагает на каждом такте извлечение из памяти до 500 бит.
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.


А что, неужели так сложно самому пройтись по сайтам всех ТРОИХ основных производителей FPGA и убедиться, что желание найти
Цитата(S_Hawk @ Sep 29 2009, 23:29) *
ПЛИС со встроенной памятью от 8 Мбайт
да еще и
Цитата(S_Hawk @ Sep 29 2009, 23:29) *
не по заоблачным ценам
отдает некоторой бредовостью (даже если у Вас опечатка и надо читать про 8Мбит)? Или для Вас "заоблачные" цены это все что больше $100k?smile.gif. А вообще мне кажется, что в консерватории надо что-то менять, постановка задачи вызывает некоторые сомнения в ее продуманности. Впрочем, в задаче не озвучены временные параметры этого самого такта, если это не сотни МГц, то как раз внешняя память Вам легко поможет.
Shtirlits
Цитата(S_Hawk @ Sep 29 2009, 23:29) *
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.

жениться синтезатор вам, барин, нужно.
Ваша память при правильном подходе уйдет в логику, может быть вообще схлопнется.
Не факт, что обычные синтезаторы с этим справятся, но голова, плюс СИ, плюс VHDL и получите компактный и быстрый результат.
des333
Цитата(Shtirlits @ Sep 30 2009, 00:23) *
жениться синтезатор вам, барин, нужно.
Ваша память при правильном подходе уйдет в логику, может быть вообще схлопнется.
Не факт, что обычные синтезаторы с этим справятся, но голова, плюс СИ, плюс VHDL и получите компактный и быстрый результат.


Если не сложно, поясните, что означает "схлопнется"? И зачем тут Си?
Самурай
Цитата(Shtirlits @ Sep 30 2009, 00:23) *
Ваша память при правильном подходе уйдет в логику, может быть вообще схлопнется.


Ага, только если у товарисча таблица шифрования, то тогда вопрос придется озвучивать в форме "Мне бы найти ПЛИС миллионов на 8-10 LE, но не по заоблачным ценам" smile.gif)).
Shtirlits
Сообщение автора темы вызвало у меня ощущение начала анализа портирования готового решения с процессорной системы. А там только кэша столько может быть smile.gif
DmitryR
Цитата(des333 @ Sep 30 2009, 00:34) *
Если не сложно, поясните, что означает "схлопнется"? И зачем тут Си?
Утрированно, если надо прибавить к входящему массиву данных числа от единицы до миллиона, то можно сделать ПЗУ с числами от одного до миллиона, а можно поставить счетчик. Конечно, не все всегда так просто, но можно сделать простой тест: этот массив, планируемый для размещения в ПЗУ, обработать винраром - результат сильно приближенно но покажет, сколько там действительно уникальной информации. Если массив пожмется в сто раз - это повод поискать алгоритмическую замену, если не пожмется вообще - скорее всего, применение ПЗУ в самом деле оправдано.

Что же касается 500 бит информации за такт - это всего 500 ножек, не фантастика на сегодняшний день. Но надо еще смотреть алгоритм, нужен ли на самом деле произвольный доступ, или можно это ПЗУ покэшировать внутренней памятью.
Maverick
Цитата(S_Hawk @ Sep 29 2009, 22:29) *
Мне бы найти ПЛИС со встроенной памятью от 8 Мбайт, но не по заоблачным ценам. Логики нужно немного - пару десятков тысяч LE...
А внешняя память не подходит, т.к. алгоритм предполагает на каждом такте извлечение из памяти до 500 бит.
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.

Внешняя память + ПЛИС
Я другого варианта не вижу
S_Hawk
память на 8 мбит я и сам найти могу. Просто, думалось, возможно, существуют какие-то ПЛИС, у которых сделан основной упор на блоки памяти, а я об этих ПЛИС не знаю...
А сама задача?
Есть система линейных уравнений (в GF(2)), которая строится исходя из пришедших данных. Потом система решается. Результат отдается дальше. Если систему строить и решать, уходит около 200 тактов. Если все возможные системы построить и решить заранее, то на хранение результата всех решений и нужно эти самые 8 Мбайт. При таком подходе пришедшие данные становятся адресом в памяти, по которому извлекается готовый ответ. Итого - продуктивность возрастает в 200 раз, если делать за такт. Быстродействие - хотелось бы получить 250 млн. систем в секунду smile.gif

РАР-ить и схлопывать в логику эту память бессмысленно...

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

Спасибо, за ответы!
SM
Цитата(DmitryR @ Sep 30 2009, 12:50) *
Что же касается 500 бит информации за такт - это всего 500 ножек, не фантастика на сегодняшний день.

А если DDR - то 250 ножек...
А если QDR...
EvgenyNik
А к полученному множеству решений нельзя применить прореживание на этапе сохранения в память и последующую интерполяцию на этапе выборки нужного варианта?
Самурай
Мне кажется, что Вы слишком рано отказались от идеи именно решать Вашу систему уравнений, а не хранить все решения в памяти. Возможно, что применение к Вашему алгоритму двух основополагающих принципов суперЭВМ: параллельность вычислений и конвейеризация операций, позволит добиться желаемого ускорения. Естественно за счет бОльших ресурсов.
S_Hawk
бОльшие ресурсы можно применять по-разному. Можно параллелить решение... можно создавать отдельные потоки... конвеерезировать... Но в любом случае, большие ресурсы - большие затраты (цена, потребляемая энергия...). А параметр затрат тоже хочется оптимизировать...

Решать систему тоже можно, но только если затраты на доставание ее из памяти будут выше, чем на решение smile.gif На больших объемах памяти это действительно так, но я пока пытаюсь уложиться в меньшие объемы, а на них решать невыгодно...
Sergey'F
Цитата(S_Hawk @ Sep 30 2009, 23:07) *
бОльшие ресурсы можно применять по-разному. Можно параллелить решение... можно создавать отдельные потоки... конвеерезировать... Но в любом случае, большие ресурсы - большие затраты (цена, потребляемая энергия...). А параметр затрат тоже хочется оптимизировать...

Ээээ... необходимое количество модулей SRAM (даже неважно, в ПЛИС или снаружи) и обмен с ними вряд ли будут потреблять и стоить меньше, чем решение данной задачи в ПЛИС со всей конвейеризацией или распараллеливанием.
DmitryR
Цитата(S_Hawk @ Sep 30 2009, 21:56) *
Если систему строить и решать, уходит около 200 тактов.

...

Быстродействие - хотелось бы получить 250 млн. систем в секунду smile.gif

Надо еще понять, сколько логики занимает этот блок решения за 200 тактов и на какой частоте работает. Если он занимает например 200 LUT и может работать на 250 МГц - то поставив параллельно 200 блоков вы получите решение задачи размером в 40000 LUT, что не заоблачно стоит на сегодняшний день.

Что же касается поисков памяти - то мне пока трудно представить ПЗУ или флэш со скоростью 250*500=125000 мегабод. Если же вам подходит обычное ОЗУ (то есть вы можете после включения питания подождать, пока ваш вычислительный блок посчитает все системы и инициализирует ОЗУ) - то две планки DDR3-533 (128 бит*1066 Мгц=136448 мегабод) вроде бы решают вашу проблему. Самые современные ПЛИС DDR3-533 могут. Предвкушая вопросы по поводу произвольного доступа в DRAM скажу, что вы будете выбирать по два полных квадрослова на одну систему, то есть на один адрес, то есть скорость подачи адресов у вас будет 533 МГц, что возможно, так как у DDR3 памяти чтение данных и подача следующей команды может перекрываться. При произвольном доступе на адрес надо две команды (RAS и CAS), но ведь у вас и два банка будет.
serebr
Цитата(S_Hawk @ Sep 29 2009, 22:29) *
Мне бы найти ПЛИС со встроенной памятью от 8 Мбайт, но не по заоблачным ценам. Логики нужно немного - пару десятков тысяч LE...
А внешняя память не подходит, т.к. алгоритм предполагает на каждом такте извлечение из памяти до 500 бит.
Писать в нее не нужно (нужно только раз), может быть даже ПЗУ.

Один DIMM памяти DDR3-800 с шиной данных 64 бита даст 512 бит на частоте 100 МГц. Два таких DIMMа - 512 бит на 200 МГц. Такого хватит?
Если хватит, то у Lattice есть чипы ECP3, позволяющие подключить к одному корпусу за $300 два DIMM-64 DDR3-800. wink.gif
Там за эти деньги 67 тыс. LUT и 4 Мбит встроенной памяти (LFE3-70E-8FN1156C).
http://www.latticesemi.com/products/fpga/ecp3/index.cfm
http://www.latticestore.com/Cart.aspx?supp...&quantity=1
kark
Цитата(serebr @ Oct 9 2009, 18:59) *
Один DIMM памяти DDR3-800 с шиной данных 64 бита даст 512 бит на частоте 100 МГц. Два таких DIMMа - 512 бит на 200 МГц.


К таким значениям пропускной способности можно приблизиться только в случае чтения данных с последовательными адресами (блоками с последовательными адресами). В случае случайного доступа все будет прилично похуже.
serebr
Цитата(kark @ Oct 25 2009, 17:24) *
К таким значениям пропускной способности можно приблизиться только в случае чтения данных с последовательными адресами (блоками с последовательными адресами). В случае случайного доступа все будет прилично похуже.

Автор темы ничего не сказал о частоте шины данных шириной 500 бит. Например, на потоке 150 МГц предложенный мной вариант вполне сможет работать. Других-то решений всё равно больше никто не предложил, да? wink.gif
Если пофилософствовать, то можно сравнить потребности автора темы с пропускной способностью шины данных памяти настольных PC. Два DIMM в параллель на 800 МГц тактовой - это вполне средняя производительность даже для современного РС. А тут человек хочет получить такую пропускную способность и объёме от 8 МБайт на недорогой FPGA микросхеме. Налицо конфликт требований. Так что даже хоть какое-то приближение к условиям постановки задачи - большое достижение. Если вы так не считаете - предложите свой вариант - померяемся biggrin.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.