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

    

sf9

Участник
  • Публикаций

    35
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о sf9

  • Звание
    Участник

Контакты

  • Сайт
    http://

Информация

  • Город
    Москва

Посетители профиля

460 просмотров профиля
  1. Цитата(Burenkov Sergey @ Mar 27 2018, 14:50) Наверное две отдельные прошивки не нужны. Сделайте общее адресное пространство для обеих микросхем, и две сборки софта где просто разные регионы будут указаны. Бутлоадер у вас должен стартовать из ончип, проверять микросхемы и загружать тот hex который соответствует рабочей памяти. Ну и в коде MB нельзя будет писать в память по абсолютным адресам, только по смещениям внутри регионов Спасибо! Очень интересная идея. Вы уже пробовали собирать подобный проект?
  2. Цитата(Burenkov Sergey @ Mar 27 2018, 14:00) Микроблейз у вас работает на ончип памяти? Я имею ввиду код, стек, куча и тд? Обычно кэш это кусок ончип памяти, куда складываются данные из медленной DDR. Каким образом у вас кеширование производится? Сергей, используется загрузчик, который выгружает исполняемый код для McBlaze из Flash в DDR. Настройки в .ld файле (при компиляции) выполнены для работы из DDR. Кэширование задается при сборке платформы в настройках коры McBlaze, область памяти, как у DDR.
  3. Цитата(iosifk @ Mar 27 2018, 12:35) так в чем проблемы? У Вас же данные из внешней памяти идут не сразу в микроконтроллер, а наверняка в контроллер ДДР, который тоже внутри ПЛИС. Так вот там можно все и сделать. А уж если есть 2 раздельных шины для ДДР, то можно одновременно считывать 2 слова и их сравнивать. И кто сказал про "только при Data Width = 72"? В одну пишите данные, в другую код коррекции для этих данных. Уважаемый, iosifk. Для работы с DDR используем mig_7series контроллер. В который напрямую заводятся входы/выходы для DDR. Управлять выводами для DDR нельзя-они используются только контроллером. К контроллеру можно обращаться через AXI-шину. В том же контроллере можно задать использование ECC. Но активируется ECC только при Data Width = 72.
  4. Цитата(RobFPGA @ Mar 27 2018, 12:17) Приветствую! Для повышения надежности лучше используйте обе DDR сразу и заложите использование ECC с коррекцией ошибок. Избавитесь от буридановых проблем выбора и контролировать целостность будете в realtime. Удачи Rob. Спасибо за совет, но использовать ECC можно только при Data Width = 72. В нашей же МК памяти - 16.
  5. Цитата(nice_vladi @ Mar 27 2018, 11:27) Я думаю, это вполне осуществимая задача, тем более, ДДР полностью одинаковые. Необходимо просто скоммутировать сигналы управления/данных в/на нужную DDR. Что-то вроде: 0. Включили систему; 1. Проверили ДДР1; 1.1. Если она в порядке -> (4), иначе -> (2); 2. Переключились на ДДР2; 3. Проверили ДДР2; 3.1. Если она в порядке -> (4), иначе -> говорим, что работать невозможно и начинаем истерично мигать ласпочками) 4. Если требуется - переключились на нужную ДДР и остались в этом положении до конца работы (отключения питания, например). А для проверки можно рассчитывать контрольную сумму записываемых данных, а при чтении сверять ее правильность. Если не хочется считать длиную КС - то можно чтение/запись побить на блоки и считать КС для каждого отдельно. Имеется ввиду софтовое переключение сигналов в ПЛИС? Т.е. мы делаем двe mig_7series коры, и потом переключаемся на ту, которая нам нужна? Тут я не очень представляю, как отреагирует MicroBlazе на это. И понадобиться и можно ли перераспределять кэш в этом случае? Вариант с внешней, аппаратной коммутацией не подходит: много линий данных, сложно выполнить выравнивание длин и соблюдение всех задержек, целостности сигналов и пр. Также стоит большой вопрос , как потом промоделировать все это.
  6. Цитата(Flip-fl0p @ Mar 27 2018, 11:12) Боюсь, что эта идея неверная. Всё дело в том, что эта проверка настолько примитивна, что по этому тесту судить о работоспособности памяти нельзя. А вдруг при чтении из одной ячейки "испортилось" содержимое другой ? А вдруг при записи в одну из ячеек, лишний бит записался в другую ? Сам тест состоит из двух этапов: запись данных 01010101010101010101010101010101 по каждому адресу. Затем считывание. Второй этап - запись 10101010101010101010101010101010 также по данному адресу. Этот тест проверяет выставление/стирания каждого бита шины данных. Проверка шины адреса может также осуществляться записью номеров адресов в шину данных. Если есть более интересные предложения готов это обсудить в отдельной теме.
  7. Коллеги, возник вопрос, связанный с использованием в проекте с ПЛИС Artix-7 XC7A200TFFG1156-2 двух независимых DDR3 MT41J128M16JT-125. По ТЗ необходимо предусмотреть две отдельные микросхемы DDR для повышения надежности системы. Идея заключается в том, что при старте системы выполняется проверка DDR методом чтения/записи. Если тест пройден успешно, в MicroBlaze запускается основная программа. Если тест закончился неудачно, нужно переключиться на вторую DDR, проверить ее и работать с ней. Иначе - плата признается неисправной. DDR используется MicroBlaze для кеширования. Вопрос состоит в том, можно ли программно выполнить выбор DDR, с которой нужно работать системе? Достаточно ли для этого одной прошивки или нужно организовать хранение 2х прошивок для первой или второй DDR?
  8. Цитата(toshas @ Feb 26 2018, 10:01) Может неправильных официалов мучаете ?) В S6 были GTP. В A7 они же, но несколько улучшенные, разогнаны до 6.6 и вероятно эквалайзер получше, но точно уже не помню. Наверное. Спасибо! Попробую S6.
  9. Цитата(toshas @ Feb 25 2018, 13:05) В первом приближении можете использовать модели от V6/S6. А так обратитесь к локальным представителям, подпишите NDA и вам предоставят модели. Так и сделали. Но смущает то, что в V6 GTX драйверы/ресиверы. В А7 - GTP. Критично ли это? Еще в HyperLynx есть универсальные IBIS-AMI модели для RX и TX. Результаты моделирования очень близки с V6. В МСК официалы молчат - им тоже не отвечают))
  10. Цитата(blackfin @ Feb 20 2018, 10:22) Последняя ссылка ведет на страничку регистрации. Думается, что иного пути не будет.. PS. Обещают ответить.. Это уже проходили. Без ответа. Цитата(blackfin @ Feb 20 2018, 09:58) Кстати, да.. forum + link + AR60114: С IBIS моелями проблем нет. Для GTP нужны именно IBIS-AMI.
  11. Кстати, IBIS-AMI модели для Artix 7 так и не удалось получить. Для обсуждения создана отдельная тема: https://electronix.ru/forum/index.php?showtopic=145880 Если кто-то может помочь, просьба откликнуться
  12. Коллеги, здравствуйте. Прошу помочь достать IBIS-AMI модели для ПЛИС Artix 7. Вкратце суть проблемы: для посттопологического анализа узла PCIe платы c ПЛИС Artix 7 понадобились именно IBIS-AMI модели (т.к. используются GTP трансиверы). Казалось бы, ничего нет проще зайти на Xilinx и скачать. Заходим по ссылке: https://www.xilinx.com/support/download/ind...es-devices.html Далее следуем инструкциям и...от Xilinx ни ответа, ни привета. Пробовали запросить через оф. представителей Xilinx. Были мысли, что из-за санкций нас просто блокируют или игнорят, но специально запрашивали через Европу - также тишина. адресат 7_series_ibis_ami@xilinx.com не отвечает. Интересно, что IBIS-AMI модели для 6-й серии лежат в свободном доступе https://www.xilinx.com/support/download/ind...ries-fpgas.html Если кто-нибудь сталкивался с подобной проблемой и знает, как получить модели, просьба откликнуться!
  13. Цитата(Flood @ Jan 30 2018, 08:53) По первому вопросу возможный ответ выделен жирным. Для высокоскоростных пинов Xilinx поставляет IBIS-AMI модели. По второму ситуация немного хитрее. Казалось бы, чип программируемый и расположение лейнов жестко не зафиксировано. Номера пинов MGTPx не имеют прямого отношения к номерам лейнов. Задаваемый пинаут привязывает не жестко заданные линии PCIe аппаратного контроллера, а всего лишь блоки GT(P), далее внутри чипа за счет трассировочного ресурса возможно их назначение на любой лейн. Но это только часть правды. На деле для благополучного достижения тайминга очень желательно следовать рекомендациям, а именно: https://www.xilinx.com/support/documentatio...series-pcie.pdf - см. Table 4-12: Artix-7 Recommended GT Locations https://www.xilinx.com/support/documentatio...ransceivers.pdf - см. FFG1156 Package Placement Diagram Для вашего чипа получается, что Lane 0 должен находиться на GTP X0Y7 (XC7A200T GTPE2_CHANNEL_X0Y7), а это в свою очередь пины MGTP[T|R]X[P|N]3_216. Т.е. выбранный вами вариант формально неправильный, вариант AC701 - правильный. На деле заработало бы и для вашего случая, хотя бы за счет функции Lane reversal. Но все же рекомендации производителя лучше соблюдать. Уважаемый Flood, получалось ли у вас запросить у Xilinx 7-Series IBIS-AMI модели? Скачать такие модели можно только до 6-й серии. По 7-й серии Xilinx просит запрос, на который не отвечают.
  14. заблокировался AT32UC3A0512

    Как это "случайно задеть Fuse" ??? И что за параллельное программирование на AVR32? И что делать, если есть возможность подключиться только по JTAG???
  15. Autobaud

    Я тоже считаю,что для определения скорости на лету с полным восстановлением данных и без байта синхронизации - задача под rs232 практически нерешаема. Так,для самоуспокоения,хотел посоветоваться,может кто-то знает путь решения задачи. Всё-равно,спасибо всем за идеи.