Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Какой тип памяти выбрать
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Системы на ПЛИС - System on a Programmable Chip (SoPC)
Страницы: 1, 2
studert
Раньше работал со статической памятью, но для нового проекта необходим объем >2М х16 и скорость ~70 Мгц. Прочитал документацию на микроновскую память mt46v и mt48lc, оба варианта проходят по быстродействию (необходимо обеспечить 70 мегатранзакций в секунду) , объему и цене. Альтера поставляет контроллер для DDR (нашел от них же для SDR), есть еще на opencores для SDR. Выжимать максимум из памяти не требуется, нужно поочередно писать/читать куски размером 512 х32 или 1024 х16. Интересует опыт работы с конкретными ядрами,подводные камни. Пока склоняюсь к использованию DDR и альтеровской мегафункции.
dxp
Цитата(studert @ Oct 30 2007, 11:44) *
Раньше работал со статической памятью, но для нового проекта необходим объем >2М х16 и скорость ~70 Мгц. Прочитал документацию на микроновскую память mt46v и mt48lc, оба варианта проходят по быстродействию (необходимо обеспечить 70 мегатранзакций в секунду) , объему и цене. Альтера поставляет контроллер для DDR (нашел от них же для SDR), есть еще на opencores для SDR. Выжимать максимум из памяти не требуется, нужно поочередно писать/читать куски размером 512 х32 или 1024 х16. Интересует опыт работы с конкретными ядрами,подводные камни. Пока склоняюсь к использованию DDR и альтеровской мегафункции.

Если 70 мег, то SDR будет достаточно. Работать с ней проще во всех отношениях.
studert
А можно поподробнее в чем именно проявятся сложности DDR по сравнению с SDR? Я же хочу взять готовое ядро контроллера, в алтеровской IP 7.2 есть DDR controller, а SDR нашел только универсальный проект и старый альтеровский (у меня цыклон 2ой). Детально разбираться с контроллером и править его не хотелось бы.
0men
DDR гораздо требовательнее к разводке печатной платы.
dxp
Цитата(studert @ Oct 30 2007, 15:44) *
А можно поподробнее в чем именно проявятся сложности DDR по сравнению с SDR? Я же хочу взять готовое ядро контроллера, в алтеровской IP 7.2 есть DDR controller, а SDR нашел только универсальный проект и старый альтеровский (у меня цыклон 2ой). Детально разбираться с контроллером и править его не хотелось бы.

DDR сложнее полюбому - начиная от схемы и трассировки и заканчивая выполнением специальных требований в ПЛИС (размещение сигналов в специально предназначенных пинах, логика считывания данных по обоим фронтам и т.д.). Была бы необходимость, тогда понятно, а так связываться с ней, имхо, ни к чему, если задача решается на SDR. Если только для расширения кругозора. smile.gif
studert
Ну тогда посоветуйте sdr ядро под цыклон 2, или которое не особо сложно адаптируется. Я собственно из-за доступности контроллера в сторону ддр и смотрю.
I.S.A.
SDR проще, это точно. Но есть еще один маленький нюанс. А как быть с доставаемостью микросхем и сколько лет еще ее будут производить. Насколько мне известно, то уже DDR скоро достать будет сложнее чем DDR2. А что насчет SDRAM? Как бы не оказалось, что чипы DDR будут дешевле и производиться будут дольше, тем более, что Ваш проект только начинается...!?
dxp
Цитата(studert @ Oct 30 2007, 17:00) *
Ну тогда посоветуйте sdr ядро под цыклон 2, или которое не особо сложно адаптируется. Я собственно из-за доступности контроллера в сторону ддр и смотрю.

Насчет готовых не скажу. Себе сам контроллер написал.
studert
Можно сказать что проект только начинаетсяsmile.gif из первого воплощения в железе проект уже вырос (4 года назад брали все самое прогрессивное: ep1k30tc144, 512x16 sram, max7128),поэтому разрабатываем новое железо.
dxp
Цитата(I.S.A. @ Oct 30 2007, 17:13) *
SDR проще, это точно. Но есть еще один маленький нюанс. А как быть с доставаемостью микросхем и сколько лет еще ее будут производить. Насколько мне известно, то уже DDR скоро достать будет сложнее чем DDR2. А что насчет SDRAM? Как бы не оказалось, что чипы DDR будут дешевле и производиться будут дольше, тем более, что Ваш проект только начинается...!?

SDR - это уже давно промышленный стандарт, они применяются интенсивно далеко за пределами РС, для которых этот вид памяти умер уже лет пять назад, не меньше. Как следствие, SDR есть в индустриальном исполнении (расширенный температурный диапазон), поддерживается аппаратно тучей embedded процессоров. Т.ч. ждать ее смерти, имхо, преждевременно. А вот насчет DDR такого сказать пока не могу. Возможно, и она займет аналогичную нишу, но ей будет труднее.
rv3dll(lex)
а я всё делаю пока на ZBT(( только она стоит как цугунный мост. и памяти в ней меньше чем в динамической. Смотрел прогрессивные платы обработки там везде ZBT - она то не умрёт случаем?

Как в ядре решить вопрос регенерации и где почитать доходчиво про динамическую память?
dxp
Цитата(rv3dll(lex) @ Oct 30 2007, 17:51) *
Как в ядре решить вопрос регенерации и где почитать доходчиво про динамическую память?

Хорошая дока на сайте Микрона www.micron.com. Есть внятный перевод на страничке Дмитрия Иоффе: http://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm.

С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.
I.S.A.
Цитата(dxp @ Oct 30 2007, 15:39) *
SDR - это уже давно промышленный стандарт, они применяются интенсивно далеко за пределами РС, для которых этот вид памяти умер уже лет пять назад, не меньше. Как следствие, SDR есть в индустриальном исполнении (расширенный температурный диапазон), поддерживается аппаратно тучей embedded процессоров. Т.ч. ждать ее смерти, имхо, преждевременно. А вот насчет DDR такого сказать пока не могу. Возможно, и она займет аналогичную нишу, но ей будет труднее.

Спорный вопрос... но спорить не буду, наверное все действительно так и достать ее можно. И процессоры PentiumIII, да и i486, насколько мне известно, до сих пор производятся. Вот только проблема со сроками, ценой и колличеством. DDR обязательно заменит SDRAM, которую обязательно снимут с производства раньше DDR, т.к. все новые Embedded CPU поддерживают только DDR и DDR2, а предидущие поколения встраиваемых процессоров снимаются с производства (5 - 7 лет срок их гарантированного производства и гарантируемой доставаемости).
Да, DDR будет труднее, ее скорее всего быстро сменит DDR2 через пару лет.

P.S. Отдам голос за DDR2!
0men
Цитата(studert @ Oct 30 2007, 14:00) *
Ну тогда посоветуйте sdr ядро под цыклон 2, или которое не особо сложно адаптируется. Я собственно из-за доступности контроллера в сторону ддр и смотрю.


У альтеры есть референс-дизайн

http://www.altera.com/support/refdesigns/s...f-sdr-sram.html
dxp
Цитата(I.S.A. @ Oct 30 2007, 18:25) *
Спорный вопрос... но спорить не буду, наверное все действительно так и достать ее можно. И процессоры PentiumIII, да и i486, насколько мне известно, до сих пор производятся. Вот только проблема со сроками, ценой и колличеством. DDR обязательно заменит SDRAM, которую обязательно снимут с производства раньше DDR,

Насчет того, что DDR заменит SDR, не согласен. DDR гораздо сложнее и требовательнее в использовании. У них немного разные ниши. Это как утверждение, что 16-битные процы заменят 8-битные и будут в свою очередь заменены на 32-битные. smile.gif Как видим, все они живут и здравствуют по сей день.

Цитата(I.S.A. @ Oct 30 2007, 18:25) *
т.к. все новые Embedded CPU поддерживают только DDR и DDR2, а предидущие поколения встраиваемых процессоров снимаются с производства (5 - 7 лет срок их гарантированного производства и гарантируемой доставаемости).

Т.е. Blackfin - это старый процессор? smile.gif
des00
Цитата(dxp @ Oct 30 2007, 07:21) *
С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.


Что то я не совсем уверен в необходимости регенерации. Если мне не изменяет память регенерация нужна для поддержания зарядов кондеров на затворах полевиков. Но ведь чтение с памяти разрушающее и сразу за чтением идет перезаряд емкостей. Поэтому если период записи/чтения диапазона памяти (например пишем, читаем кадры) не превышает пресловутые 64мкс то регенерация в принципе не нужна.

ЗЫ. Могу ошибаться.
I.S.A.
Цитата(dxp @ Oct 30 2007, 16:48) *
DDR гораздо сложнее и требовательнее в использовании. У них немного разные ниши. Это как утверждение, что 16-битные процы заменят 8-битные и будут в свою очередь заменены на 32-битные. smile.gif Как видим, все они живут и здравствуют по сей день.

Не настолько там все и сложнее. Те же яйца, только вид сбоку. Вместо 3,3V - 2,5V (у DDR2 - 1,8V). Если использовать новые серии ПЛИС, то там ядро запитывается теми же 2,5 или 1,8. Есть поддержа интерфейса LVTTL 2,5 и 1,8V, да и мегафункции у всех есть. Тут, наверное, надо руководствоваться именно ценой компонентов и сроком поставки, а это информация от поставщиков и представителей, с которыми работает организация.

Цитата(dxp @ Oct 30 2007, 16:48) *
Т.е. Blackfin - это старый процессор? smile.gif

Возможно в этой области (AVR, ARM и т.п.) я не очень силен, про BlackFin ничего не скажу. Это контроллер или DSP, а не процессор (в моем понимании). А вот i486, PentiumIII, Sempron, Geode GX, NX, Via C3 и их чипсеты - это старые вещи. Процессоры Pentum M, Celeron M, Core Duo (2), Geode LX, Via C7 и их чипсеты - это новые, и ни один из них не поддерживает SDR (за редким исключением, которое не практикуется). Производители конечно будут поддерживать SDR для embedded, но основную прибыль они все равно получают с х86 (для дома и для промышленного применения), а это и есть один из основных ценообразующих факторов.
анатолий
Цитата
если период записи/чтения диапазона памяти (например пишем, читаем кадры) не превышает пресловутые 64мкс то регенерация в принципе не нужна.

Так оно и есть. Даже более того,
достаточно, чтобы за 1-50 мс были какие-то обращения ко всем строкам памяти,
но только обязательно - ко всем, -
и тогда регенерация не нужна.
Но этот режим не указывается в мануале на память -
и если чего, то фирма не гарантирует.
dxp
Цитата(I.S.A. @ Oct 30 2007, 19:29) *
Не настолько там все и сложнее. Те же яйца, только вид сбоку. Вместо 3,3V - 2,5V (у DDR2 - 1,8V). Если использовать новые серии ПЛИС, то там ядро запитывается теми же 2,5 или 1,8. Есть поддержа интерфейса LVTTL 2,5 и 1,8V, да и мегафункции у всех есть. Тут, наверное, надо руководствоваться именно ценой компонентов и сроком поставки, а это информация от поставщиков и представителей, с которыми работает организация.

А диф разводка? А подтягивающие резисторы на плате? А необходимость заводить сигналы через строго определенные пины ПЛИС? Для SDR ничего этого в принципе не надо.

Цитата(I.S.A. @ Oct 30 2007, 19:29) *
Возможно в этой области (AVR, ARM и т.п.) я не очень силен, про BlackFin ничего не скажу. Это контроллер или DSP, а не процессор (в моем понимании). А вот i486, PentiumIII, Sempron, Geode GX, NX, Via C3 и их чипсеты - это старые вещи. Процессоры Pentum M, Celeron M, Core Duo (2), Geode LX, Via C7 и их чипсеты - это новые, и ни один из них не поддерживает SDR (за редким исключением, которое не практикуется). Производители конечно будут поддерживать SDR для embedded, но основную прибыль они все равно получают с х86 (для дома и для промышленного применения), а это и есть один из основных ценообразующих факторов.

Я же про embedded говорил. С consumer процами ситуация совсем другая. Да и сами они меняются со страшной скоростью.
I.S.A.
Цитата(dxp @ Oct 30 2007, 18:51) *
А диф разводка? А подтягивающие резисторы на плате? А необходимость заводить сигналы через строго определенные пины ПЛИС? Для SDR ничего этого в принципе не надо.

Диф разводка только для тактовых частот и ничего там сложного нет. Подтягивающие резисторы ... этот способ терминирования применяется только если есть несколько разъемов расширения, а для бортовой памяти - резистор в разрыв (точнее сборку). Да, определенные пины ПЛИС, а что делать. Правильная компановка - половина разводки.

Цитата(dxp @ Oct 30 2007, 18:51) *
Я же про embedded говорил. С consumer процами ситуация совсем другая. Да и сами они меняются со страшной скоростью.

Я перечислил embedded, только x86 архитектуры
CaPpuCcino
небольшая ремарочка при выборе между ДДР и СДР. у ДДР есть требование к минимальной частоте тактирования, которая(частота) достаточно высокая - цыфру точно не помню, но как раз где-то порядка 70-80 МГц(?) так, что обратите на это внимание при выборе чипов.
а ZBT уже отходит - у нас были проблемы достать её со склада уже 2 года назад(производитель Cypress)
vetal
Кто нибудь может привести сравнение SDR 32х vs DDR 16х на одинаковой частоте?
Когда смотрел не увидел значительных преимуществ. Только недостатки заметил : усложненная разводка (сложнее разводки 32бит SDR) + 2 доп. питания.
CaPpuCcino
Цитата(vetal @ Oct 30 2007, 21:11) *
Когда смотрел не увидел значительных преимуществ.

колличество ног занятых в ПЛИС smile.gif
I.S.A.
Цитата(vetal @ Oct 30 2007, 21:11) *
Кто нибудь может привести сравнение SDR 32х vs DDR 16х на одинаковой частоте?
Когда смотрел не увидел значительных преимуществ. Только недостатки заметил : усложненная разводка (сложнее разводки 32бит SDR) + 2 доп. питания.

Преимущество только в burst режиме (редкий случай, но бывает) и способность работы на 200МГц. Больше никаких!
rv3dll(lex)
Цитата(CaPpuCcino @ Oct 30 2007, 19:43) *
небольшая ремарочка при выборе между ДДР и СДР. у ДДР есть требование к минимальной частоте тактирования, которая(частота) достаточно высокая - цыфру точно не помню, но как раз где-то порядка 70-80 МГц(?) так, что обратите на это внимание при выборе чипов.
а ZBT уже отходит - у нас были проблемы достать её со склада уже 2 года назад(производитель Cypress)


несколько раз встречал описание памяти СДРАМ с интерфейсом СРАМ или ЗБТ и авто регенерацией
какова цена и на сколько реально купить ?

по поводу регенерации - если это память видеокарты - имеется в виду активная - на сколько я понимаю при кадровой частоте 60 герц обновление 16мс - можно не регенерировать?
rv3dll(lex)
Цитата(dxp @ Oct 30 2007, 15:21) *
Хорошая дока на сайте Микрона www.micron.com. Есть внятный перевод на страничке Дмитрия Иоффе: http://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm.

С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.



там не хватает нескольких картинок - это только у меня или вообще? есть ли ссылка на оригинал?
dxp
Цитата(rv3dll(lex) @ Oct 31 2007, 14:23) *
там не хватает нескольких картинок - это только у меня или вообще? есть ли ссылка на оригинал?

Оригиналы лежат на www.micron.com. Их там эн (на каждую микруху свой - микрухи организацией отличаются, но принцип везде один и тот же).
studert
А где можно посмотреть внятные рекомендации по разводке SDR? Я правильно понял что для нее не нужно лепить кучу резисторов (по 2 на вывод, как в nios ките для ддр)?
0men
Цитата(studert @ Oct 31 2007, 11:57) *
А где можно посмотреть внятные рекомендации по разводке SDR? Я правильно понял что для нее не нужно лепить кучу резисторов (по 2 на вывод, как в nios ките для ддр)?


А что там смотреть? в разрыв каждой линии резистор 33 Ома, и проконтролировать, чтобы длина линии клока была больше всех остальных. Ну и расположить память поближе к плис, все будет работать без проблем.
Iouri
господа позвольте вставить свои 5 копеек
1. ни кто не собирается снимать SDRAM с произодства еще лет 7 информация от микрона
2. достоиства SDARM простота разводки 32 битная шина один источник питания
3. разница по цене между DDRAM and DDRAM II $.40 для 512MBIT
4. если использвать циклон 3 то терминирующие резисторы не нужны (если одна DDRAM II to FPGA)
5. DDRAM II вытесняет DDRAM поэтому лучше использовать DDRAM II
6. Consecutive read/write в DDRAM II позволяет делать full page burst при этом read/write command может приходить раньше на несколь клоков
7. Reconfigurable PLL в Cyclone III позволяетподстраивать DDRAAM II controller находу поэтому если хотите использовать DDRAM II советую Cyclone III
8. лекарство которое подходит к Quartus 7.2 нелечит high performance DDRAM II controller буду благодарен доетору который сможет вылечить
studert
Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.
dxp
Цитата(0men @ Oct 31 2007, 17:50) *
А что там смотреть? в разрыв каждой линии резистор 33 Ома, и проконтролировать, чтобы длина линии клока была больше всех остальных. Ну и расположить память поближе к плис, все будет работать без проблем.

Зависит от. Если все близко, то и резисторов таких не надо, кроме как на клок. У меня на этой шине висят проц, ПЛИС, сдрам и флешка параллельная. Поскольку все рядом, то с целостностью сигналов все в порядке. Резисторы есть только на выходных пинах проца и ПЛИСки, управляющих SCLK. Да и там он на всякий случай, видно, что и без него форма сигнала "в допуске" (у проца фронт не шибко резкий, а в ПЛИСке это настраивается).
vetal
2 I.S.A. :
Пересмотрел, пересчитал....В интересуемом режиме преимуществ не заметно.
для SDR32х : От Read до следущего Write 7 тактов ~70нc на 128 бит инвормации или 17.5нс на слово.
для DDR16х : От Read до следущего Write 5 тактов ~50на на 64 бита информации или 25нс на слово.
Итог: DDR16х проигрывает 30% SDR32х при BL4

Единственное ощутимое преимущество назвал CaPpuCcino smile.gif

PS: У меня наверно предвзятое мнение smile.gif
Iouri
самое главное достоинство DDRAM II это обьем, самый большой недостаток это BGA 0.5mm производство матерится когда их пояет

to: Vetal :

когда вы считали, я думаю дучше использвать период клока для DDRAM равный 5nS и естесвенно двойную выборку(DDR), тогда не так все плохо, также не надо забывать про consecutive read/write
про питание не совсем согласен если увас FPGA работает на 1.8V то тогда только один источник посмотрите Sipex SP2996 стоит порядка $.60 . к вопрсу о бстродействии я пробовал выдовать 148MHZ настандарте 3.3V LVTTL у меня timequest матом ругался пришлось уйти на 1.8 LVTTL так что где надо 3.3V я использую LDO а вся основная часть крутится на 1.8V
vetal
Цитата
когда вы считали, я думаю дучше использвать период клока для DDRAM равный 5nS и естесвенно двойную выборку(DDR),

все учтено smile.gif
rv3dll(lex)
так я и не могу понять зачем такие сложности в работе с динамической памятью.

Цитата(studert @ Oct 31 2007, 15:20) *
Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.


где нашёл контроллеры - пришли ссылки
rv3dll(lex)
начали возникать вопросы

при активации строки указывается номер строки и номер банка
при доступе к колонке - также указывается номер банка

при пречарже можно сбросить один - по адресу 10 и номеру банка банк
а потом его активизировать - уже указав новую строку с помощью команды активизации.


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

пока сплошные загадки
AlexanderX
Можно держать активными все четыре банка. Выигрыш будет при любых длительных последовательных операциях. Более того можно построить контроллер памяти таким образом, что открытие и закрытие строк будет спрятано внутри операций последовательной записи/чтения другого банка. Таким образом можно ощутимо поднять производительность обмена с памятью. Фактически останутся только не производительные расходы на регенерацию и изменение направления шины данных. Хотя с регенерацией тоже можно побороться если ОЧЕНЬ нужно. Для этого нужно внутри команд чтения/записи активировать и затем деактивировать строки в неиспользуемых на данный момент банках. Но я бы несоветовал этим заниматься, контроллер можно сильно усложнить и при этом снизится его рабочая частота sad.gif.
Оптимизацией банков должен заниматься контроллер памяти.
rv3dll(lex)
самое печальное, что это не нужно((((
чтение идёт подрят, а запись выборочная - всё это на ZBT сделано уже без всякого контроллера. А тут городульки начинаются
dxp
Цитата(rv3dll(lex) @ Nov 1 2007, 17:29) *
самое печальное, что это не нужно((((
чтение идёт подрят, а запись выборочная - всё это на ZBT сделано уже без всякого контроллера. А тут городульки начинаются

Если нужно настоящий произвольный доступ, то SDRAM может не подойти в принципе. У нее хорошая скорость (за один такт обращение) только в пределах открытой страницы. Как только попал за пределы - весь цикл, precharge, активация новой страницы, команда - 7 тактов. Если каждое новое обращение будет попадать в новую страницу, то реальная скорость будет 7 тактов на обращение. Это не есть гуд. В одном нашем приборе мы не смогли отказаться от синхронной статики в бользу динамической именно по этой причине - там запись данные ведется по столбцам, а чтение - по строкам. Т.е. один режим получается быстрым, а другой медленным. Посмотрите внимательно, возможно, у вас такая же ситуация.
rv3dll(lex)
Цитата(dxp @ Nov 1 2007, 15:09) *
Если нужно настоящий произвольный доступ, то SDRAM может не подойти в принципе. У нее хорошая скорость (за один такт обращение) только в пределах открытой страницы. Как только попал за пределы - весь цикл, precharge, активация новой страницы, команда - 7 тактов. Если каждое новое обращение будет попадать в новую страницу, то реальная скорость будет 7 тактов на обращение. Это не есть гуд. В одном нашем приборе мы не смогли отказаться от синхронной статики в бользу динамической именно по этой причине - там запись данные ведется по столбцам, а чтение - по строкам. Т.е. один режим получается быстрым, а другой медленным. Посмотрите внимательно, возможно, у вас такая же ситуация.


это память самодельного видеоконтроллера - на ZBT было сделано в лоб
надо 16 бит на цвет - поставили 32 битную
циклы чтения - вывод в экран и записи (там много ещё всего типа копии региона заливки прямоугольников и так далее ) прочередовали. как такового контроллера нет
вот и не знаю искать статику подешевле или разбираться с этой.

почему хотим поменять ZBT дорого
dxp
Цитата(rv3dll(lex) @ Nov 1 2007, 18:27) *
это память самодельного видеоконтроллера - на ZBT было сделано в лоб
надо 16 бит на цвет - поставили 32 битную
циклы чтения - вывод в экран и записи (там много ещё всего типа копии региона заливки прямоугольников и так далее ) прочередовали.

Ну, тут не так страшно, должно получится и на динамической.


Цитата(rv3dll(lex) @ Nov 1 2007, 18:27) *
как такового контроллера нет
вот и не знаю искать статику подешевле или разбираться с этой.

почему хотим поменять ZBT дорого

Сильно дешевле вряд ли найдете - у статики ячейка крупная (много элементов), кристалл большой. Отсюда и цена. Зато настоящий произвольный быстрый доступ. В любую ячейку за одинаковое время. smile.gif
studert
Насчет контроллеров не все коту масленица, реализовано только самое основное, воткнуть в проект и забыть вряд ли получится. Для моего проекта динамическая память подходит практически идеально: сначала последовательно кладу данные с пзс матрицы, затем по мере надобности читаю. Задержка на 7 тактов по сравнению с длиной пакетов (660-1024 слов) капля в море. По поводу того что нашел готового: альтеровский референс дизайн (в этой ветке уже упоминался), и 2 проекта на opencores.org:
sdram и sdram_ctrl.
CaPpuCcino
Цитата(rv3dll(lex) @ Oct 31 2007, 09:45) *
несколько раз встречал описание памяти СДРАМ с интерфейсом СРАМ или ЗБТ и авто регенерацией
какова цена и на сколько реально купить ?

информация от меня вам будет неактуальна - 1) покупка была в Германии 2) срок давности
AKimbo
Цитата(studert @ Nov 1 2007, 15:45) *
По поводу того что нашел готового: альтеровский референс дизайн (в этой ветке уже упоминался), и 2 проекта на opencores.org: sdram и sdram_ctrl.

Еще у Ксайлинкса в XAPP134 Synthesizable High-Performance SDRAM Controllers, описан подробно и с примерами VHDL/Verilog, даже с тестами для симулирования Микроновской MT48LC. Конечно на Альтере в лоб не повторишь, описание содержит примитивы.
slava2005
Не хочу плодить новую тему.

В этой ветке упомянуты аж три(!) контроллера SDR SDRAM (альтеровский и два с опенкоре), однако они все (!) удалены ... maniac.gif

Может кто закачал их себе и сможет поделиться ?
torik
Чего их искать - вместе с квартусом имеются, в SOPC Buildere погляди
Еще вопрос до кучи: какие такие ужасные недостатки у готовых контроллеров памяти у той же альтеры (и т.п.) имеются, что заставляет писать свой контроллер.
Я так понимаю, это необходимо только в случае решения нетривиальных задач?
RHnd
Цитата(torik @ Dec 5 2007, 19:58) *
Еще вопрос до кучи: какие такие ужасные недостатки у готовых контроллеров памяти у той же альтеры (и т.п.) имеются, что заставляет писать свой контроллер.
Я так понимаю, это необходимо только в случае решения нетривиальных задач?

Вроде того. Когда, например, вы заранее знаете особенности алгоритма чтения/записи и за счет этой априорной информации либо существенно упрощаете контроллер, либо получаете выигрыш по скорости. Ну или когда вы просто способны написать контроллер лучше имеющегося. Вроде так.
torik
Ясно smile.gif
Diman_
Делал свой видео контроллер на CycloneI (II, III) + SDRAM x16. Пользовал контроллер в имеющийся в составе SOPS Bilder-a. Все прекрасно работает: вывод двух слоев (в берсте) + формирование картинки (в промежутках между строками (горизонтальные вектора в берсте)). Максимальное разрешение 1280х1024, 70 Гц, 8 бит. Можно было, конечно, и свой контроллер SDR писать, но зачем ?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.