реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Контроллер SDRAM K4S64163H-UC(L)75, С чего начать реализацию :)
mempfis_
сообщение Sep 21 2006, 11:57
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Привет всем !!! smile.gif))
Возникла у меня необходимость реализовать контроллер SDRAM на основе EPM570.
Так как я только начал осваивать этот тип памяти, то хотелось-бы услышать советы от людей, которые уже работали с SDRAM.
Вопросы у меня вот какие:
- Как правильно произвести инициализацию микросхемы (в каких состояниях должны быть управляющие выводы, что необходимо в неё засылать, какие задержки необходимо выдержать)
- В чём особенности записи/чтения данных для этого типа памяти. Нужно-ли при переключении микросхемы из режима чтения в режим записи и наоборот что-то менять в управляющих регистрах.
- Как и когда проводится регенерация данных, сколько она требует времени.
- Какой из режимов работы наиболее подходящий для непрерывной записи в неё одного кадра изображения (тв, чересстрочная, 50Гц, период дискретизации 62,5 нс или частота 16МГц).

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

Буду благодарен всем откликнувшимся.
Go to the top of the page
 
+Quote Post
maksya
сообщение Sep 21 2006, 12:56
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 253
Регистрация: 28-08-04
Из: Ленинград
Пользователь №: 562



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

При переключении чтении на запись (или наоборот) изменяется только код образующийся на линиях RAS, CAS, WE (команда микросхеме памяти от контроллера). Никаких дополнительных действий с управляющим регистром ИС памяти производить не надо.


--------------------
Лень - это не врожденное чувство русского человека, а средство борьбы с неуемной, но бестолковой энергией начальника.
Go to the top of the page
 
+Quote Post
Gate
сообщение Sep 21 2006, 16:52
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



1. Доки на микросхемы.
2. www.opencores.org - там был контроллер на верилоге, изучайте.
3. у альтеры есть мегакорка, установите ее и изучайте. Декрипторы исходников есть.
Сомневаюсь, что стандартный контроллер можно будет положить в макс2:
1. мал объем
2. там наверняка используется блок внутренней памяти в качестве промежуточного буфера
Так что Вам придется сильно извращаться.


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 22 2006, 04:11
Сообщение #4


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(Gate @ Sep 21 2006, 23:52) *
Сомневаюсь, что стандартный контроллер можно будет положить в макс2:
1. мал объем
2. там наверняка используется блок внутренней памяти в качестве промежуточного буфера
Так что Вам придется сильно извращаться.

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
-Al-
сообщение Sep 22 2006, 04:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



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

А они и не особо нужны, там по таймингам и так все достаточно хорошо, особенно если регистр стоит в LAB, прилегающем к IO элементу, так что это не особо большой минус. А вот отсутствие RAM действительно удручает, может положение изменится с выходом MAX III smile.gif
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 22 2006, 05:53
Сообщение #6


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(-Al- @ Sep 22 2006, 11:38) *
Цитата(dxp @ Sep 22 2006, 08:11) *

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

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

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
-Al-
сообщение Sep 22 2006, 07:26
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



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

В Quartus в Assignment Editor есть опция Fast Output Register, так что руками ставить не придется. Quartus сам поставит туда, куда надо.
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 22 2006, 08:09
Сообщение #8


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(-Al- @ Sep 22 2006, 14:26) *
Цитата(dxp @ Sep 22 2006, 09:53) *

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

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

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

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


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
-Al-
сообщение Sep 22 2006, 08:42
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 330
Регистрация: 10-06-05
Из: Россия, Москва
Пользователь №: 5 894



Цитата(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.
Go to the top of the page
 
+Quote Post
dxp
сообщение Sep 22 2006, 09:33
Сообщение #10


Adept
******

Группа: Свой
Сообщений: 3 469
Регистрация: 6-12-04
Из: Novosibirsk
Пользователь №: 1 343



Цитата(-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?


--------------------
«Отыщи всему начало, и ты многое поймёшь» К. Прутков
Go to the top of the page
 
+Quote Post
Gate
сообщение Sep 24 2006, 20:15
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 859
Регистрация: 7-04-05
Из: Санкт-Петербург
Пользователь №: 3 943



Я нашел у себя в помойке на винчестере какие-то исходники контроллера. Не помню, чьи они, откуда они у меня, работали ли они. Короче, ничего не помню. Но они могут быть неплохим стартом для этой задачи, поскольку (цитата):
// 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.
Прикрепленные файлы
Прикрепленный файл  sdram_controller.rar ( 17.36 килобайт ) Кол-во скачиваний: 186
 


--------------------
"Человек - это существо, которое охотнее всего рассуждает о том, в чем меньше всего разбирается." (с) С.Лем
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 26 2006, 05:54
Сообщение #12


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 26 2006, 05:56
Сообщение #13


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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

а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.


--------------------
Go to the top of the page
 
+Quote Post
backa
сообщение Oct 27 2006, 10:28
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 313
Регистрация: 15-06-05
Из: Минск
Пользователь №: 6 028



Цитата(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
Go to the top of the page
 
+Quote Post
Flanker
сообщение Oct 28 2006, 11:05
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 16-05-05
Из: г.Чебоксары
Пользователь №: 5 090



Цитата(des00 @ Sep 26 2006, 09:54) *
а лучше выдрать 15нс статики, если капчурить 2 кадра D1 1.5 мегабайта за глаза.


Занимаюсь примерно тем же самым. Применил именно SRAM 15нс. Частота работы с памятью 20 МГц. Первый кадр выдаю, второй заливаю. В fifo необходимости нет.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th June 2025 - 17:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01497 секунд с 7
ELECTRONIX ©2004-2016