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

Блок MCB Spartan6 выдает при чтении всегда 32'hFFFF. Все сделал по руководству пользователя. Данные читаются из внутреннего для MCB FIFO на 64 слова. Информация в память пишется по другому каналу.

При функциональном моделировании все работает на ура....

Подскажите, где копать. Спасибо.

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


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

Блок MCB Spartan6 выдает при чтении всегда 32'hFFFF. Все сделал по руководству пользователя. Данные читаются из внутреннего для MCB FIFO на 64 слова. Информация в память пишется по другому каналу.

При функциональном моделировании все работает на ура....

Подскажите, где копать. Спасибо.

 

Без кода (как минимум, детального описания алгоритма или ссылки на руководство по которому делаете) будет сложно помочь.

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


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

Ориентируюсь на ug388.

Код скорее всего ни при чем - при моделировании все работает, все констрейны выполняются.

Использую отладочную плату Avnet Spartan-6 LX150T Development Board. Проекты для нее есть только для EDK.

Может там сопротивления какие надо указывать. Вообще, что может привести к такому результату???

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


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

Ориентируюсь на ug388.

Код скорее всего ни при чем - при моделировании все работает, все констрейны выполняются.

Использую отладочную плату Avnet Spartan-6 LX150T Development Board. Проекты для нее есть только для EDK.

Может там сопротивления какие надо указывать. Вообще, что может привести к такому результату???

Из корки торчит сигнальчик calib_done. В каком он у вас положении? Вскочил в 1 или нет? Замечу, что любые транзакции к памяти возможны лишь после того,

как этот сигнал вскочит в 1.

Кроме того, проверьте UCF файл. Лучше взять "родной" от производителей дев борды. Распиновка UCF файла, сгенрённого MIGом должна соответствовать вашему железу.

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


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

Сигнал калибровки в 1. Все транзакции происходят после этого. Интересно, что внутреннее фифо заполняется чем-то. Т.е. этими 16hFFFF наверное. Файл ucf уже кучу раз перебирал...

 

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


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

Сигнал калибровки в 1. Все транзакции происходят после этого. Интересно, что внутреннее фифо заполняется чем-то. Т.е. этими 16hFFFF наверное. Файл ucf уже кучу раз перебирал...

Не совсем понял откуда взялось 16 бит - вроде у контроллера минимальная ширина шины данных 32 бита. С какого адреса читается 16hFFFF ? Неплохо бы прочитать ВСЮ память. Если даже преположить, что у вас не работает запись (WE забыли, или ещё что-то) то всё равно в каких-то адресах должны остаться следы работы калибровочной машины - паттерны типа 32hAAAAAAAA , 32h55555555 и т.п.

Example design, который генерится автоматом при генерации MIG работает на вашем железе?

 

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


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

Виноват, конечно 32'hFFFFFFFF. Примерне проверял. Понадеялся на симуляцию.

Завтра обязательно проверю. Сигнал We не забыл - при симуляции все работает отлично.

Изменено пользователем AlphaMil

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


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

Виноват, конечно 32'hFFFFFFFF. Примерне проверял. Понадеялся на симуляцию.

Завтра обязательно проверю. Сигнал We не забыл - при симуляции все работает отлично.

 

Xilinx memory controller - полная лажа. Приходится делать полное выключение питаня чтоб он заработал. Иначе при перезаливке прошивки результаты такие же как и у вас.

Про то что сделанная с нуля по инструкциям Xilinx система вообше не работает я уже молчу - пришлось начинать с работаюшего Xilinx примера.

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


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

Т.е, alexr22b, надо заливать во флешку и тогда при включении питания должно работать???

А что хилые по этому поводу говорят? Информации нет??

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


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

Попробовал залить во влешку и перезапустить с выключением питания, не спасло.

Вообще плата рабочая - дефолтный проект идет, а память там используется.

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


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

Попробовал залить во влешку и перезапустить с выключением питания, не спасло.

Вообще плата рабочая - дефолтный проект идет, а память там используется.

 

Гм, а ресет у вас правильный?

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


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

Извините, но что значит правильный?

Контроллер сбросить надо после включения? У меня сразу сброс контроллера на 0 подключен.

Изменено пользователем AlphaMil

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


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

Извините, но что значит правильный?

Контроллер сбросить надо после включения? У меня сразу сброс контроллера на 0 подключен.

 

Вы пишите, что проект хилых работает, а ваш нет. Как вариант вы используете не тот логический уровень сигнала ресет.

 

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


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

Проверил, все сигналы такие, какие должны быть. Проблема в сигнале сброса всего ядра. Читаю AR#35976, там эта проблема описывается. Если в проекте хилых сброс тоже сразу на 0 замкнуть - не работает.

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


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

Проблема решена. Все дело оказалось именно в том, что сигнал сброса нельзя кидать на 0. Через счетчик сделал сброс и все заработало.

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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