makc 235 9 июля Опубликовано 9 июля · Жалоба 7 минут назад, AzardCry сказал: Я никогда не разрабатывал устройства, где несколько ПЛИС загружаются по цепочке. При этом здесь написано "For all devices except the first, the active driver on DONE must be disabled", т.е. логика такова, что всё же один DONE работает как выход (последний в цепочке), а другие ждут его сигнала, насколько я это понял. В целом верно, но если драйвить DONE будет самая первая сконфигурированная ПЛИС, то получится соединение выхода с уровнем "1" с выходом с уровнем "0", что чревато выходом пинов из строя. Поэтому активно драйвить DONE должна только самая крайняя ПЛИС в цепочке, которая получает конфигурацию в последнюю очередь и в этом случае можно обойтись без подтяжки на линии DONE. Но вне зависимости от режима конфигурации, ПЛИС всегда смотрит на состояние сигнала DONE. 12 минут назад, AzardCry сказал: Правильно ли я думаю, что в схеме, где только одна ПЛИС загружается из SPI FLASH, дополнительный резистор не нужен (потому что не сказано обратного), потому что в таком режиме загрузке ПЛИС нам не интересен уровень на выводе DONE? Нет, вы думаете неправильно и примеры в гайде ясно об этом говорят. На DONE должен появиться уровень единицы, чтобы началась startup sequence, а без резистора под светодиодом ПЛИС единицу не увидит, т.к. падение на светодиоде может быть меньше уровня активной единицы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 9 июля Опубликовано 9 июля · Жалоба 6 минут назад, makc сказал: Вы разрабатывали что-нибудь на Xilinx? Разумеется. При питании 1.8В такая схема не годится в любом случае - сколько резисторов не вешай - только дополнительный транзистор на какое-то другое бОльшее питание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба 1 минуту назад, Zig сказал: В серии Spartan-6 вывод DONE может быть как open-drain, так и push-pull. Поэтому резистор последовательно со светодиодом лучше оставить, чтобы обезопаситься от криворуких/забывчивых плисоводов. Это, кстати, относится и к седьмой серии. И является вторым, но не основным, аргументом в пользу резистора под светодиодом. 1 минуту назад, Arlleex сказал: Разумеется. При питании 1.8В такая схема не годится в любом случае - сколько резисторов не вешай - только дополнительный транзистор на какое-то другое бОльшее питание. Причём здесь 1.8В, если у ТС на схеме 3.3В? 🤦♂️ И раз вы используете Xilinx, то знаете про механизм задержки startup с помощью нулевого уровня на DONE? 10 минут назад, eddddy сказал: DONE "1" - светодиод горит, DONE "0" - не горит. Смысл - кому то потребовалась обратная логика у этой цветомузыки. О нет... Это так не работает. 😔 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
eddddy 31 9 июля Опубликовано 9 июля · Жалоба 3 минуты назад, makc сказал: О нет... Это так не работает. 😔 Это почему это? Нарисованная схема именно так и работает: представьте находящийся на кристалле мосфет, стоком на пин DONE Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба Только что, eddddy сказал: Это почему это? Нарисованная схема именно так и работает: представьте находящийся на кристалле мосфет, стоком на пин DONE Потому что вы пишете, но не читаете написанное. Нулевой уровень на DONE задержит запуск ПЛИС, как написано, например здесь https://support.xilinx.com/s/article/51686?language=en_US Не обращайте внимание, что написано не про Spartan-6, логика у них в этом плане одна и та же. И низкий уровень на DONE из-за светодиода не даст нормально запуститься ПЛИС, поэтому добавили резистор, дающий дополнительное падение напряжения и в результате правильный уровень единицы на DONE. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 190 9 июля Опубликовано 9 июля · Жалоба 36 минут назад, makc сказал: И раз вы используете Xilinx, то знаете про механизм задержки startup с помощью нулевого уровня на DONE? Открыл, посмотрел, как делал я. Сейчас практически всегда светодиоды подключены либо транзистором, либо микросхемой-буфером. В старых проектах - светодиод напрямую, без доп. резистора (согласен, это действительно так себе, потому что мне, скорее всего, везло с тем, что у LED весьма большое падение было). А еще делал вместо индикации DONE индикацию NO DONE - т.е. светодиод менял на красный, и подключал цепочкой 3.3V -> 330 Ом -> FPGA_DONE. Но это, скорее, потому, что на плате много всяких индикаторов, и проще смотреть что сдохло, а не то, что запустилось и работает нормально. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 235 9 июля Опубликовано 9 июля · Жалоба 1 минуту назад, Arlleex сказал: Открыл, посмотрел, как делал я. Сейчас практически всегда светодиоды подключены либо транзистором, либо микросхемой-буфером. Лишние позиции в BOM, лишние затраты, когда достаточно простого резистора, который стоит в серии практически ноль рублей. 2 минуты назад, Arlleex сказал: В старых проектах - светодиод напрямую, без доп. резистора (согласен, это действительно так себе, потому что мне, скорее всего, везло с тем, что у LED весьма большое падение было). Везение может изменить в определённых температурных условиях. Поэтому резистор в вышеприведённой схеме нужен. 2 минуты назад, Arlleex сказал: А еще делал вместо индикации DONE индикацию NO DONE - т.е. светодиод менял на красный, и подключал цепочкой 3.3V -> 330 Ом -> FPGA_DONE. Мы с коллегами тоже так делали, но людям почему-то больше нравится видеть зелёный, который показывает, что ПЛИС сконфигурировалась. Некоторые к этому так привыкли, что другого и видеть не хотят в принципе. 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AzardCry 0 10 июля Опубликовано 10 июля (изменено) · Жалоба 17 часов назад, makc сказал: Лишние позиции в BOM, лишние затраты, когда достаточно простого резистора, который стоит в серии практически ноль рублей. Везение может изменить в определённых температурных условиях. Поэтому резистор в вышеприведённой схеме нужен. Мы с коллегами тоже так делали, но людям почему-то больше нравится видеть зелёный, который показывает, что ПЛИС сконфигурировалась. Некоторые к этому так привыкли, что другого и видеть не хотят в принципе. Тему считаю закрытой. В завершение скажу, что в том числе обнаружилось (возможно, я просмотрел это в новой документации - не увидел) что в UG332 v 1.3 для устройств SPARTAN-3 есть как схема (таблица) управляющего драйвера, так и упоминание (стр. 240), что ПЛИС (в т.ч. в одиночном варианте) не начнёт свою работу, пока в статусный регистр, бит DONEIN не запишется состояние (со стока транзистора) вывода DONE. Также, думаю, резонное замечание о том, что если вдруг даже напряжения на диоде хватит, но будет установлена опция в BitGen на Push-Pull каскад, то вывод может выйти из строя. Ну и разумеется, деградация элементов платы, температура тоже могут внести "коррективы" в работу. Изменено 10 июля пользователем AzardCry Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться