Итак, есть устройство. На нем пара Циклонов EP1C6 соединенных по JTAG и Download портам.
По JTAG две схемы соединены последовательно. Все по datasheet.
По Download: конфигурационное ПЗУ – EPCS4. Первая схема (по nCE nCEO) в режиме AS, вторая – в PS. У обеих схем, CONF_DONE объединены, и подтянуты pullup к 3.3 В. То же касается nSTATUS.
Исходное состояние – в конфигурационном ПЗУ прошивки нет, схемы не сконфигурированы. Пытаюсь сконфигурировать по JTAG с помощью Ouartus и ByteBlasterMV. Из программатора видна цепочка из двух схем, ставлю последовательно 2 sof, запускаю конфигурацию.
Итог: определяется IDCODE 1-й схемы, стартует конфигурация, завершается с ошибкой (вывод CONF_DONE не вышел в 1). То же происходит, если конвертировать последовательность из двух sof в jam (stapl), и попытаться прошить jam.
Предположения: или неправильно передаются данные по JTAG, или некорректный алгоритм конфигурации, не учитывающий того, что схемы объединены по CONF_DONE, и того, что CONF_DONE поднимется в 1 только после конфигурации обеих ПЛИС. Для проверки первого предположения сделал программу на jam гоняющую в цикле через BYPASS данные (взял эту же прошивку). В течении пары часов данные шли через схемы без ошибок. Среди предположений осталось подозрение в некорректности алгоритма.
Задача: сконфигурировать обе ПЛИС по JTAG из исходного положения – обе ПЛИС без конфигурации.
Решение: Я вижу в изменении алгоритма конфигурации в jam файле и использовании JAM Player.
Вопросы: Кто-нибудь сталкивался с конфигурацией цепочки микросхем, с объединенными сигналами CONF_DONE? Видит ли кто-нибудь, решение с использованием Ouartus (без правки руками jam файла)?
|