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

 
 
 
Reply to this topicStart new topic
> SRD SDRAM на контроллере altera
Swup
сообщение Sep 26 2011, 06:11
Сообщение #1


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

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Я начинающий разработчик, так сказать, и мне стало необходимо разобраться с работой разных типов памяти.
SSRAM освоился и заработал довольно таки легко.
При переходе же к SDRAM начались некоторые сложности и проблемы.

Я использую плату DE-2-70 и для начала хочу поднять на ней альтеровский контроллер для микросхемы SDR SDRAM.
Это конечно тестовый проект и там много лишнего ( например ветка с авторегенерацией, я сперва не понял что она есть в контроллере)
Вот сам проект : http://rghost.ru/23075171

Все вроде просто. По нажатию одной кнопки пишутся нарастающие числа, при нажатии другой, собственно, они же и читаются.
В симуляции все сигналы, на мой взгляд, соответствуют требованиям даташита к памяти. В signal tab, вроде та же картина.
Но, на двунаправленной шине с данными (DQ) при чтении ничего не наблюдается.
Собственно в этом и суть вопроса. Почему это может быть и как это решить.

Конечно, прозреваю, что меня щас ткнут носом в абсолютно глупую ошибку, но что уж поделать.
Заранее благодарен.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 26 2011, 08:48
Сообщение #2


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Скачайте у производителя памяти модель на нее и присоедините к дизайну - она вам сразу скажет при симуляции, где ошибка.
Go to the top of the page
 
+Quote Post
barabek
сообщение Sep 26 2011, 23:05
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Swup @ Sep 26 2011, 17:11) *
В симуляции все сигналы, на мой взгляд, соответствуют требованиям даташита к памяти. В signal tab, вроде та же картина.
Но, на двунаправленной шине с данными (DQ) при чтении ничего не наблюдается.


Не понял, где вы смотрите signaltap и где,соответственно, все нормально? И чем Вы смотрите на двунаправленной шине? И что значит на двунаправленной шине - на ножках ПЛИС? Если на ножках и смотрите signaltap, то не увидете, там посмотреть этим инструментом невозможно. В общем, уточните.


Go to the top of the page
 
+Quote Post
Swup
сообщение Sep 27 2011, 05:24
Сообщение #4


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

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Да, на ножках плис, а частности на пинах которые выводятся на ножки плис.
Да и считаю это возможно, по крайней мере можно наблюдать данные на SSRAM читаемые, чем SDRAM отличается?
Go to the top of the page
 
+Quote Post
barabek
сообщение Sep 27 2011, 10:30
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 540
Регистрация: 16-08-07
Из: Владивосток
Пользователь №: 29 831



Цитата(Swup @ Sep 27 2011, 16:24) *
Да, на ножках плис, а частности на пинах которые выводятся на ножки плис.
Да и считаю это возможно, по крайней мере можно наблюдать данные на SSRAM читаемые, чем SDRAM отличается?

Вы не уточнили - посмотреть хотите signaltap? Не, тогда нельзя. Много раз уже эта тема здесь поднималась. Signaltap это некое IP, собранное из тех же внутренних элементов ПЛИС, что и Ваш проект. Соответственно, "провода" к нему (sygnaltap) должны идти. А теперь откройте хэндбук на плис, где описан блок ввода-вывода IOB, и представьте, какие элементы из этого блока используются для вывода, какие для ввода при двунаправленном режиме, и какие элементы Вы бы оставили для sygnaltap. Окажется что их нет! Это дорого и сложно. Гораздо проще завести в Ваш sygnaltap или любое другое IP отладки отдельно выходные сигналы с "проводов" между внутренней структурой и IOB.
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Sep 27 2011, 10:59
Сообщение #6


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

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(Swup @ Sep 27 2011, 08:24) *
по крайней мере можно наблюдать данные на SSRAM читаемые, чем SDRAM отличается?

SDRAM отличается обычно скоростью. Для того, чтобы иметь возможность прицепить signaltap к пинам выход на пин должен идти либо с логики, либо последний триггер, с которого идет выход должен быть размещен не в пине. А это сильно снижает скорость. Если же последний триггер расмещен в пине, как это нужно для построения более-менее быстрого интерфейса (fast output trigger) - то присоединить signaltap туда уже на самом деле нельзя.
Go to the top of the page
 
+Quote Post
Bad0512
сообщение Sep 28 2011, 04:48
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650



Цитата(DmitryR @ Sep 27 2011, 17:59) *
SDRAM отличается обычно скоростью. Для того, чтобы иметь возможность прицепить signaltap к пинам выход на пин должен идти либо с логики, либо последний триггер, с которого идет выход должен быть размещен не в пине. А это сильно снижает скорость. Если же последний триггер расмещен в пине, как это нужно для построения более-менее быстрого интерфейса (fast output trigger) - то присоединить signaltap туда уже на самом деле нельзя.

Тем не менее никто не запрещает поглядеть отдельно шину данных на выход до I/O пина и шину данных на вход после I/O пина.
Однако подозреваю, что проблемы ТС это не решит.Думаю идея начать с функциональной симуляции с моделью памяти была правильной. Другое дело что в процессе этого появится ещё не один десяток вопросов...
Go to the top of the page
 
+Quote Post
COMA
сообщение Sep 28 2011, 06:53
Сообщение #8


Знающий
****

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



Возможно проблема с клоком.
Я в своем проекте с ниосом и SDRAM подвинул фазу на -45 градусов. Рабочая частота 120 Мгц


Go to the top of the page
 
+Quote Post
alevnew
сообщение Sep 28 2011, 09:44
Сообщение #9


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

Группа: Участник
Сообщений: 90
Регистрация: 17-05-07
Пользователь №: 27 775



У меня работает этот контроллер (не уверен в версии, но файлы вроде те же, что у Вас).
А не забываете сделать инициализацию SDRAM ?
т.е. установить CKE=1 и выждать 200 uS (если не подзабыл) и уже потом задавать режим работы SDRAM.
Инициализация именно в мкс, а не в клоках!!!
И это еще не все. Вот во вложении на стр. 43 расписана инициализация.
Без нее микруха не работает.

Сообщение отредактировал alevnew - Sep 28 2011, 09:51
Прикрепленные файлы
Прикрепленный файл  256Mb_sdr.pdf ( 2.45 мегабайт ) Кол-во скачиваний: 51
 
Go to the top of the page
 
+Quote Post
Swup
сообщение Sep 28 2011, 10:42
Сообщение #10


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

Группа: Свой
Сообщений: 127
Регистрация: 2-09-11
Из: Москва
Пользователь №: 66 970



Все было описано верно.
В сигнал табе это посмотреть можно в том виде как сказал Bad0512.

Ошибка, как и предполагал, идиотская. На чип выводил CS[1] вместо CS[0].

" т.е. установить CKE=1 и выждать 200 uS (если не подзабыл) и уже потом задавать режим работы SDRAM.
Инициализация именно в мкс, а не в клоках!!! "

Описано, что надо проводить инициализацию памяти, как минимум, через 200мкс после подключения питания. И нет необходимости выключать клок на чипе. Ну я использовал задержку перед инициализацией 30000, что и есть чуть более 200мкс.

Спасибо за ответы все равно)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:11
Рейтинг@Mail.ru


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