|
Работа с DDR3, Неправильные данные при чтении |
|
|
|
Jan 5 2012, 11:58
|
Частый гость
 
Группа: Свой
Сообщений: 114
Регистрация: 14-08-11
Из: Андорра
Пользователь №: 66 720

|
Цитата(AlphaMil @ Jan 5 2012, 07:37)  Блок MCB Spartan6 выдает при чтении всегда 32'hFFFF. Все сделал по руководству пользователя. Данные читаются из внутреннего для MCB FIFO на 64 слова. Информация в память пишется по другому каналу. При функциональном моделировании все работает на ура.... Подскажите, где копать. Спасибо. Без кода (как минимум, детального описания алгоритма или ссылки на руководство по которому делаете) будет сложно помочь.
|
|
|
|
|
Jan 5 2012, 14:25
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(AlphaMil @ Jan 5 2012, 19:40)  Ориентируюсь на ug388. Код скорее всего ни при чем - при моделировании все работает, все констрейны выполняются. Использую отладочную плату Avnet Spartan-6 LX150T Development Board. Проекты для нее есть только для EDK. Может там сопротивления какие надо указывать. Вообще, что может привести к такому результату??? Из корки торчит сигнальчик calib_done. В каком он у вас положении? Вскочил в 1 или нет? Замечу, что любые транзакции к памяти возможны лишь после того, как этот сигнал вскочит в 1. Кроме того, проверьте UCF файл. Лучше взять "родной" от производителей дев борды. Распиновка UCF файла, сгенрённого MIGом должна соответствовать вашему железу.
|
|
|
|
|
Jan 5 2012, 17:10
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(AlphaMil @ Jan 5 2012, 22:06)  Сигнал калибровки в 1. Все транзакции происходят после этого. Интересно, что внутреннее фифо заполняется чем-то. Т.е. этими 16hFFFF наверное. Файл ucf уже кучу раз перебирал... Не совсем понял откуда взялось 16 бит - вроде у контроллера минимальная ширина шины данных 32 бита. С какого адреса читается 16hFFFF ? Неплохо бы прочитать ВСЮ память. Если даже преположить, что у вас не работает запись (WE забыли, или ещё что-то) то всё равно в каких-то адресах должны остаться следы работы калибровочной машины - паттерны типа 32hAAAAAAAA , 32h55555555 и т.п. Example design, который генерится автоматом при генерации MIG работает на вашем железе?
|
|
|
|
|
Jan 6 2012, 02:22
|
Частый гость
 
Группа: Свой
Сообщений: 102
Регистрация: 11-10-04
Пользователь №: 849

|
Цитата(AlphaMil @ Jan 5 2012, 21:34)  Виноват, конечно 32'hFFFFFFFF. Примерне проверял. Понадеялся на симуляцию. Завтра обязательно проверю. Сигнал We не забыл - при симуляции все работает отлично. Xilinx memory controller - полная лажа. Приходится делать полное выключение питаня чтоб он заработал. Иначе при перезаливке прошивки результаты такие же как и у вас. Про то что сделанная с нуля по инструкциям Xilinx система вообше не работает я уже молчу - пришлось начинать с работаюшего Xilinx примера.
|
|
|
|
|
Jan 6 2012, 11:46
|
Знающий
   
Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032

|
Цитата(AlphaMil @ Jan 6 2012, 17:17)  Попробовал залить во влешку и перезапустить с выключением питания, не спасло. Вообще плата рабочая - дефолтный проект идет, а память там используется. Гм, а ресет у вас правильный?
--------------------
Россия это даже не страна. Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
|
|
|
|
|
Jan 6 2012, 15:55
|
Знающий
   
Группа: Свой
Сообщений: 529
Регистрация: 15-06-05
Из: Питер
Пользователь №: 6 032

|
Цитата(AlphaMil @ Jan 6 2012, 21:51)  Извините, но что значит правильный? Контроллер сбросить надо после включения? У меня сразу сброс контроллера на 0 подключен. Вы пишите, что проект хилых работает, а ваш нет. Как вариант вы используете не тот логический уровень сигнала ресет.
--------------------
Россия это даже не страна. Россия это секрет, завернутый в загадку и укрытый не проницаемой тайной...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|