Jump to content

    

Recommended Posts

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

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

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

Share this post


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

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

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

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

Share this post


Link to post
Share on other sites
Ориентируюсь на ug388.

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

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

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

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

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

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

Share this post


Link to post
Share on other sites

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

 

Share this post


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

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

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

 

Share this post


Link to post
Share on other sites

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

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

Edited by AlphaMil

Share this post


Link to post
Share on other sites
Виноват, конечно 32'hFFFFFFFF. Примерне проверял. Понадеялся на симуляцию.

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

 

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
Попробовал залить во влешку и перезапустить с выключением питания, не спасло.

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

 

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

Share this post


Link to post
Share on other sites

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

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

Edited by AlphaMil

Share this post


Link to post
Share on other sites
Извините, но что значит правильный?

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

 

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

 

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this