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

DmitryR

Свой
  • Постов

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

  • Посещение

Весь контент DmitryR


  1. Программа NIOS находится в странице 0 сектора 0 UFM0. При стирании этой страницы NIOS перестаёт работать, так как пропадает программа, которую он в данный момент исполняет. Так понятнее суть проблемы? Спасибо, это вроде то, что мне и надо. Однако остаётся ещё одна проблема: как заставить линкер сгенерить код, который скопирует это в ОЗУ? Опция enable_alt_load копирует только секции данных, а секции кода всё равно оставляет во флэш.
  2. Разница заключается в том, что в указанном примере NIOS исполняется из одного места, а обновляет другое. Мне же надо обновить флешку, из которой непосредственно исполняется NIOS.
  3. В указанном проекте код NIOS лежит в QSPI flash, а описан процесс обновления CFM. Мне этот случай предельно ясен, но это не мой случай.
  4. Я не понимаю, какое отношение это решение имеет к моей проблеме. Там описано, как обновить конфигурацию FPGA, а не программу NIOS.
  5. Доброго дня, есть проект на MAX10. Планируется исполнять код прямо из onchip_flash (так как в память код не помещается по объёму), обновление тоже получает Nios через некоторый канал связи, реализовать протокол которого аппаратно довольно сложно. Вопрос, как красиво реализовать обновление флэшки? У меня крутятся всякие идеи, но все они какие-то проблемные или кривые: - как-то заставить линкер куски программы, отвечающие за программирование флешки, разместить компактно, и вручную копировать из в ОЗУ в нужный момент расчитывая, что драйвер флэшки написан как позиционно-независимый - сделать отдельный процессор с программой только под программирование, код которого сразу будет размещён в ОЗУ - написать аппаратный блок, который будет заниматься программированием Идеально было бы конечно, если бы можно бы было приказать линкеру нужный код сразу слиновать по адресам ОЗУ, и закинуть его туда при старте (типа как это делает опция enable_alt_load). Однако уме не приложу, как заставить эту опцию работать только для некоторой части программы.
  6. Можно бы было предположить интерференцию. Однако мне не понятно вот что: раз приборы одинаковые, как интерференция может влиять на один из них и не влиять на другой? Ну и вообще какой-либо другой физический эффект, если это он? IMHO надо искать, чем отличаются приборы.
  7. Microsemi RTG4. Производитель довольно спорный, но RadHard - это их специализация.
  8. Контроллер памяти есть только в Dual-Supply устройствах, а они не пакуются в QFP.
  9. Динамическое потребление обусловлено тем, что при переходе сигнала из одного состояния в другое перезаряжаются емкости, которыми нагружен сигнал. Если сигнал не переключается - потребления практически нет. Полностью отключать тактовую частоту в FPGA не имеет особого смысла, так как экономия на этом будет ничтожна по сравнению со статическим потреблением, а гемморой может вырасти приличный. В ASIC так на самом деле делают потому, что там статическое потребление невелико, и можно сэкономить площадь триггеров, сделав вместо триггеров с EN обычные. В FPGA же это всё неактуально.
  10. Причин может быть вагон и маленькая тележка. Вы бы сказали хотя бы в общих чертах, что вы наблюдаете, а то миелофон у Алисы.
  11. Это будет работать, только если вы отдельно подадите приёмную частоту. Чтобы работала CDR PLL, входной поток должен удовлетворять некоторым условиям, которым (судя по тому, что вы оперируете понятиями бит, а не слов), ваш поток данных не соответствует.
  12. Я бы хотел ещё раз обратить внимание на сей остающийся незамеченным комментарий. Ибо если данные сразу обрабатывать, то адские устройства хранения информации станут не нужны, что существенно упростит и удешевит конструкцию.
  13. Может, у вас непропай линии данных от флэшки к FPGA?
  14. Последовательные резисторы нет смысла ставить, так как в ПЛИС есть встроенные. А вот терминацию на Vtt - возможно надо. Надо обязательно моделировать.
  15. Загляните в документацию, для юзера там доступно 288 выводов. Монитор, как я уже писал, можно повесить и на трансиверы, а можно и на обычные выводы, коих там для вашей задачи в достатке.
  16. F31 - это как раз 896 ног и есть. А на трансиверах не знаю как HDMI, а DisplayPort точно можно сделать, в Квартусе мегафункция присутствует.
  17. Да что там Ария. Даже если все эти 80 пар LVDS - Cyclone V даже SoC (у которого очень много пинов зарезервировано исключительно под HPS) в корпусе 896 имеет по 72 пары на вход и на выход. То есть почти с двукратным запасом. А если между процессором и FPGA мегаскоростной канал не нужен - можно обойтись заметно более мелким корпусом, а рядом поставить модулёк с Sitara. Что во всех отношениях, кроме габаритов платы, проще.
  18. Я опять не понял, в чём вы видите проблему завести на ПЛИС 160 проводов?
  19. По поводу количества сигналов - не понял, в чём проблема, а что касается монитора - VIP Suite clocked video output.
  20. А у вас один из транзисторов VT1, VT2 не открыт случайно? Думаю, подтяжка CRC_ERROR в ПЛИС ваши 10K вполне може перетянуть.
  21. SFP подключить к трансиверу, а со стороны ПЛИС прикрутить к трансиверу корку, которая реализует нужный протокол.
  22. Если вы полностью разобрались в настройках - поставьте SignalTap сразу после трансивера и посмотрите, что там происходит.
  23. Закладываться можно на всё, что вы способны протестировать. Производители часто халявят, и вместо того, чтобы расписать условия работы их изделия в разных режимах, пишут в даташите только наихудший случай. Помню ещё много лет назад надо было на Xilinx каком-то дешёвом тоже сделать хитрую систему тактирования - так у них был калькулятор, который считал джиттер DCM в зависимости от его настроек. Сейчас так, к сожалению, уже никто не строит, поэтому если кто хочет получить изделие с наилучшим соотношением цена/качество (что в бизнесе, если он не связан с войной или космосом даёт лучшие результаты, чем абсолютное качество при любой цене), то приходится экспериментировать.
×
×
  • Создать...