Полная версия этой страницы:
Какой тип памяти выбрать
studert
Oct 30 2007, 05:44
Раньше работал со статической памятью, но для нового проекта необходим объем >2М х16 и скорость ~70 Мгц. Прочитал документацию на микроновскую память mt46v и mt48lc, оба варианта проходят по быстродействию (необходимо обеспечить 70 мегатранзакций в секунду) , объему и цене. Альтера поставляет контроллер для DDR (нашел от них же для SDR), есть еще на opencores для SDR. Выжимать максимум из памяти не требуется, нужно поочередно писать/читать куски размером 512 х32 или 1024 х16. Интересует опыт работы с конкретными ядрами,подводные камни. Пока склоняюсь к использованию DDR и альтеровской мегафункции.
Цитата(studert @ Oct 30 2007, 11:44)

Раньше работал со статической памятью, но для нового проекта необходим объем >2М х16 и скорость ~70 Мгц. Прочитал документацию на микроновскую память mt46v и mt48lc, оба варианта проходят по быстродействию (необходимо обеспечить 70 мегатранзакций в секунду) , объему и цене. Альтера поставляет контроллер для DDR (нашел от них же для SDR), есть еще на opencores для SDR. Выжимать максимум из памяти не требуется, нужно поочередно писать/читать куски размером 512 х32 или 1024 х16. Интересует опыт работы с конкретными ядрами,подводные камни. Пока склоняюсь к использованию DDR и альтеровской мегафункции.
Если 70 мег, то SDR будет достаточно. Работать с ней проще во всех отношениях.
studert
Oct 30 2007, 09:44
А можно поподробнее в чем именно проявятся сложности DDR по сравнению с SDR? Я же хочу взять готовое ядро контроллера, в алтеровской IP 7.2 есть DDR controller, а SDR нашел только универсальный проект и старый альтеровский (у меня цыклон 2ой). Детально разбираться с контроллером и править его не хотелось бы.
DDR гораздо требовательнее к разводке печатной платы.
Цитата(studert @ Oct 30 2007, 15:44)

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

Ну тогда посоветуйте sdr ядро под цыклон 2, или которое не особо сложно адаптируется. Я собственно из-за доступности контроллера в сторону ддр и смотрю.
Насчет готовых не скажу. Себе сам контроллер написал.
studert
Oct 30 2007, 11:38
Можно сказать что проект только начинается

из первого воплощения в железе проект уже вырос (4 года назад брали все самое прогрессивное: ep1k30tc144, 512x16 sram, max7128),поэтому разрабатываем новое железо.
Цитата(I.S.A. @ Oct 30 2007, 17:13)

SDR проще, это точно. Но есть еще один маленький нюанс. А как быть с доставаемостью микросхем и сколько лет еще ее будут производить. Насколько мне известно, то уже DDR скоро достать будет сложнее чем DDR2. А что насчет SDRAM? Как бы не оказалось, что чипы DDR будут дешевле и производиться будут дольше, тем более, что Ваш проект только начинается...!?
SDR - это уже давно промышленный стандарт, они применяются интенсивно далеко за пределами РС, для которых этот вид памяти умер уже лет пять назад, не меньше. Как следствие, SDR есть в индустриальном исполнении (расширенный температурный диапазон), поддерживается аппаратно тучей embedded процессоров. Т.ч. ждать ее смерти, имхо, преждевременно. А вот насчет DDR такого сказать пока не могу. Возможно, и она займет аналогичную нишу, но ей будет труднее.
rv3dll(lex)
Oct 30 2007, 11:51
а я всё делаю пока на ZBT(( только она стоит как цугунный мост. и памяти в ней меньше чем в динамической. Смотрел прогрессивные платы обработки там везде ZBT - она то не умрёт случаем?
Как в ядре решить вопрос регенерации и где почитать доходчиво про динамическую память?
Цитата(rv3dll(lex) @ Oct 30 2007, 17:51)

Как в ядре решить вопрос регенерации и где почитать доходчиво про динамическую память?
Хорошая дока на сайте Микрона www.micron.com. Есть внятный перевод на страничке Дмитрия Иоффе:
http://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm.
С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.
I.S.A.
Oct 30 2007, 12:25
Цитата(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!
Цитата(studert @ Oct 30 2007, 14:00)

Ну тогда посоветуйте sdr ядро под цыклон 2, или которое не особо сложно адаптируется. Я собственно из-за доступности контроллера в сторону ддр и смотрю.
У альтеры есть референс-дизайн
http://www.altera.com/support/refdesigns/s...f-sdr-sram.html
Цитата(I.S.A. @ Oct 30 2007, 18:25)

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

Как видим, все они живут и здравствуют по сей день.
Цитата(I.S.A. @ Oct 30 2007, 18:25)

т.к. все новые Embedded CPU поддерживают только DDR и DDR2, а предидущие поколения встраиваемых процессоров снимаются с производства (5 - 7 лет срок их гарантированного производства и гарантируемой доставаемости).
Т.е. Blackfin - это старый процессор?
Цитата(dxp @ Oct 30 2007, 07:21)

С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.
Что то я не совсем уверен в необходимости регенерации. Если мне не изменяет память регенерация нужна для поддержания зарядов кондеров на затворах полевиков. Но ведь чтение с памяти разрушающее и сразу за чтением идет перезаряд емкостей. Поэтому если период записи/чтения диапазона памяти (например пишем, читаем кадры) не превышает пресловутые 64мкс то регенерация в принципе не нужна.
ЗЫ. Могу ошибаться.
I.S.A.
Oct 30 2007, 13:29
Цитата(dxp @ Oct 30 2007, 16:48)

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

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

Т.е. Blackfin - это старый процессор?

Возможно в этой области (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 (для дома и для промышленного применения), а это и есть один из основных ценообразующих факторов.
анатолий
Oct 30 2007, 13:35
Цитата
если период записи/чтения диапазона памяти (например пишем, читаем кадры) не превышает пресловутые 64мкс то регенерация в принципе не нужна.
Так оно и есть. Даже более того,
достаточно, чтобы за 1-50 мс были какие-то обращения ко всем строкам памяти,
но только обязательно - ко всем, -
и тогда регенерация не нужна.
Но этот режим не указывается в мануале на память -
и если чего, то фирма не гарантирует.
Цитата(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.
Oct 30 2007, 15:51
Цитата(dxp @ Oct 30 2007, 18:51)

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

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

Когда смотрел не увидел значительных преимуществ.
колличество ног занятых в ПЛИС
I.S.A.
Oct 30 2007, 18:50
Цитата(vetal @ Oct 30 2007, 21:11)

Кто нибудь может привести сравнение SDR 32х vs DDR 16х на одинаковой частоте?
Когда смотрел не увидел значительных преимуществ. Только недостатки заметил : усложненная разводка (сложнее разводки 32бит SDR) + 2 доп. питания.
Преимущество только в burst режиме (редкий случай, но бывает) и способность работы на 200МГц. Больше никаких!
rv3dll(lex)
Oct 31 2007, 05:45
Цитата(CaPpuCcino @ Oct 30 2007, 19:43)

небольшая ремарочка при выборе между ДДР и СДР. у ДДР есть требование к минимальной частоте тактирования, которая(частота) достаточно высокая - цыфру точно не помню, но как раз где-то порядка 70-80 МГц(?) так, что обратите на это внимание при выборе чипов.
а ZBT уже отходит - у нас были проблемы достать её со склада уже 2 года назад(производитель Cypress)
несколько раз встречал описание памяти СДРАМ с интерфейсом СРАМ или ЗБТ и авто регенерацией
какова цена и на сколько реально купить ?
по поводу регенерации - если это память видеокарты - имеется в виду активная - на сколько я понимаю при кадровой частоте 60 герц обновление 16мс - можно не регенерировать?
rv3dll(lex)
Oct 31 2007, 08:23
Цитата(dxp @ Oct 30 2007, 15:21)

Хорошая дока на сайте Микрона www.micron.com. Есть внятный перевод на страничке Дмитрия Иоффе:
http://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm.
С регенерацией картина следующая: все страницы памяти должны пройти регенерацию хотя бы один раз в 64 мс. Если, скажем, в памяти содержится 8192 страницы, то нужно дать 8192 команды регенерации. Как их давать, роли не играет - можно их сразу все выдать, можно равномерно распределить по времени, можно в паузах между полезными транзакциями. Для самой памяти принципиальной разницы нет. Главное, чтобы в пределах указанного времени все нужное количество команд регененации было выдано. Хотя реально там запас большой - народ ставил эксперименты, она до нескольких секунд помнит без регенерации. Но делать, конечно, нужно в любом случае в соответствии с требованиями документации.
там не хватает нескольких картинок - это только у меня или вообще? есть ли ссылка на оригинал?
Цитата(rv3dll(lex) @ Oct 31 2007, 14:23)

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

А где можно посмотреть внятные рекомендации по разводке SDR? Я правильно понял что для нее не нужно лепить кучу резисторов (по 2 на вывод, как в nios ките для ддр)?
А что там смотреть? в разрыв каждой линии резистор 33 Ома, и проконтролировать, чтобы длина линии клока была больше всех остальных. Ну и расположить память поближе к плис, все будет работать без проблем.
господа позвольте вставить свои 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
Oct 31 2007, 12:20
Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.
Цитата(0men @ Oct 31 2007, 17:50)

А что там смотреть? в разрыв каждой линии резистор 33 Ома, и проконтролировать, чтобы длина линии клока была больше всех остальных. Ну и расположить память поближе к плис, все будет работать без проблем.
Зависит от. Если все близко, то и резисторов таких не надо, кроме как на клок. У меня на этой шине висят проц, ПЛИС, сдрам и флешка параллельная. Поскольку все рядом, то с целостностью сигналов все в порядке. Резисторы есть только на выходных пинах проца и ПЛИСки, управляющих SCLK. Да и там он на всякий случай, видно, что и без него форма сигнала "в допуске" (у проца фронт не шибко резкий, а в ПЛИСке это настраивается).
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

PS: У меня наверно предвзятое мнение
самое главное достоинство 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
Цитата
когда вы считали, я думаю дучше использвать период клока для DDRAM равный 5nS и естесвенно двойную выборку(DDR),
все учтено
rv3dll(lex)
Nov 1 2007, 05:21
так я и не могу понять зачем такие сложности в работе с динамической памятью.
Цитата(studert @ Oct 31 2007, 15:20)

Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.
где нашёл контроллеры - пришли ссылки
rv3dll(lex)
Nov 1 2007, 08:26
начали возникать вопросы
при активации строки указывается номер строки и номер банка
при доступе к колонке - также указывается номер банка
при пречарже можно сбросить один - по адресу 10 и номеру банка банк
а потом его активизировать - уже указав новую строку с помощью команды активизации.
- значит ли это что несколько банков может быть активно и можно переключаться меж ними?
-если да то на каком уровне это лучше делать в контроллере памяти? на сколько я понимаю будет выигрышь при математических операциях когда данные берутся с 2х банков а кладуться в третий.
Кто занимается оптимизацией выбора активных банков если нет процессора.
пока сплошные загадки
AlexanderX
Nov 1 2007, 09:03
Можно держать активными все четыре банка. Выигрыш будет при любых длительных последовательных операциях. Более того можно построить контроллер памяти таким образом, что открытие и закрытие строк будет спрятано внутри операций последовательной записи/чтения другого банка. Таким образом можно ощутимо поднять производительность обмена с памятью. Фактически останутся только не производительные расходы на регенерацию и изменение направления шины данных. Хотя с регенерацией тоже можно побороться если ОЧЕНЬ нужно. Для этого нужно внутри команд чтения/записи активировать и затем деактивировать строки в неиспользуемых на данный момент банках. Но я бы несоветовал этим заниматься, контроллер можно сильно усложнить и при этом снизится его рабочая частота

.
Оптимизацией банков должен заниматься контроллер памяти.
rv3dll(lex)
Nov 1 2007, 11:29
самое печальное, что это не нужно((((
чтение идёт подрят, а запись выборочная - всё это на ZBT сделано уже без всякого контроллера. А тут городульки начинаются
Цитата(rv3dll(lex) @ Nov 1 2007, 17:29)

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

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

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

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

несколько раз встречал описание памяти СДРАМ с интерфейсом СРАМ или ЗБТ и авто регенерацией
какова цена и на сколько реально купить ?
информация от меня вам будет неактуальна - 1) покупка была в Германии 2) срок давности
Цитата(studert @ Nov 1 2007, 15:45)

По поводу того что нашел готового: альтеровский референс дизайн (в этой ветке уже упоминался), и 2 проекта на opencores.org: sdram и sdram_ctrl.
Еще у Ксайлинкса в XAPP134 Synthesizable High-Performance SDRAM Controllers, описан подробно и с примерами VHDL/Verilog, даже с тестами для симулирования Микроновской MT48LC. Конечно на Альтере в лоб не повторишь, описание содержит примитивы.
slava2005
Dec 5 2007, 09:59
Не хочу плодить новую тему.
В этой ветке упомянуты аж три(!) контроллера SDR SDRAM (альтеровский и два с опенкоре), однако они все (!) удалены ...
Может кто закачал их себе и сможет поделиться ?
Чего их искать - вместе с квартусом имеются, в SOPC Buildere погляди
Еще вопрос до кучи: какие такие ужасные недостатки у готовых контроллеров памяти у той же альтеры (и т.п.) имеются, что заставляет писать свой контроллер.
Я так понимаю, это необходимо только в случае решения нетривиальных задач?
Цитата(torik @ Dec 5 2007, 19:58)

Еще вопрос до кучи: какие такие ужасные недостатки у готовых контроллеров памяти у той же альтеры (и т.п.) имеются, что заставляет писать свой контроллер.
Я так понимаю, это необходимо только в случае решения нетривиальных задач?
Вроде того. Когда, например, вы заранее знаете особенности алгоритма чтения/записи и за счет этой априорной информации либо существенно упрощаете контроллер, либо получаете выигрыш по скорости. Ну или когда вы просто способны написать контроллер лучше имеющегося. Вроде так.
Ясно
Diman_
Dec 13 2007, 06:04
Делал свой видео контроллер на CycloneI (II, III) + SDRAM x16. Пользовал контроллер в имеющийся в составе SOPS Bilder-a. Все прекрасно работает: вывод двух слоев (в берсте) + формирование картинки (в промежутках между строками (горизонтальные вектора в берсте)). Максимальное разрешение 1280х1024, 70 Гц, 8 бит. Можно было, конечно, и свой контроллер SDR писать, но зачем ?
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.