ivanoffer 0 5 мая, 2017 Опубликовано 5 мая, 2017 (изменено) · Жалоба При отсутствии таких данных, я поставил бы пока все же на Signal Integrity проблему. Тоже склоняюсь к этой версии. Последовательно согласующие резисторы не хотите все же поставить возле драйверов линий? . Со стороны ПЛИС стоит резисторная сборка по 10 Ом, ставил и 22 Ом. Вы предлагаете поставить со стороны JTAG загрузчика? Да, и какая сейчас у вас частота TCK? Уменьшить радикально не пробовали - до 50-100 кГц? (прошу извинить, если где-то уже писали об этом - я все сообщения тотально не прочитывал). Пробовал на 750кГц и 6МГц. Как уменьшить частоты до 50-100 кГц не знаю, т.к. этим вопросом никогда не задавался. Изменено 5 мая, 2017 пользователем ivanoffer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 5 мая, 2017 Опубликовано 5 мая, 2017 · Жалоба Типовая проблема Signal Integrity на JTAG - звон TCK. Снижением частоты это не лечится, но щуп осциллографа должен был исправить картину. Не исключено, что проблема не в JTAG, а глобальнее - например, источники проваливаются при попытке запуска конфигурации. Я бы предложил вот что: 1. Радикально уменьшить объем битстрима - на проекте-пустышке включить компрессию битстрима. Шанс появления ошибки передачи данных намного снизится. 2. Попытаться поработать с флешкой через Vivado. Хотя бы просто сделать Blank Check - загрузится образ программатора или нет? Пробовать все варианты - Pull Up/Down/None. 3. Если по второму пункту ну никак - зашить флешку внешним программатором и посмотреть, будет ли ПЛИС конфигурироваться из нее. М.б. проблема глобальнее JTAG-а и ПЛИС вообще не конфигурится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanoffer 0 5 мая, 2017 Опубликовано 5 мая, 2017 · Жалоба Типовая проблема Signal Integrity на JTAG - звон TCK. Снижением частоты это не лечится, но щуп осциллографа должен был исправить картину. Не исключено, что проблема не в JTAG, а глобальнее - например, источники проваливаются при попытке запуска конфигурации. Провал напряжения в момент запуска конфигурации не подтвердился - этот вариант проверил одним из первых. Я бы предложил вот что: 1. Радикально уменьшить объем битстрима - на проекте-пустышке включить компрессию битстрима. Шанс появления ошибки передачи данных намного снизится. 2. Попытаться поработать с флешкой через Vivado. Хотя бы просто сделать Blank Check - загрузится образ программатора или нет? Пробовать все варианты - Pull Up/Down/None. 3. Если по второму пункту ну никак - зашить флешку внешним программатором и посмотреть, будет ли ПЛИС конфигурироваться из нее. М.б. проблема глобальнее JTAG-а и ПЛИС вообще не конфигурится. 1. Проверю. 2. Чтобы работать с флеш через Vivsdo, надо сначала самой Vivado загрузить свой поток ПЛИС (образ программатора), что не проходит. Варианты с Pull Up/Down/None проверял. 3. Загрузить флеш внешним программатором - не, так не получится, она с термападом и снять-установить как-то не радует. При включении питания вижу попытку ПЛИС загрузиться с флеш - есть такт, сигнал CEn. Попытка продолжается до тех пор, пока не пытаюсь загрузиться по JTAG, при этом линия такта флеш и CEn подтягиваются к постоянной единицы. ПЛИС верно отрабатывает режимы загрузки. Попробую снизить максимально частоту TCK с установкой резисторной сборки большего номинала где-то 100-200 Ом - будет функция фильтрации сигналов. Может кто знает - нет ли в Vivado опции проверки канала JTAG - прогнать данные в канале на предмет сбоев. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 5 мая, 2017 Опубликовано 5 мая, 2017 · Жалоба Со стороны ПЛИС стоит резисторная сборка по 10 Ом, ставил и 22 Ом. Вы предлагаете поставить со стороны JTAG загрузчика? 1. Резистор последовательного согласования ставится как можно ближе к источнику сигнала в линии. Со стороны внешнего разъема/кабеля для TDO я у вас вижу такой резистор (и надеюсь, он располагается непосредственно у пина, из которого он генерируется на этой стороне от level shifter'а). Номинал - обычно в диапазоне 22 .. 51 Ом, в зависимости от характеристического сопротивления линии. Что касается входов (TCK, TMS, TDI), то у нормальных кабелей-адаптеров согласующие резисторы должны быть внутри на этих линиях. Так ли это в вашем случае? Что за кабель у вас, кстати? 2. Но в вашем случае есть еще и участок от level shifter'а до FPGA, где level shifter является генератором для TCK, TMS, TDI. А резисторная сборка у вас монолитная. Спрашивается, к чему ближе она у вас стоит: к level shifter'у, или к FPGA? Другими словами, на чье последовательное согласование она работает - указанной троицы или TDO? И кстати - велик ли и замысловат ли путь распространения сигналов на этом участке (всех 4-х касается)? Хоть я бы предпочел поставить раздельные резисторы для этих сигналов с индивидуальным оптимальным расположением, в вашем варианте лучше бы им быть согласователями для TCK, TMS, TDI. А на самом деле? И наконец, last but not least, как говорят наши партнеры :), что у вас за level shifter стоит? Пробовал на 750кГц и 6МГц. Как уменьшить частоты до 50-100 кГц не знаю, т.к. этим вопросом никогда не задавался. Если наши проблемы связаны с TCK, а именно,- с его фронтами, их искажениями типа "седло" из-за отражений и т.п., то, как справедливо заметил Flood уменьшение частоты TCK картину не изменит (фронты-то останутся :-) в любом случае, только реже будут идти). Уменьшением частоты мы можем проверить, нет ли проблем типа "не успевает установиться TDI перед фронтом TCK". Пренебрегать этим не стоит, тем более что проверить можно быстро. Попробую снизить максимально частоту TCK с установкой резисторной сборки большего номинала где-то 100-200 Ом - будет функция фильтрации сигналов. Только тогда выставляйте TCK на 750 кГц (или меньше, если разберетесь, как это сделать - я не подсказчик, т.к. с Xilinx давненько не работал). И возможно, достаточно будет ограничиться вариантами 33-51 Ом - т.к. 100-200 - это может оказаться чересчур. Может кто знает - нет ли в Vivado опции проверки канала JTAG - прогнать данные в канале на предмет сбоев. В ISE, я точно помню, был какой-то функционал для отладки JTAG. Был какой-то Application Note на эту тему. С Vivado еще не имел случая познакомиться, но ожидал бы и в нем найти что-то для этого случая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Raven 11 15 мая, 2017 Опубликовано 15 мая, 2017 · Жалоба Есть ли новости? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanoffer 0 15 мая, 2017 Опубликовано 15 мая, 2017 (изменено) · Жалоба Есть ли новости? Жду вторую плату. С этой подозрение на перегрев при установке по бессвинцовому профилю. Изменено 15 мая, 2017 пользователем ivanoffer Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivanoffer 0 22 мая, 2017 Опубликовано 22 мая, 2017 · Жалоба Получил вторую плату. Работает как и задумывалось. По JTAGу загружается, из SPI грузится при включении питания. На новой плате стоит ПЛИС выпуска конца 16-го года, на нерабочей 13-го, видимо что-то с ней изначально было не так. К маркировке вопросов нет, смущает залежалость, как-бы ПЛИС ходовая и такой древней на правильных складах не должно было остаться. Всем ответившим спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться