Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Контроллер SDRAM K4S64163H-UC(L)75
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
mempfis_
Привет всем !!! smile.gif))
Возникла у меня необходимость реализовать контроллер SDRAM на основе EPM570.
Так как я только начал осваивать этот тип памяти, то хотелось-бы услышать советы от людей, которые уже работали с SDRAM.
Вопросы у меня вот какие:
- Как правильно произвести инициализацию микросхемы (в каких состояниях должны быть управляющие выводы, что необходимо в неё засылать, какие задержки необходимо выдержать)
- В чём особенности записи/чтения данных для этого типа памяти. Нужно-ли при переключении микросхемы из режима чтения в режим записи и наоборот что-то менять в управляющих регистрах.
- Как и когда проводится регенерация данных, сколько она требует времени.
- Какой из режимов работы наиболее подходящий для непрерывной записи в неё одного кадра изображения (тв, чересстрочная, 50Гц, период дискретизации 62,5 нс или частота 16МГц).

Я подумал, что для непрерывной записи/считывания может подойти режим чтения полной строки с переключением банков (full page & interleaving).

Буду благодарен всем откликнувшимся.
maksya
Пункты 1-3 Вам врядли кто-либо разъяснит толковей чем документация к микросхеме памяти. Качайте и читайте.

При переключении чтении на запись (или наоборот) изменяется только код образующийся на линиях RAS, CAS, WE (команда микросхеме памяти от контроллера). Никаких дополнительных действий с управляющим регистром ИС памяти производить не надо.
Gate
1. Доки на микросхемы.
2. www.opencores.org - там был контроллер на верилоге, изучайте.
3. у альтеры есть мегакорка, установите ее и изучайте. Декрипторы исходников есть.
Сомневаюсь, что стандартный контроллер можно будет положить в макс2:
1. мал объем
2. там наверняка используется блок внутренней памяти в качестве промежуточного буфера
Так что Вам придется сильно извращаться.
dxp
Цитата(Gate @ Sep 21 2006, 23:52) *
Сомневаюсь, что стандартный контроллер можно будет положить в макс2:
1. мал объем
2. там наверняка используется блок внутренней памяти в качестве промежуточного буфера
Так что Вам придется сильно извращаться.

Да, Макс2 не очень подходит для этой задачи. У него нет памяти, а буферизация, как правило, всегда нужна на быстрых потоках данных. Второй большой минус - у него нет регистров в IO элементах. Т.е. тут и с времянками будет туговато. Лучше взять нормальную FPGA.
-Al-
Цитата(dxp @ Sep 22 2006, 08:11) *
Да, Макс2 не очень подходит для этой задачи. У него нет памяти, а буферизация, как правило, всегда нужна на быстрых потоках данных. Второй большой минус - у него нет регистров в IO элементах. Т.е. тут и с времянками будет туговато. Лучше взять нормальную FPGA.

А они и не особо нужны, там по таймингам и так все достаточно хорошо, особенно если регистр стоит в LAB, прилегающем к IO элементу, так что это не особо большой минус. А вот отсутствие RAM действительно удручает, может положение изменится с выходом MAX III smile.gif
dxp
Цитата(-Al- @ Sep 22 2006, 11:38) *
Цитата(dxp @ Sep 22 2006, 08:11) *

Да, Макс2 не очень подходит для этой задачи. У него нет памяти, а буферизация, как правило, всегда нужна на быстрых потоках данных. Второй большой минус - у него нет регистров в IO элементах. Т.е. тут и с времянками будет туговато. Лучше взять нормальную FPGA.

А они и не особо нужны, там по таймингам и так все достаточно хорошо, особенно если регистр стоит в LAB, прилегающем к IO элементу, так что это не особо большой минус.

...если... А если не стоит? Руками ставить? Гемор, имхо, все это. Во-вторых, смотря какая скорость нужна.
-Al-
Цитата(dxp @ Sep 22 2006, 09:53) *
...если... А если не стоит? Руками ставить? Гемор, имхо, все это. Во-вторых, смотря какая скорость нужна.

В Quartus в Assignment Editor есть опция Fast Output Register, так что руками ставить не придется. Quartus сам поставит туда, куда надо.
dxp
Цитата(-Al- @ Sep 22 2006, 14:26) *
Цитата(dxp @ Sep 22 2006, 09:53) *

...если... А если не стоит? Руками ставить? Гемор, имхо, все это. Во-вторых, смотря какая скорость нужна.

В Quartus в Assignment Editor есть опция Fast Output Register, так что руками ставить не придется. Quartus сам поставит туда, куда надо.

Это Вы точно знаете (оно документировано) или догадка?

Fast IO, насколько помню, - это как раз указание разместить регистр в IO элементе.
-Al-
Цитата(dxp @ Sep 22 2006, 12:09) *
Это Вы точно знаете (оно документировано) или догадка?

Fast IO, насколько помню, - это как раз указание разместить регистр в IO элементе.

Цитата
Implements an output register in a cell that has a fast, direct connection to an I/O pin. If such a fast, direct connection to the I/O pin is not available in the I/O cell hardware, this option instructs the Fitter to lock the output register in the LAB adjacent to the I/O cell it is feeding.Turning on the Fast Output Register option can help maximize I/O timing performance, for example, by permitting fast clock-to-output times. Turning this option off for a particular signal prevents the Fitter from implementing the signal automatically in an I/O cell or locking down the output register in the LAB adjacent to the I/O cell. This option is ignored if it is applied to anything other than a register or an output or bidirectional pin fed by a register.
dxp
Цитата(-Al- @ Sep 22 2006, 15:42) *
Цитата
Implements an output register in a cell that has a fast, direct connection to an I/O pin. If such a fast, direct connection to the I/O pin is not available in the I/O cell hardware, this option instructs the Fitter to lock the output register in the LAB adjacent to the I/O cell it is feeding.Turning on the Fast Output Register option can help maximize I/O timing performance, for example, by permitting fast clock-to-output times. Turning this option off for a particular signal prevents the Fitter from implementing the signal automatically in an I/O cell or locking down the output register in the LAB adjacent to the I/O cell. This option is ignored if it is applied to anything other than a register or an output or bidirectional pin fed by a register.


А времянку конкретную не смотрели? Сколько от регистра до пина сигнал идет. Например, я специально смотрел этот момент у Cyclone EP1C6T144I7, там получается так: от фронта клока до появления сигнала на пине 2.270-2.285 нс (в зависимости от банка). Сюда входит tCO и задержка на разводке от триггера до пина. А как будет в случае Макс2 с его Fast IO?
Gate
Я нашел у себя в помойке на винчестере какие-то исходники контроллера. Не помню, чьи они, откуда они у меня, работали ли они. Короче, ничего не помню. Но они могут быть неплохим стартом для этой задачи, поскольку (цитата):
// The interface to the host (i.e. microprocessor, DSP, etc) is synchronous
// and supports ony one transfer at a time. That is, burst-mode transfers
// are not yet supported. In may ways, the interface to this core is much
// like that of a typical SRAM.
и блоков память там не используется, так что может влезть и в макс2.
des00
а зачем ему на 16МГц большое внутренне буферирование, если память заставить молотить на 100МГц, получим 6,25 такта на 1 запись, на 100мгц,
средняя запись это act (2) + cas(1) + write (1) + precharge(2) = 6 тактов.
правда с регенерацией проблемы будут. фифо на 4 слова не помешает.

а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.
des00
а зачем ему на 16МГц большое внутренне буферирование, если память заставить молотить на 100МГц, получим 6,25 такта на 1 запись, на 100мгц,
средняя запись это act (2) + cas(1) + write (1) + precharge(2) = 6 тактов.
правда с регенерацией проблемы будут. фифо на 4 слова не помешает.

а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.
backa
Цитата(mempfis_ @ Sep 21 2006, 14:57) *
Привет всем !!! smile.gif))
Возникла у меня необходимость реализовать контроллер SDRAM на основе EPM570.
Так как я только начал осваивать этот тип памяти, то хотелось-бы услышать советы от людей, которые уже работали с SDRAM.
Вопросы у меня вот какие:
- Как правильно произвести инициализацию микросхемы (в каких состояниях должны быть управляющие выводы, что необходимо в неё засылать, какие задержки необходимо выдержать)
- В чём особенности записи/чтения данных для этого типа памяти. Нужно-ли при переключении микросхемы из режима чтения в режим записи и наоборот что-то менять в управляющих регистрах.
- Как и когда проводится регенерация данных, сколько она требует времени.
- Какой из режимов работы наиболее подходящий для непрерывной записи в неё одного кадра изображения (тв, чересстрочная, 50Гц, период дискретизации 62,5 нс или частота 16МГц).

Я подумал, что для непрерывной записи/считывания может подойти режим чтения полной строки с переключением банков (full page & interleaving).

Буду благодарен всем откликнувшимся.

могу порекомендовать неплохую статью
рррр://www.dsioffe.narod.ru/mysdram/MyMicronSDRAM.htm
Flanker
Цитата(des00 @ Sep 26 2006, 09:54) *
а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.


Занимаюсь примерно тем же самым. Применил именно SRAM 15нс. Частота работы с памятью 20 МГц. Первый кадр выдаю, второй заливаю. В fifo необходимости нет.
cf7k
"The ABC of SDRAMemory"

http://www.analog.com/UploadedFiles/Applic...582452EE126.pdf
WingLion
Когдс-то в Фидо-конференции pvt.hardw.max2plus было мое сообщение с топиком
"Простой Контролер SD-RAM"... Сейчас попытаюсь найти
Хм... далеко зарыто.

Вот так будет проще:
http://fforum.winglion.ru/viewtopic.php?p=4154#4154
BuTeK
Цитата(WingLion @ Nov 18 2006, 07:39) *
Когдс-то в Фидо-конференции pvt.hardw.max2plus было мое сообщение с топиком
"Простой Контролер SD-RAM"... Сейчас попытаюсь найти
Хм... далеко зарыто.

Вот так будет проще:
http://fforum.winglion.ru/viewtopic.php?p=4154#4154


Очень интересно!!! wink.gif А такого же только на VHDL нет?
WingLion
Цитата
Очень интересно!!! wink.gif А такого же только на VHDL нет?


Увы... с VHDL я не особенно дружен, поэтому вряд ли смогу перевести.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.