Сообщение от
valerium
Эх, жаль. Две 7032s и обе в мусорку... Хотя JTAG по "кнопке высокого напряжения" легко открылся у обеих.
Еще немного информации к размышлению. Или "копаемся в мусорном бачке дальше".
Информация для таких же как я непрофессионалов. Возможно, гуру будут сдерживать смех. ну да ладно.
Заказывал однажды у китайца 7064SLC44, приехала красивая микросхема в ячеистой ленте, писалась, верифицировась отменно. Не помню, делал ли тогда blank check, но тогда осталась полная уверенность, что получил новую ПЛИС в заводской упаковке. Более того, у него была дешевая нормальная доставка (не Cainiao super economy, где процент потерь моих посылок под 70% после пересечения таможни РФ).
Обрадовался, заказал у него же еще три штуки. Вчера получил, все такие же новые и красивые. Расклад такой:
#1. В квартусе детектится, blank check не выполняется (шитая), но шьется и верифицируется нормально.
#2. В квартусе не детектилась, выполнил ей blank check с подачей высокого на OE1 - задетектилась. Но после этого не шьется из-за "неподдерживаемой ревизии устройства" (в логе ошибка Info (209006): Device #1 Silicon ID is ALTERA_7(01), а у нормальной было ALTERA97(01) - то есть при проверке Silicon ID читается байт 0x19 вместо 0x39 - ошибка в одном бите, а уже облом.
#3. В квартусе не детектилась, выполнил ей blank check с подачей высокого на OE1 - задетектилась, но не проходит проверку Silicon ID, потому что там читается откровенный мусор (как выяснилось далее, в фрагменте проверки SILICON ID важно, чтоб считалось именно "ALTERA", тогда последующее воспринимается как номер ревизии). В общем, непригодная - не выброс. Вроде бы.
То есть Silicon ID или искажается при высоковольтном стирании, или просто он изначально испорчен и микросхема действительно продавалась из заводской отбраковки.
Наткнулся вот на эту статью, где на 7032s ничего не шилось также из-за криво проверяемого Silicon ID. Они шьют своим программатором и своим же софтом, но используют как сценарий полученный из кактуса .svf-файл, это развернутый в линию набор команд JTAG, который просто проигрывается SVF-плеером в указанное устройство (программатор).
ОК, берем микросхему #3, экспортируем в .svf свой любимый проект, собранный для 7064S, из того же кактус-программера. Если выбираем при экспорте опцию "program", то внутри svf будут блоки команд
!CHECKING SILICON ID - проверка нашего непонятного Silicon ID
!BULK ERASE - стирание
!PROGRAM - программирование
!VERIFY - верификация
Если выбираем при экспорте только верификацию, получим два блока - CHECKING SILICON ID и VERIFY.
Подключаем программатор и микросхему в подопытном устройстве, выбираем квартусом программатор, если нужно.
Запускаем JTAG chain debugger. На вкладке JTAG chain integrity можно выполнить Test jtag chain - это позволит убедиться, что микросхема видна по JTAG.
На вкладке JTAG Chain debugger жмем Open JTAG chain log и пытаемся открыть сформированный ранее svf-файл. Он, разумеется, ломается на какой-то из команд блока !CHECKING SILICON ID, поэтому безжалостно выстригаем этот блок текстовым редактором. Получается, что выполняется только bulk erase, program и verify. Но под известный нам и заведомо правильный тип ПЛИС.
Код:
!Info: JTAG chain connection is good. Detected 1 device(s)
!Info: Device 1: EPM7064S (USERCODE: 0x00000000)
!Info: Parsing Progress: 100 %
!Info: Execution progress: 100 %
!Warning: Current hardware doesn't suppport TCK frequency setting
!Info: Success to execute file: C:/test/7064-p_nocheck.svf
!Info: Total time is: 19 seconds;
!Info: Parsing Progress: 100 %
!Info: Execution progress: 100 %
!Warning: Current hardware doesn't suppport TCK frequency setting
!Info: Success to execute file: C:/test/7064-v_nocheck.svf
!Info: Total time is: 1 seconds;
Здесь первые две строки - проверка цепи JTAG (с первой вкладки), затем 5 строк - отработка сценария с опцией program (программирование/верификация), последние 5 строк - отработка сценария с опцией verify, из него тоже уже убрана проверка silicon ID.
Слово SUCCESS означает в обоих случаях успешное завершение верификации. Микросхема из мусорного бачка все-таки успешно прошилась.
Сразу скажу, что микросхема #2 сломалась на 19% сценария прошивки и я с ней ничего не добился.
И ранее замученные 7032S тоже рвут выполнение программирования на 17%. Так что это не выход, но вывод из этого такой: микросхемы с кривым Siilcon ID могут быть исправны.
А неисправными могут оказаться и микросхемы, которые проходят все тесты успешно - мы не знаем, какой хлам могут прислать наши китайские друзья.
Моя статистика по китайским ПЛИС из того, что покупалось.
3032ALC44 - все приходили заблокированными, но приводятся в чувство кнопкой HV и работают без ошибок.
7032SLC44 - все приходили заблокированными, JTAG открыл, ни с одной ничего полезного не сделал.
7064SLC44 - половина купленных не заблокирована, шьется и проверяется норм, остальные дают открыть JTAG, но шьются через дебаггер и пока только одна успешно.
7128SLC84 - ну эти все молчали и молчат, даже JTAG не открывается.
ЗЫ: воскрешенную 7064SLC44 толком не тестировал в более-менее сложной схеме. Все, что под сейчас рукой - оно на 3032. Чуть позже переделаю питание на 5в на какой-нибудь плате, отцепив ноги 36 и 17, потестирую с пристрастием.