Перейти к содержанию
    

Какой тип памяти выбрать

Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что там смотреть? в разрыв каждой линии резистор 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),

все учтено :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Всем спасибо за ответы. С памятью определился, приступаю к разводке. SDR SDRAM вроде действительно не такая страшная, как сначала показалось. Нашел два проекта контроллера, буду разбираться и править под себя.

 

где нашёл контроллеры - пришли ссылки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

начали возникать вопросы

 

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

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

 

при пречарже можно сбросить один - по адресу 10 и номеру банка банк

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

 

 

- значит ли это что несколько банков может быть активно и можно переключаться меж ними?

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

Кто занимается оптимизацией выбора активных банков если нет процессора.

 

пока сплошные загадки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно держать активными все четыре банка. Выигрыш будет при любых длительных последовательных операциях. Более того можно построить контроллер памяти таким образом, что открытие и закрытие строк будет спрятано внутри операций последовательной записи/чтения другого банка. Таким образом можно ощутимо поднять производительность обмена с памятью. Фактически останутся только не производительные расходы на регенерацию и изменение направления шины данных. Хотя с регенерацией тоже можно побороться если ОЧЕНЬ нужно. Для этого нужно внутри команд чтения/записи активировать и затем деактивировать строки в неиспользуемых на данный момент банках. Но я бы несоветовал этим заниматься, контроллер можно сильно усложнить и при этом снизится его рабочая частота :(.

Оптимизацией банков должен заниматься контроллер памяти.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самое печальное, что это не нужно((((

чтение идёт подрят, а запись выборочная - всё это на ZBT сделано уже без всякого контроллера. А тут городульки начинаются

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

самое печальное, что это не нужно((((

чтение идёт подрят, а запись выборочная - всё это на ZBT сделано уже без всякого контроллера. А тут городульки начинаются

Если нужно настоящий произвольный доступ, то SDRAM может не подойти в принципе. У нее хорошая скорость (за один такт обращение) только в пределах открытой страницы. Как только попал за пределы - весь цикл, precharge, активация новой страницы, команда - 7 тактов. Если каждое новое обращение будет попадать в новую страницу, то реальная скорость будет 7 тактов на обращение. Это не есть гуд. В одном нашем приборе мы не смогли отказаться от синхронной статики в бользу динамической именно по этой причине - там запись данные ведется по столбцам, а чтение - по строкам. Т.е. один режим получается быстрым, а другой медленным. Посмотрите внимательно, возможно, у вас такая же ситуация.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если нужно настоящий произвольный доступ, то SDRAM может не подойти в принципе. У нее хорошая скорость (за один такт обращение) только в пределах открытой страницы. Как только попал за пределы - весь цикл, precharge, активация новой страницы, команда - 7 тактов. Если каждое новое обращение будет попадать в новую страницу, то реальная скорость будет 7 тактов на обращение. Это не есть гуд. В одном нашем приборе мы не смогли отказаться от синхронной статики в бользу динамической именно по этой причине - там запись данные ведется по столбцам, а чтение - по строкам. Т.е. один режим получается быстрым, а другой медленным. Посмотрите внимательно, возможно, у вас такая же ситуация.

 

это память самодельного видеоконтроллера - на ZBT было сделано в лоб

надо 16 бит на цвет - поставили 32 битную

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

вот и не знаю искать статику подешевле или разбираться с этой.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это память самодельного видеоконтроллера - на ZBT было сделано в лоб

надо 16 бит на цвет - поставили 32 битную

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

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

 

 

как такового контроллера нет

вот и не знаю искать статику подешевле или разбираться с этой.

 

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

Сильно дешевле вряд ли найдете - у статики ячейка крупная (много элементов), кристалл большой. Отсюда и цена. Зато настоящий произвольный быстрый доступ. В любую ячейку за одинаковое время. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насчет контроллеров не все коту масленица, реализовано только самое основное, воткнуть в проект и забыть вряд ли получится. Для моего проекта динамическая память подходит практически идеально: сначала последовательно кладу данные с пзс матрицы, затем по мере надобности читаю. Задержка на 7 тактов по сравнению с длиной пакетов (660-1024 слов) капля в море. По поводу того что нашел готового: альтеровский референс дизайн (в этой ветке уже упоминался), и 2 проекта на opencores.org:

sdram и sdram_ctrl.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

какова цена и на сколько реально купить ?

информация от меня вам будет неактуальна - 1) покупка была в Германии 2) срок давности

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

По поводу того что нашел готового: альтеровский референс дизайн (в этой ветке уже упоминался), и 2 проекта на opencores.org: sdram и sdram_ctrl.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...