DS 0 9 мая, 2017 Опубликовано 9 мая, 2017 · Жалоба На здоровой плате засбоил JTAG, возможно проблемы с тем, что СoolRunnerы особо чувствительны к качеству TCK. Но не суть. Это лечится вырубанием всего клока на плате, плата тестовая, никуда не пойдет, не страшно. После нескольких неудачных попыток грузить .bit через JTAG, попробовал считать флешку, тоже сбоило. Несколько раз выключал питание, дергал разъем, потом догадался клок отключить. JTAG заработал. Флешка вроде без ошибок вычитывалась. Но FPGA не грузилась, на ССLK непрерывный клок, состояние регистра - см. ниже. Конфигурация 4 битная SPI. Перегенерил файл, перешил флешку - та же картина - дает ошибку загрузки после команды грузить из флеш в память. При выключении-включении питания - вечный ССLK Стал смотреть по десятому разу сигналы на ногах флешки - смотрю, нет CCLK - загрузилась после Nного включения питания. Что это было ? [0] VALID_0 - ERROR OR END OF STARTUP (EOS) DETECTED : 0 [1] FALLBACK_0 - FALLBACK TRIGGERED RECONFIGURATION : 0 [2] IPROG_0 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION : 0 [3] WTO_ERROR_0 - WATCHDOG TIME OUT ERROR : 0 [4] ID_ERROR_0 - FPGA DEVICE IDCODE ERROR : 0 [5] CRC_ERROR_0 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0 [6] WRAP_ERROR_0 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0 [7] HMAC_ERROR_0 - HMAC ERROR : 0 [8] VALID_1 - ERROR OR END OF STARTUP (EOS) DETECTED : 0 [9] FALLBACK_1 - FALLBACK TRIGGERED RECONFIGURATION : 0 [10] IPROG_1 - INTERNAL WARMBOOT (IPROG) TRIGGERED RECONFIGURATION : 0 [11] WTO_ERROR_1 - WATCHDOG TIME OUT ERROR : 0 [12] ID_ERROR_1 - FPGA DEVICE IDCODE ERROR : 0 [13] CRC_ERROR_1 - CYCLIC REDUNDANCY CHECK (CRC) ERROR : 0 [14] WRAP_ERROR_1 - BPI FLASH ADDRESS COUNTER WRAP AROUND ERROR : 0 [15] HMAC_ERROR_1 - HMAC ERROR : 0 '5': Reading status register contents... [0] CRC ERROR : 0 [1] DECRYPTOR ENABLE : 0 [2] PLL LOCK STATUS : 1 [3] DCI MATCH STATUS : 1 [4] END OF STARTUP (EOS) STATUS : 0 [5] GTS_CFG_B STATUS : 0 [6] GWE STATUS : 0 [7] GHIGH STATUS : 0 [8] MODE PIN M[0] : 1 [9] MODE PIN M[1] : 0 [10] MODE PIN M[2] : 0 [11] INIT_B INTERNAL SIGNAL STATUS : 1 [12] INIT_B PIN : 1 [13] DONE INTERNAL SIGNAL STATUS : 0 [14] DONE PIN : 0 [15] IDCODE ERROR : 0 [16] SECURITY ERROR : 0 [17] SYSTEM MONITOR OVER-TEMP ALARM STATUS : 0 [18] CFG STARTUP STATE MACHINE PHASE : 0 [19] CFG STARTUP STATE MACHINE PHASE : 0 [20] CFG STARTUP STATE MACHINE PHASE : 0 [21] RESERVED : 0 [22] RESERVED : 0 [23] RESERVED : 0 [24] RESERVED : 0 [25] CFG BUS WIDTH DETECTION : 0 [26] CFG BUS WIDTH DETECTION : 0 [27] HMAC ERROR : 0 [28] PUDC_B PIN : 0 [29] BAD PACKET ERROR : 0 [30] CFGBVS PIN : 1 [31] RESERVED : 0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 20 мая, 2017 Опубликовано 20 мая, 2017 · Жалоба UPD: Проблема связана не с JTAG или еще чем-то, а с состоянием флешки в момент первого обращения - иногда Kintex не находит стартовую последовательность, причем иногда, после "проворота" адресов во флешке таки грузится, иногда, видимо флешка не выполняет команду чтения и все висит до выключения питания. Один раз, но я не уверен что связяано только с состоянием флешки, при попытке обратится к флешке через Impact после проблемы с загрузкой, возникла ошибка типа "неправильный идентификационный код" или что-то похожее. После включния - выключени нормально прошилась. Питание подается строго по очереди 1.0 -> 1.8 -> 3.3, флешка N25 сидит на 3.3. Длина ССLK ~40 мм. Сейчас вероятность проблем с загрузкой ~10%. В какую сторону смотреть ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 20 мая, 2017 Опубликовано 20 мая, 2017 · Жалоба UPD: Поймал на анализаторе момент, когда прошла "плохая" загрузка. При этом в итоге ПЛИСИНа загрузилась. При нормальной работе идет команда 0b, через какое-то время 6b, потом еще через какое-то время меняется частота клока. При сбое - частота клока не меняется в этом месте. Т.е. похоже, происходит какой-то сбой при переходе в 4 битовый режим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dvladim 0 21 мая, 2017 Опубликовано 21 мая, 2017 · Жалоба Вообще похоже что Power on reset у флешки уже отрабатывает, а питание еще до номинального не доросло. Может питание медленно поднимается? И еще: когда вы написали, что JTAG отключили и все заработало - я первым делом подумал о разных потенциалах на землях (отсутствии развязки). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 21 мая, 2017 Опубликовано 21 мая, 2017 · Жалоба Нет, сбои по JTAG были из за нетерминированного TCK, поставили два резистора и стало стабильно работать. Просто по времени совпало. Я тоже подозреваю питание. Ситуация такая - 3.3 В (и тем более 1 и 1.8 ) полностью в номинале к моменту начала cclk. Но на трансиверы в этот момент подано только 1 V питание, а 1.2 и 1.8 только начинают подниматься и это занимает около 20 мс. Не может происходить сбой из-за этого ? И, похоже, сбоит загрузчик по разному, один раз, кажется, видел залипший в 0 FCS без cclk. Но через JTAG сейчас все грузится без проблем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zig 28 21 мая, 2017 Опубликовано 21 мая, 2017 · Жалоба Не знаю как в кинтексе, но в спартане-6 рекомендуют thevenin терминацию на CCLK. Правда у вас длина CCLK всего 40 мм... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 21 мая, 2017 Опубликовано 21 мая, 2017 · Жалоба Тогда в основном бы были ошибки CRC, а тут проблемы всегда в начале, если уже дошло до загрузки собственно данных, то проскакивает. Ну и сигнал я проверял, чистый. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 8 22 мая, 2017 Опубликовано 22 мая, 2017 · Жалоба Level shifter стоит? Если да, то какой? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DS 0 22 мая, 2017 Опубликовано 22 мая, 2017 · Жалоба Нет, напрямую флешка подключена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться