Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Xilinx Kintex-7 XC7K70T не определяется по JTAG
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Олег Гаврильченко
Мной была разработана плата с микросхемой XC7K70T. При первом же включении iMPACT не определила ПЛИС. Точнее, она увидела, что подключена микросхема, но сказала, что эта микросхема имеет неизвестный Vendor и Device ID. Перепроверил правильность подключения всех цепей, особенно питания и JTAG. Сигналы JTAG проходят. Проверил также цепи питания. На питании нашел сильные пульсации: на VCCINT 150 мВ, на VCCAUX пилообразное напряжение 200 мВ, частота пилы много меньше частоты преобразователя DC/DC.
Я понимаю, что на такой вопрос невозможно дать четкий ответ. Поэтому прошу посоветовать:
1. как правильнее отлаживать данную проблему?
2. Может ли проблема в сильных пульсациях на питании?
Lmx2315
..там VccINT 1V +-5 %, а у вас явно хуже.
Выглядит так как будто ваши источники питания не тянут нагрузку.
likeasm
Посмотрите требования к питанию JTAG программатора. Например, на Spartan6 VCCAUX = VREF JTAG.
P.S. А еще VREF JTAG было ограничено питанием одного из Bank.
Олег Гаврильченко
Цитата(Lmx2315 @ Jan 11 2017, 12:13) *
..там VccINT 1V +-5 %, а у вас явно хуже.
Выглядит так как будто ваши источники питания не тянут нагрузку.

Почему Вы думаете, что источники не тянут нагрузку? Микросхемы источников выбраны: для VCCINT 3A, а для VCCAUX - 1 A
iosifk
Цитата(Олег Гаврильченко @ Jan 11 2017, 11:50) *
Мной была разработана плата с микросхемой XC7K70T. При первом же включении iMPACT не определила ПЛИС. Поэтому прошу посоветовать:
1. как правильнее отлаживать данную проблему?
2. Может ли проблема в сильных пульсациях на питании?

Ответ будет таков.
При незагруженной ПЛИС потребление должно быть небольшим. Нужно действительно проверить, что пульсации в норме. И питание на порт JTAG подается в соотв. с даташитом. Можно взять схему стартового набора и посмотреть, как сделано там...
Далее. В софте должен быть *.bsdl файл на данный чип.
Вот, для примера, они лежат так: c:\Xilinx\14.7\ISE_DS\ISE\spartan6\data\xc6slx100_1532.bsd
Либо его можно скачать с Ксайлинкса. В iMPACT есть режим чтения ID. Так вот, запуская этот режим надо проверить, что импульсы в JTAG не имеют дребезга, а на выходе TDO должна быть последовательность нулей и единиц...
Если найдете в iMPACT место, где можно понизить частоту в JTAG, то для начала можно перейти на пониженную частоту....
Ну и возможно, что есть сильная помеха по питаниям переменки и землям. Поэтому можно соединить землю Хоста и платы...
Олег Гаврильченко
Цитата(iosifk @ Jan 11 2017, 14:33) *
Ответ будет таков.
При незагруженной ПЛИС потребление должно быть небольшим. Нужно действительно проверить, что пульсации в норме. И питание на порт JTAG подается в соотв. с даташитом. Можно взять схему стартового набора и посмотреть, как сделано там...
Далее. В софте должен быть *.bsdl файл на данный чип.
Вот, для примера, они лежат так: c:\Xilinx\14.7\ISE_DS\ISE\spartan6\data\xc6slx100_1532.bsd
Либо его можно скачать с Ксайлинкса. В iMPACT есть режим чтения ID. Так вот, запуская этот режим надо проверить, что импульсы в JTAG не имеют дребезга, а на выходе TDO должна быть последовательность нулей и единиц...
Если найдете в iMPACT место, где можно понизить частоту в JTAG, то для начала можно перейти на пониженную частоту....
Ну и возможно, что есть сильная помеха по питаниям переменки и землям. Поэтому можно соединить землю Хоста и платы...

Спасибо за советы. Питание на JTAG подается в соответствии с datasheet, равное VCCO_0 3.3В. Потребление ПЛИС в пределах нормы. BSD файл на месте. На выходе TDO есть какие-то данные, если JTAG работает, но они действительно с каким-то дребезгом. Частоту JTAG понизил до 750 кГц, результат тот же. Вы не могли бы подсказать, где в iMPACT режим чтения ID? Я не могу найти.
Также заметил, что на входном питании (это питание от источника питания 12 В, подаваемое на плату и идущее на DC/DC VCCINT, VCCO и VCCAUX), этом питании также есть короткие(сотни нс) частые импульсные помехи величиной 300 мВ. Если отключить плату, то на выходе источника 12В питание чистое. Потребление по 12В такое, которое и должно было быть по расчетам.
Схема платы делалась на основе другой рабочей платы, с которой не было проблем. По сравнению с ней были изменены только источники VCCAUX и VCCO и разводка.
iosifk
Цитата(Олег Гаврильченко @ Jan 11 2017, 15:01) *
. Вы не могли бы подсказать, где в iMPACT режим чтения ID? Я не могу найти.

Слева в верхнем окне: "Boundary Scan", и есть пиктограмма "Инициализировать цепочку"... Это зеленые квадратики "на нитке"...
Там еще есть пиктограмма "стрелка с вопросительным знаком". Так вот, нажмите ее, а потом в "Boundary Scan".
Lmx2315
Цитата(Олег Гаврильченко @ Jan 11 2017, 14:20) *
Почему Вы думаете, что источники не тянут нагрузку? Микросхемы источников выбраны: для VCCINT 3A, а для VCCAUX - 1 A

..микросхемы могут выбраны правильно, но может не правильно выполнены выходные фильтры с них, не там стоит (если есть) сигнал SENSE - некоторые источники не допускают расположение таких сигналов перед индуктивными нагрузками.
Эта ПЛИС при старте потребляет на пол ампера тока больше чем потом в покое.
Может быть вы не соблюли очерёдность включения питающих напряжений и из-за этого проседает сигнал на входе ваших источников питания, из-за недостаточных емкостей по входу.
Я считаю сначала надо разобраться с пульсациями напряжений.

Кстати - какие в вольтах у вас значения vccint, vccaux,VCCBATT, и того порта на котором JTAG сидит?
Олег Гаврильченко
Цитата(Lmx2315 @ Jan 11 2017, 16:15) *
Кстати - какие в вольтах у вас значения vccint, vccaux,VCCBATT, и того порта на котором JTAG сидит?

Напряжения ПЛИС: VCCINT = 1.0, VCCAUX = 1.8, VCCO_0 = VREF JTAG = 3.3V, VCCBAT = 0(подключен к земле)
Порядок включения: сначала VCCINT, по его сигналу Power Good VCCAUX и VCCO.
Lmx2315
Цитата(Олег Гаврильченко @ Jan 11 2017, 16:54) *
Напряжения ПЛИС: VCCINT = 1.0, VCCAUX = 1.8, VCCO_0 = VREF JTAG = 3.3V, VCCBAT = 0(подключен к земле)
Порядок включения: сначала VCCINT, по его сигналу Power Good VCCAUX и VCCO.

..а если осциллографом Power Good посмотреть, что там?
з.ы.
Вы бы схему выложили чтоль.
Алга
1. Версия- нет связи между jtag разьемом и jtag пинами фпга, допустим плохая пайка какого-нибудь контакта фпга.
2. Надо проверить состояние других пинов конфигурации: M0..M2, Prog_b, init_b, done. Какой режим конфигурации выбран?
Boris_TS
Цитата(Олег Гаврильченко @ Jan 11 2017, 11:50) *
На питании нашел сильные пульсации: на VCCINT 150 мВ, на VCCAUX пилообразное напряжение 200 мВ, частота пилы много меньше частоты преобразователя DC/DC.
Я понимаю, что на такой вопрос невозможно дать четкий ответ.
Не совсем понятно, что такое "пульсации: на VCCINT 150 мВ", если это амплитуда пульсаций, то тогда получается, что на VCCINT более 1.1 В, что, в принципе, смертельно для ПЛИС:

Kintex-7 FPGAs Data Sheet (DS182 (v2.15) November 24, 2015):
Table 1: Absolute Maximum Ratings
VCCINT (Internal supply voltage)
min –0.5 V
max 1.1 V

Поэтому лучше приложить фото/картинки осциллограмм/схемы, чтобы было легче догадаться, что же у Вас там за проблема.


Кстати, следующее утверждение неверное:
Цитата(Lmx2315 @ Jan 11 2017, 12:13) *
..там VccINT 1V +-5 %, а у вас явно хуже.
из Table 2: "Recommended Operating Conditions" документа "Kintex-7 FPGAs Data Sheet (DS182 (v2.15) November 24, 2015)" видно, что допустимый предел по VCCINT: ±3% (при номинальном питании 1.00 В, пределы установлены от 0.97 и до 1.03 В, что явно не выполняется).

Да и 3А по VCCint как-то маловато,... но это уже определяется прошивкой ПЛИС: на одной из задач у нас XC7K160T-1FFG676C по VCCint жрала 21А,.. сожрала бы и больше, да нам было стрёмно: мы превысили порог в 16A (1А на ногу питания).

Можно попробовать посмотреть на ногу Init - если в ПЛИС идут Power-on-reset, то, теоретически, Init должен переходить в '0', но гарантировать это я не могу - мы так жестко не насиловали Kintex-7.
Также интересно, что подано на CFGBVS, VCCBATT и пр. ... Но тут лучше уже схему узреть целиком.
Bad0512
Цитата(Олег Гаврильченко @ Jan 11 2017, 15:50) *
Мной была разработана плата с микросхемой XC7K70T. При первом же включении iMPACT не определила ПЛИС. Точнее, она увидела, что подключена микросхема, но сказала, что эта микросхема имеет неизвестный Vendor и Device ID.

Пара вопросов :
1. Какой ID был считан с чипа?
2. Посмотрите осциллографом что творится на выходе TDO - какой-то постоянный уровень или есть какое-то движение?
Олег Гаврильченко
Цитата(Bad0512 @ Jan 12 2017, 05:21) *
Пара вопросов :
1. Какой ID был считан с чипа?
2. Посмотрите осциллографом что творится на выходе TDO - какой-то постоянный уровень или есть какое-то движение?

Я не знаю, как узнать, какой ID был считан. Я думал, что IMPACT не имеет такой функции.
Raven
Цитата(Олег Гаврильченко @ Jan 12 2017, 17:22) *
Я не знаю, как узнать, какой ID был считан. Я думал, что IMPACT не имеет такой функции.

Он же в логе вроде все пишет - и что делает, и что получает.
Олег Гаврильченко
Цитата(Raven @ Jan 12 2017, 18:02) *
Он же в логе вроде все пишет - и что делает, и что получает.

ОН там пишет только UNKNOWN, а само значение не пишет.
Raven
Ваш iMPACT имеет в меню пункт Debug? Если да - зайдите в этот режим отладки JTAG-цепочки и позапускайте "Get Device ID". Лог - в студию.
Олег Гаврильченко
Цитата(Raven @ Jan 12 2017, 18:41) *
Ваш iMPACT имеет в меню пункт Debug? Если да - зайдите в этот режим отладки JTAG-цепочки и позапускайте "Get Device ID". Лог - в студию.

У меня в меню Debug такого пункта нет. Он появляется, только если устройство уже правильно определилось
Lmx2315
..а что с питанием, разобрались?
Олег Гаврильченко
Цитата(Lmx2315 @ Jan 13 2017, 15:03) *
..а что с питанием, разобрались?

Да, питание теперь нормальное. Но ПЛИС все равно не определяется оп прежнему. Однако, если поставить щуп осциллографа на линию TCK JTAG, то ПЛИС нормально определяется. Сигналы JTAG проходят через КМОП-буферы SN74LVC2G34DCK. Судя по осциллограммам проходят нормально.
Boris_TS
Цитата(Олег Гаврильченко @ Jan 13 2017, 14:52) *
У меня в меню Debug такого пункта нет. Он появляется, только если устройство уже правильно определилось

Так сами добавьте руками нужную ПЛИС, и весь необходимый функционал появится:
Menu -> Edit -> Add Device -> Add Xilinx Device (Ctrl+D)
После добавления можно делать всё, что угодно. Добавлять можно не только bit-файл, но и подходящий BSDL-файл, например: Xilinx/14.7/ISE_DS/ISE/kintex7/data/xc7k70t_fbg676.bsd (если я угадал - схему то Вы так и не представили...).
iosifk
Цитата(Олег Гаврильченко @ Jan 13 2017, 15:25) *
Да, питание теперь нормальное. Но ПЛИС все равно не определяется оп прежнему. Однако, если поставить щуп осциллографа на линию TCK JTAG, то ПЛИС нормально определяется. Сигналы JTAG проходят через КМОП-буферы SN74LVC2G34DCK. Судя по осциллограммам проходят нормально.

Т.е. если на NCR вносите задержку из-за емкости щупа, то интерфейс работает.
А значит с сигналами не все в порядке. Или есть дребезг на TCK или данные где-то задерживаются. Есть ли в линиях согласующие резисторы?
Попробуйте понизить частоту на JTAG, если это возможно...
Lmx2315
Цитата(Олег Гаврильченко @ Jan 13 2017, 15:25) *
Да, питание теперь нормальное.

а что с питанием было?
Raven
Цитата(Олег Гаврильченко @ Jan 13 2017, 15:25) *
Однако, если поставить щуп осциллографа на линию TCK JTAG, то ПЛИС нормально определяется. Сигналы JTAG проходят через КМОП-буферы SN74LVC2G34DCK. Судя по осциллограммам проходят нормально.

А как выглядят (нормально ли?) эти сигналы, если встать щупами на линии по другую сторону от SN74LVC2G34DCK (как я понял, это будет ближе к FPGA, верно?). Тем самым мы не будем привносить емкость щупов в линии TCK и остальные, и смоделируем ситуацию "как оно работает без осциллоскопа".
Олег Гаврильченко
Цитата(iosifk @ Jan 13 2017, 15:42) *
Т.е. если на NCR вносите задержку из-за емкости щупа, то интерфейс работает.
А значит с сигналами не все в порядке. Или есть дребезг на TCK или данные где-то задерживаются. Есть ли в линиях согласующие резисторы?
Попробуйте понизить частоту на JTAG, если это возможно...

Питание было плохим, из-за неправильного включения микросхемы DC/DC.
Частоту JTAG понижал, все осталось по-прежнему. Согласующих резисторов нет, только подтягивающие резисторы на линии JTAG на входе буферов. Сигналы и на выходе и на входе буферов чистые абсолютно, никакого дребезга оциллограф не показывает. Прилагаю лист со схемой.
Lmx2315
А вы когда осцилографом в ТСК тыкаетесь, вы в контрольную точку или в ножку буфера? Может непропай какой?
И ещё - у вас на плате есть какие-нить USB ? Если есть - соедините их с компом с которого прошиваете ПЛИС и опять попробуйте прошить, может дело в наводках каких по "земле" .
Raven
Согласующие резисторы должны быть в используемом адаптере для конфигурирования, по возможности ближе к выходам драйверов линий. У вас какой? И есть ли в нем согласующие резисторы на линиях TCK, TMS, TDI?
Олег Гаврильченко
Цитата(Lmx2315 @ Jan 13 2017, 16:32) *
А вы когда осцилографом в ТСК тыкаетесь, вы в контрольную точку или в ножку буфера? Может непропай какой?
И ещё - у вас на плате есть какие-нить USB ? Если есть - соедините их с компом с которого прошиваете ПЛИС и опять попробуйте прошить, может дело в наводках каких по "земле" .

Я прикасаюсь к цепи TCK_O и на входе микросхемы DA1 и на точке К3. Пробовал пропаивать, не помогает. USB на плате нет.
Raven
Цитата(Олег Гаврильченко @ Jan 13 2017, 16:00) *
Сигналы и на выходе и на входе буферов чистые абсолютно, никакого дребезга оциллограф не показывает. Прилагаю лист со схемой.

Тут не только дребезг и звон смотреть надо. Особенно внимательно, "под микроскопом" - форму фронта TCK (нет ли на ней, м-м-м, ну, странностей, например в виде "седла", или еще чего-нибудь нехорошего). Если смотреть уже позади буферов (при проявляющейся проблеме),- то взаимные временные диаграммы тройки TCK/TMS/TDI - правильно ли у них все складывается, вовремя ли, не пропущено ли чего и т.п.

Уточним: а если осциллоскопом встать на линию TCK (позади буфера), то проблема проявляется?
Олег Гаврильченко
Цитата(Raven @ Jan 13 2017, 16:50) *
Тут не только дребезг и звон смотреть надо. Особенно внимательно, "под микроскопом" - форму фронта TCK (нет ли на ней, м-м-м, ну, странностей, например в виде "седла", или еще чего-нибудь нехорошего). Если смотреть уже позади буферов (при проявляющейся проблеме),- то взаимные временные диаграммы тройки TCK/TMS/TDI - правильно ли у них все складывается, вовремя ли, не пропущено ли чего и т.п.

Уточним: а если осциллоскопом встать на линию TCK (позади буфера), то проблема проявляется?

Да. Если встать на TCK - то проблема остается, а если на TCK_O - пропадает.
Boris_TS
Цитата(Олег Гаврильченко @ Jan 13 2017, 15:25) *
Но ПЛИС все равно не определяется оп прежнему. Однако, если поставить щуп осциллографа на линию TCK JTAG, то ПЛИС нормально определяется. Сигналы JTAG проходят через КМОП-буферы SN74LVC2G34DCK. Судя по осциллограммам проходят нормально.
В SN74LVC2G34 - 2 канала,.. причём не самых быстрых... а в JTAG интерфейсе: 3 линии идёт к ПЛИС - может быть разбежка между буферами - они же не обязаны быть идентичными.
Посмотрите, правильные ли Вы получаете диаграммы TDI/TMS/TCK под ПЛИС ?

Исследование схем Xilinx привело нас к использованию SN74AVC / SN74ALVC буферов для JTAG - они вносят меньшую задержку, чем SN74LVC. Естественно, для одного направления передачи данных (TDI, TMS, TCK) мы стараемся использовать общий буфер (SN74AVC8T245).

Был у нас интересный случай: после подачи питания на плату iMPACT правильно определял всю цепочку Xilinx ПЛИС (8 шт. Virtex-6 или Virtex-7 не помню), а потом ничего не мог сделать. Оказалось, что TMS (вход буфера) залип на землю, а по включению питания в выходные каскады JTAG интерфейса записывается IDCODE ПЛИС - поэтому идентификация проходила росно 1 раз.

Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

Кстати, а какой JTAG Вы испольуете ?
Lmx2315
Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

..кстати - а блокировочные конденсаторы на буферах есть(физически)?
И ещё - где-то на форуме был случай, у человека цифровой сигнал был проложен рядом с плохоработающим DC/DC - тот помехи наводил на цифру из-за плохой разводки и цифра тоже работала только тогда когда её щупом осцилографа трогали. Иголки помех что стояли на цифровой линии сглаживались входной ёмкостью осцилографа и всё работало.
А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы.
Олег Гаврильченко
Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Также был другой неприятный случай: развалился блокировочный конденсатор под буфером, да так, что выглядел целым, пока не стали его отпаивать - становишься осциллографом под ПЛИС на TMS и TCK - всё работает, убираешь щупы - глючит.

Кстати, а какой JTAG Вы испольуете ?

Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера?
Использую XILINX PLATFORM CABLE II.
Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна.
Boris_TS
Цитата(Олег Гаврильченко @ Jan 13 2017, 17:40) *
Блокировочный конденсатор - это конденсатор фильтрующий питание микросхемы буфера?

Да. На Вашей схеме это будут C1 и C2.
Алга
Теперь нужно рассмотреть фронт TCK_O осциллографом как рекомендовали под "микроскопом".
Есть ли признаки отражения на нем, на фронте.
Также попробовать поставить последовательный резистор (вместо конденсатора) на этом сигнале
(согласно предложенным здесь рекомендациям в случае отражения).
Boris_TS
Цитата(Lmx2315 @ Jan 13 2017, 17:23) *
А ещё помню - подтягивающие резисторы может быть неправильных номиналов , вместо Ком , Момы.

Сталкивался с подобным лично, но более 10 лет назад: резисторы 0805 имели маркировку как 5.1кОм,.. а по результатам измерения 51кОм. Отдел закупки потом кровожадные разборки клеил с поставщиками.
Raven
Скорее всего, наводки от быстрых фронтов соседей. И могут быть не только, и даже не столько от наплатных источников, сколько от кабелька между адаптером и разъемом на плате. У вас они как соединены: в виде flying leads (отдельными проводочками), или в виде ribbon cable (ленточный плоский кабель)?

И еще: в свете такого предположения идея разместить по соседству на разъеме TCK и TDO - плохая (вообще-то, она плохая по любым меркам). Надо было с двух сторон TCK землями или питанием обложить.

И еще. TDO тоже нуждается в последовательном согласовании. Кстати, это тоже может повлиять на ситуацию с TCK (поскольку, кроме прочего, уменьшит скорость нарастания фронтов на TDO).

Цитата(Boris_TS @ Jan 13 2017, 17:18) *
В SN74LVC2G34 - 2 канала,.. причём не самых быстрых... а в JTAG интерфейсе: 3 линии идёт к ПЛИС - может быть разбежка между буферами - они же не обязаны быть идентичными.

Исследование схем Xilinx привело нас к использованию SN74AVC / SN74ALVC буферов для JTAG - они вносят меньшую задержку, чем SN74LVC. Естественно, для одного направления передачи данных (TDI, TMS, TCK) мы стараемся использовать общий буфер (SN74AVC8T245).

Ну, это вряд ли. Выставление сигналов в JTAG происходит по спаду TCK, а восприятие - по фронту. Так что при fTCK "без фанатизма" (1-6 MHz) разница в задержках никакого влияния не должна оказывать. Тем более, что ТС снижал частоту TCK. И то, кстати, что это не помогло - еще один аргумент в пользу версии о наводках с фронтов.

Цитата(Boris_TS @ Jan 13 2017, 17:18) *
Был у нас интересный случай: после подачи питания на плату iMPACT правильно определял всю цепочку Xilinx ПЛИС (8 шт. Virtex-6 или Virtex-7 не помню), а потом ничего не мог сделать. Оказалось, что TMS (вход буфера) залип на землю, а по включению питания в выходные каскады JTAG интерфейса записывается IDCODE ПЛИС - поэтому идентификация проходила росно 1 раз.

Что-то здесь не так. Или не совсем точно описано. А как же TAP с залипшим TMS=0 проходил ветку DR-Capture-Shift-Update? Да он бы дальше RT-IDLE не ушел бы.

И еще насчет наводок. Они должны быть видны хотя бы в каком-то остаточном виде. Особенно если вы включите щуп в режиме 1:10. Кстати, а вы в каком режиме пробника смотрели TCK_O? 1:10 или 1:1? Если последнее - обязательно попробуйте 1:10.
Алга
В данном случае, согласно приведенной электрической схеме, кабель состоит из отдельных проводов.
Тогда для уменьшения наводок между сигналами необходимо сделать витые пары (провод сигнала+ провод земли) каждому сигналу.
Другой вариант- использовать плоский кабель с разьемом 14 контактов (в комплекте программатора есть), на плате
тогда необходим такой разьем. В этом случае решение витой пары уже присутствует (порядка 7 контактов- земля между сигналами).
Flood
Самое простое, что можно попробовать - убрать буферы, поставив вместо них проходные резисторы где-то на 15 Ом.
У вас одна ПЛИС, одно питание - зачем нужна буферизация?
Lmx2315
Цитата(Flood @ Jan 13 2017, 20:50) *
У вас одна ПЛИС, одно питание - зачем нужна буферизация?

..чтобы статикой не пожечь дорогую ПЛИС по сравнению с дешёвыми буферами.
Или чтобы не пожечь её же если "земляной" провод с программатора отпадёт случайно, а комп и плата к примеру будут сидеть на разных розетках.
Flood
Цитата(Lmx2315 @ Jan 14 2017, 10:25) *
..чтобы статикой не пожечь дорогую ПЛИС по сравнению с дешёвыми буферами.
Или чтобы не пожечь её же если "земляной" провод с программатора отпадёт случайно, а комп и плата к примеру будут сидеть на разных розетках.

Ну, 7K70T - еще не самая дорогая ПЛИС sm.gif А JTAG-интерфейс, как правило, не для использования конечным пользователем.
На практике, за годы использования JTAG-а ни один Xilinx не выбило статикой по JTAG-порту.

Хотя в целом буферизация вещь полезная, для единственной ПЛИС навешивание буферов скорее всего не оправдано.
dvladim
Цитата(Олег Гаврильченко @ Jan 13 2017, 17:40) *
Я установил конденсатор 100пФ между TCK_O и GND. Теперь все работает нормально. Но причина не ясна.

Причина практически ясна. Алга вам все верно ответил.
Скорее всего линия TCK не согласована и на ней возникает отражение, что приводит к лишним тактам по TCK.
Если осциллографом видите на TCK перегиб или полку на уровне половины питания, то это оно и есть.
Когда вы становитесь щупом, то вносите ёмкость и давите эту иголку.
Варианы борьбы с этим тоже стандартны:
во-первых надо было трассировать эту линию с учетом волнового сопротивления (кстати TMS TDI TDO это не касается, потому что это синхронные сигналы).
во-вторых последовательное терминирование - на выходе буфера поставить сопротивление ~25-40 Ом.
в-третьих ближе к ноге плис поствить ёмкость чтобы подавить иголку. Обычно хватает ~15пФ.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.