Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Внешняя память и Virtex6/Spartan6
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Anatol'
Товарищи, правильно ли я понимаю, что в Спартане 6 есть железные блоки управления внешней памятью, а в Виртекс 6 только софтовые?
В чём глубокий смысл такого разделения?

PS Ну и до кучи, в процессе копания появился вопрос - что за зверь такой - QDR SRAM, и почему он SRAM, но во всех описаниях противопоставляется DDR(1/2/3) SDRAM?
Koluchiy
Глубокий смысл такого разделения в том, что на V6 можно этих контроллеров сделать на "рассыпухе" столько, сколько надо и где надо. А можно вообще не делать и => не платить за них денег.
А на S6, по-моему, стандартными средствами фирмы Xilinx в принципе нельзя сделать больше контроллеров внешней памяти, чем есть в железе.
Anatol'
Цитата(Koluchiy @ May 19 2011, 13:49) *
А на S6, по-моему, стандартными средствами фирмы Xilinx в принципе нельзя сделать больше, контроллеров внешней памяти, чем есть в железе.

Да, действительно. Хрень какая-то получается - для S3 я, значит, могу сгенерировать софтовый MCB, а для S6 - нет. Где логика? blink.gif
Bad0512
Цитата(Anatol' @ May 19 2011, 15:19) *
Да, действительно. Хрень какая-то получается - для S3 я, значит, могу сгенерировать софтовый MCB, а для S6 - нет. Где логика? blink.gif

А зачем делать софтовый, который будет заведомо хуже по производительности встроенного? Сделать-то его можно, но ведь это
дополнительные ресурсы (человеко-часы на создание коры, поддержку и т д). Xilinx умеет свои деньги считать.
Anatol'
Цитата(Bad0512 @ May 19 2011, 15:40) *
А зачем делать софтовый, который будет заведомо хуже по производительности встроенного? Сделать-то его можно, но ведь это
дополнительные ресурсы (человеко-часы на создание коры, поддержку и т д). Xilinx умеет свои деньги считать.

А затем, что таким макаром без внешней памяти остаются xc6slx4-16 в малоногих корпусах и вся градация -3N. Ну ладно, предположим, что -3N берут только те, кому память не нужна. Но с мелкими-то как быть? И как быть тем, кому надо больше памяти, чем тянут железные контроллеры?
Учитывая, что у Xilinx есть софтовые контроллеры практически для ВСЕХ семейств, кроме S6, подправить имеющееся для S6 - не слишком грандиозная задача. И то, что они этого не сделали, по-моему, есть проявление неуважения к разработчикам. Или какие-то иезуитские рыночные игры, что, впрочем, не отменяет пункта о неуважении.
Bad0512
Цитата(Anatol' @ May 19 2011, 16:40) *
А затем, что таким макаром без внешней памяти остаются xc6slx4-16 в малоногих корпусах и вся градация -3N. Ну ладно, предположим, что -3N берут только те, кому память не нужна. Но с мелкими-то как быть? И как быть тем, кому надо больше памяти, чем тянут железные контроллеры?
Учитывая, что у Xilinx есть софтовые контроллеры практически для ВСЕХ семейств, кроме S6, подправить имеющееся для S6 - не слишком грандиозная задача. И то, что они этого не сделали, по-моему, есть проявление неуважения к разработчикам. Или какие-то иезуитские рыночные игры, что, впрочем, не отменяет пункта о неуважении.

Всё очень просто.Извраты с софтовым контроллером на S6 нужны 1% пользователей. Xilinx просто тупо посчитали, оказалось что чтобы удовлетворить этот процент придётся угробить энное количество денег и времени на расширение и дополнение уже существующего MIG. Но самое печальное в том, что этот процент потом начисто выест мозг всему саппорту если что-то где-то будет сыпаться. Потом прикинули какие репутационные потери будут если не делать софтовый контроллер вообще. Ну и в итоге решили не делать его.Мелкие корпуса и -3N - это самые дешёвые S6. Xilinx всегда смотрел в сторону hi-end FPGA рынка, всякие там Спартаны - это не основной его бизнес, просто этим тоже надо заниматься, чтобы кастомеры пальцем не тыкали, мол, "альтера может, а вы - нет". Мелкие деньги - мало внимания.
Koluchiy
Цитата(Bad0512 @ May 19 2011, 12:40) *
А зачем делать софтовый, который будет заведомо хуже по производительности встроенного? Сделать-то его можно, но ведь это
дополнительные ресурсы (человеко-часы на создание коры, поддержку и т д). Xilinx умеет свои деньги считать.

Ну например, у меня тут требовали, чтобы я поверх S6 повесил SDR SDRAM sm.gif.
Оказалось, стандартными средствами никак.
Пришлось ставить DDR sm.gif.
Bad0512
Цитата(Koluchiy @ May 19 2011, 19:13) *
Ну например, у меня тут требовали, чтобы я поверх S6 повесил SDR SDRAM sm.gif.

Вот это и назыается "изврат". Когда старую, дорогую и тормозную технологию памяти пытаются прицепить
к достаточно свежей FPGA.SDR надо забыть как страшный сон.

Koluchiy
Ну да. Собственно, хотели вешать DDR2, но начальство уперлось "хочу DDR"...
Ну, поставили DDR.
Bad0512
Цитата(Koluchiy @ May 19 2011, 20:39) *
Ну да. Собственно, хотели вешать DDR2, но начальство уперлось "хочу DDR"...
Ну, поставили DDR.

Как интересно это аргументируется? По всем ТТХ DDR2 делает DDR.
Anatol'
Кстати, может кто в курсе - если вручную ваять, контроллер DDR (1/2/3) будет сильно сложнее, чем обычной SDRAM?
Koluchiy
Цитата(Bad0512 @ May 19 2011, 17:59) *
Как интересно это аргументируется? По всем ТТХ DDR2 делает DDR.

Начальству необязательно что-то аргументировать, их слова, как известно, отливаются в граните sm.gif)).

Цитата
Кстати, может кто в курсе - если вручную ваять

А зачем такие вещи ваять вручную?
Anatol'
Цитата(Koluchiy @ May 29 2011, 15:13) *
Начальству необязательно что-то аргументировать, их слова, как известно, отливаются в граните sm.gif)).

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

Цитата(Koluchiy @ May 29 2011, 15:13) *
А зачем такие вещи ваять вручную?

Ну данная тема как раз и начиналась с такого примера - маленький спартан 6, в котором нет железных контроллеров и для которого нет готового IP.
Или для какого-нибудь Actel...
Не все производители поставляют всё, что требуется. А без привязки к производителю - просто на просторах интернета - мне попался только один контроллер DDR на opencores (по крайней мере, при беглом поиске), и ни одного на DDR2/3.
Так что ситуация, когда надо ваять вручную, по-моему, не исключена.
Контроллер SDRAM я когда-то делал в качестве учебного задания - там ничего особо сложного. Вот и интересно, сильно ли DDRы сложнее.
Koluchiy
Цитата
Если начальство принципиально несгибаемо и не может аргументировать свою точку зрения, то, на мой взгляд, это серьёзный повод задуматься о смене начальства.

Так всё к этому идет sm.gif.

Цитата
Ну данная тема как раз и начиналась с такого примера - маленький спартан 6, в котором нет железных контроллеров и для которого нет готового IP.

Так может, задуматься над установкой Спартана побольше? Есть у меня убеждение, что это не тот вопрос, которым должен заниматься разработчик, если в этом нет сверхпринципиальной необходимости.

На самом деле, в 11-х ISE'ах, насколько я помню, была возможность подключить к S6 софтовый контроллер SDRAM через шину OPB. Но я не пробовал, запуганный errat'ой сразу перешел на 12-е.
Bad0512
Самопальный или "софтовый" контроллер будет проигрывать "железному" более чем в 2 раза в скорости при одинаковой ширине шины данных.
Если производительность важна - об этом стОит задуматься.
AlphaMil
Поясните, за счет чего будет в 2 раз большая скорость при железном ядре? Я конечно не спец в технологии ПЛИС, но мне кажется железно ядро построено на таких же clb, как и софтовое ядро, может только в чем-то оптимизировано. Ядро для динамической памяти писать сложнее будет - надо учитывать авторефреши и бурсты.
Bad0512
Цитата(AlphaMil @ May 30 2011, 00:03) *
Поясните, за счет чего будет в 2 раз большая скорость при железном ядре? Я конечно не спец в технологии ПЛИС, но мне кажется железно ядро построено на таких же clb, как и софтовое ядро, может только в чем-то оптимизировано. Ядро для динамической памяти писать сложнее будет - надо учитывать авторефреши и бурсты.

Скорость будет больше как раз потому, что "железный" контроллер в основном сделан не на "тех же clb", а как отдельный хардверный блок. Соответственно все задержки в "узких" местах в нём доведены до совершенства. Вот пример:
Спартан6 - максимальная тактовая частота для ДДР2 - 400 МГц. Соответственно скорость на каждый пин данных - 800Мb/S. Это естетсвенно самый быстрый спидгрейд и питание ядра 1.23в вместо 1.2 - так надо для 400 МГц.
Спартан3А - софтовый контроллер. Скорость самого семейства в самых быстрых спидгрейдах даже получше чем у 6 спартана, а гарантированная скорость интерфейса к памяти - 166МГц всего. Это даёт
всего 333Mb/S на каждый пин.
Итого - разница больше чем в 2 раза.
Правда, софтовый контроллер можно сделать с шиной данных в 32 бита, а железный максимум 16 бит поддерживает, но и в этом случае он будет чуть тормознее железного.
Кстати, работу контроллера на 400 МГц проверял сам - это реально работает.
Apast
Вообще то, если сильно надо "софтовый" контроллер под Spartan 6 то он есть.

http://www.xilinx.com/support/documentatio...tation/mpmc.pdf

Но я тоже считаю, что это на крайней случай, если надо SDRAM или что-то совсем не стандартное
по размерности шин.
Koluchiy
Цитата(Apast @ May 30 2011, 16:34) *
Вообще то, если сильно надо "софтовый" контроллер под Spartan 6 то он есть.

http://www.xilinx.com/support/documentatio...tation/mpmc.pdf


Из этого документа в частности следует, что MPMC не поддерживает SDRAM для S6.
Bad0512
Цитата(Apast @ May 30 2011, 19:34) *
Вообще то, если сильно надо "софтовый" контроллер под Spartan 6 то он есть.

http://www.xilinx.com/support/documentatio...tation/mpmc.pdf

Но я тоже считаю, что это на крайней случай, если надо SDRAM или что-то совсем не стандартное
по размерности шин.

Судя по описанию на стр.125 MPMC для Spartan6 использует как раз хардверный блочок MCB.
В списке "софтверных" MPMC (стр.66) архитектуры Spartan6 как раз нету.
Apast
Цитата(Bad0512 @ May 30 2011, 16:28) *
Судя по описанию на стр.125 MPMC для Spartan6 использует как раз хардверный блочок MCB.
В списке "софтверных" MPMC (стр.66) архитектуры Spartan6 как раз нету.

Извиняюсь. laughing.gif Тогда посмотрите вот по этой ссылке

http://www.xilinx.com/products/intellectua...YDDR2-SDRAM.htm
Bad0512
Цитата(Apast @ May 31 2011, 09:01) *
Извиняюсь. laughing.gif Тогда посмотрите вот по этой ссылке

http://www.xilinx.com/products/intellectua...YDDR2-SDRAM.htm

Да, это похоже то, что искал ТС. Хочу только заметить что тут речь идёт о PHY, это значит что "мультипортовость" и арбитраж придётся прикручивать к этому дизайну самостоятельно.
В случае же MIG под S6 архитектуру или MPMC мультипортовость является неотъемлемой частью дизайна.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.