vpd 0 24 января, 2019 Опубликовано 24 января, 2019 (изменено) · Жалоба Вот такая дурацкая ситуация нарисовалась. Есть старенький проект для ПЛИС EP2C5T144C8, которая конфигурируется сама из EPCS1. Проект собирается, прошивается успешно бластером, а потом тишина. Смотрю сигнал CONF_DONE, а он ведет себя так: pull-up резистор притягивает его к VCC примерно за 500 нс, и потом он падает обратно в ноль и запускает повторную загрузку. Тыкал еще в пины разные nCS, DCLK, и пр. Вердикт вполне понятный, оно зацикливается на перезагрузке, считая битстрим неправильным. Только непонятно, почему? Вроде всё раньше работало. Битстрим делается с компрессией, в таком виде он влезает в EPCS1. Можно ли как-то более ясно понять, что его не устраивает? Особенность в том, что проект старый, исходник старый, платы тоже сделаны в далеком 2007 году, и квартус собственно от той поры есть (9.2), так сказать, всё аутентичное, с чем раньше работало. Да и еще, история эта повторяется с двумя платами, один в один, что намекает на системность проблемы... Пока из идей есть только попробовать припаять EPCS4 и выбрать несжатый битстрим. Вроде по воспоминаниям там были какие-то особенности... Изменено 24 января, 2019 пользователем vpd опечатка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 января, 2019 Опубликовано 24 января, 2019 (изменено) · Жалоба Если зациклилась загрузка и не выходит в user mode, я бы сначала проверил напругу на тех ножках, на которых обязательно должна быть напруга для выхода из por. В мануалах альтеры есть такие таблички, в которых указано, какая напруга мониторится. Может к вашему чипу есть в мануале блок схема по процессу загрузки, по ней станет ясно. В циклон 2 мануале Cyclone II devices contain POR circuitry to keep the device in a reset state until the power supply voltage levels have stabilized during power-up. The POR circuit monitors the VCCINT voltage levels and tri-states all user I/O pins until the VCC reaches the recommended operating levels. In addition, the POR circuitry also monitors the VCCIO level of the two I/O banks that contains configuration pins (I/O banks 1 and 3 for EP2C5 and EP2C8, I/O banks 2 and 6 for EP2C15A, EP2C20, EP2C35, EP2C50, and EP2C70) and tri-states all user I/O pins until the VCC reaches the recommended operating levels. Изменено 24 января, 2019 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба Еще гляньте мануал, там написано время, за которое напруга должа появиться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vpd 0 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба Напряжение проверял, VCC всюду порядка 3.58В, VCCINT 1.32В, даже чуть больше нормы. При синхронизации от CONF_DONE не наблюдаются провалы питания. Время появления питания не так уж важно, поскольку стоит автоповтор загрузки после неудачи, и на повторах питание давно в норме, а причина сбоя не исчезает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 24 января, 2019 Опубликовано 24 января, 2019 (изменено) · Жалоба а CRC_ERROR пин есть циклоне 2? Активирон прошивкой? этот пин говорит о кривом битстриме VCCint 1.32v, по номиналу 1.2 же? + 0.12v не многовато? у меня на циклоне 4 и stratix v допуски вообще минимальны, чуть ли не 0.05. Надо мануал посмотреть с допусками Изменено 24 января, 2019 пользователем new123 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vpd 0 24 января, 2019 Опубликовано 24 января, 2019 · Жалоба Да вот, воплотил наконец свою идею о замене ERPS1 на ERPS4 и отключении compression. И всё работает. Чудеса... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvlwork 0 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба 17 часов назад, new123 сказал: а CRC_ERROR пин есть ... этот пин говорит о кривом битстриме Не говорит он. CRC_ERROR говорит об ошибке битстрима внутри ПЛИС, а не об ошибке битстрима идущего с ПЗУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
new123 0 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба 11 minutes ago, dvlwork said: Не говорит он. CRC_ERROR говорит об ошибке битстрима внутри ПЛИС, а не об ошибке битстрима идущего с ПЗУ. действительно я напутал, спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vpd 0 25 января, 2019 Опубликовано 25 января, 2019 · Жалоба Вообще я проверял CRC_ERROR, он тоже дергается после отпускания CONF_DONE. То есть, как бы ошибку загрузки демонстрирует. Но бластер пишет pof и проверяет его в EPCS1, и ошибок там нет. А нет идей, почему может сжатый битстрим лагать в EPCS1? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 6 26 января, 2019 Опубликовано 26 января, 2019 · Жалоба Был у меня аналогичный эффект много лет назад. Я уже не помню подробностей, кажется был старый проект, после перетрансляции более свежим квартусом перестал заливаться. Вылечилось допайкой маленького конденсатора (то ли 100, то ли 1000 пФ) на CONF_DONE, кажется. Удобнее было его поставить параллельно резистору подтяжки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vpd 0 28 января, 2019 Опубликовано 28 января, 2019 · Жалоба Да, я вот тоже помню, что как-то давно случайно обнаружил, что лапание платы в районе разъема для бластера вдруг случайно привело к загрузке, и я тоже в итоге какой-то конденсатор туда повесил. Но приборчик уехал к заказчикам, и на тот момент он был один такой странный. И про то, куда и что вешать, я благополучно забыл, казалось, что это какая-то странная недокументированная глюкавость одного конкретного прибора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться