Прошить ПЛИС Xilinx

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Post Reply
Maksim
Posts: 2
Joined: 25 Oct 2018, 10:45

Прошить ПЛИС Xilinx

Post by Maksim »

Добрый день.
Помогите решить задачу.
Нужно вычитать данные из микросхемы Xilinx xc2c32a и записать их в чистую(новую) микросхему.
Есть программатор Xilinx Platform USB, модель DLC9G
Это можно сделать?
У родной микросхемы замыкание между питанием и землёй. Без неё аппарат не включается.
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Прошить ПЛИС Xilinx

Post by BSVi »

Если замыкание по питанию, то, скорее-всего, пол микросхемы выгорело и вычитывать там уже нечего.
Maksim
Posts: 2
Joined: 25 Oct 2018, 10:45

Re: Прошить ПЛИС Xilinx

Post by Maksim »

Есть такой же рабочий аппарат.
Снял рабочую микросхему от туда. Но как слить с неё инфу и залить на чистую?
super_bum
Posts: 229
Joined: 28 Feb 2014, 23:24
Location: Earth

Re: Прошить ПЛИС Xilinx

Post by super_bum »

connect jour jtag adapter to the CPLD.
Start impact on your PC.
Initialize the JTAG-Chain.
Choose the Readback operation for the connected device.
Save the Jedec file.

https://forums.xilinx.com/t5/CPLDs-Arch ... td-p/62731
User avatar
iEugene0x7CA
Адепт
Posts: 1571
Joined: 20 May 2012, 02:38
Location: Киев

Re: Прошить ПЛИС Xilinx

Post by iEugene0x7CA »

Maksim wrote:Есть такой же рабочий аппарат.
Снял рабочую микросхему от туда. Но как слить с неё инфу и залить на чистую?
Более прикладная инструкция:
1. Думаю микруху снимать не стоило, на платке почти всегда должен быть JTAG разъём через который микросхему программировали на заводе. На него же можно подключиться программатором;
2. JTAG на плате может выглядеть как угодно, но практически всегда это 6 контактов: TDI, TDO, TCK, TMS для данных, и GND + Vref для питания.
Стоит учесть, что напряжение питания JTAG-программаторы не выдают — только меряют есть ли оно на плате.
Дабы платка распозналась прогой на компе(да, IMPACT это она) — нужно либо запитать плату... Ну, либо разобрать программатор и подвести линию 3.3 вольта на Vsense как делают все электронщики. :)
Во втором случае и программатор получит сигнал что питание есть, и на платку будет приходить питалово от программатора — можно будет шить просто подключив JTAG-шнурок платкам;
3. Где взять прогу IMPACT. Для этого нужно скачать среду разработки для микросхем Xilinx, она называется ISE Design Suite.
C этим геммор, я как-то пытался скачать бесплатную версию с оф. сайта, но там сказали что я из какой-то неблагонадёжной страны и мол что-то ты бывший коммунист офигел. :mrgreen:
У нас прогу можно скачать с любых торрентов, и там среди вкладок найти менюшку IMPACT.
Да, вроде при установке всей среды можно нарыть опцию т.н. "лабораторного набора для техников", т.е. это будет чисто прога программатора — на компе займёт где-то 2 ГБ вместо 16-ти.
4. Фигушки программатор сам заработает, для него нужно скачать дрова Xilinx USB cable, но конечно зависит от того какой программатор. У меня USB, который когда-то подарил Серёга, вытащив из глубин кладовки. ;)
Да, где-то в глубинах он лежал не просто так — лично мой программатор дико глючит, прошивает 1 раз из 5-ти, и обычно это ещё то веселье прошить 20 ПЛИС'ок. :geek:
5. Да! Что-то я о софтваре и о софтваре. Скорее всего ножки JTAG'а так и не были найдены. Протрейсить их можно открыв даташит на нужную микруху и посмотрев номера упомянутых выше ножек, а потом глянуть куда от этих ножек убегают дороги на плате.
На самом программаторе тоже пины скорее всего не подписаны, но там должен быть стандартный 14-пиновый разъём, распиновка на него есть в инете.
6. Ну, когда софт поставлен + программатор подключен к запитанной платке – уже тогда открываем IMPACT и там инициализируем chain.
Должна найтись CPLD'шка. Кликаем на неё и там есть опция считать прошивку в файл на компе.
7. However, прошива может быть залочена производителем дабы кто-то слишком находчивый не начал копировать его устрйоства. :)
В таком случае может быть печально, особенно если девайс старый — с производителем уже не свяжешься. Но, проверить лоченная микра или нет можно только считав её и записав конфигурацию в другую ПЛИС.

Инструкция конечно подлиннее чем у Super_Bum, но реально даже её наверное мало.
Пиши доп. вопросы если чего — в первый раз шить Хильки это ещё то удовольствие. :)
Qic
Posts: 985
Joined: 03 Feb 2012, 00:14

Re: Прошить ПЛИС Xilinx

Post by Qic »

.
Last edited by Qic on 19 May 2019, 19:32, edited 1 time in total.
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Прошить ПЛИС Xilinx

Post by BSVi »

Нет, любой не подойдет. Подойдет только этот специфичный ксайликовский.
Qic
Posts: 985
Joined: 03 Feb 2012, 00:14

Re: Прошить ПЛИС Xilinx

Post by Qic »

.
Last edited by Qic on 19 May 2019, 19:32, edited 1 time in total.
User avatar
iEugene0x7CA
Адепт
Posts: 1571
Joined: 20 May 2012, 02:38
Location: Киев

Re: Прошить ПЛИС Xilinx

Post by iEugene0x7CA »

Вообще жалко что JTAG не полностью унифицирован.
Его создавали как некую единую шину для прошивки сразу всех микросхем на плате за 1 подключение программатора...
Но на деле — каждый производитель сделал поддержку только своих микрух, и даже будь их целая горсть с JTAG'ом, объединеных в цепь — придётся по очереди подрубать к тому же разъёму разные программаторы дабы прошить зоопарк из разных брендов.
В итоге и в шину их объединять никто не объединяет — бывает по несколько штук JTAG'ов на 1-й платке, дабы не тянуть дороги между микрухами. :geek:
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Прошить ПЛИС Xilinx

Post by BSVi »

Его создавали как некую единую шину для прошивки сразу всех микросхем
Нет, JTAG создавали не для прошивки. В этом и проблема. Его создавали для тестирования плат, им можно пошевелить ножкой микросхемы удаленно. И это работает любым джтагом на любой микросхеме, тоесть унификация в плане стандарта есть. А вот потом, его начали использовать нестандартно, поэтому джтаги и не совместимы.

Сначала, когда была внешняя память, ее программировали через ногодрыг по JTAGу. Естественно, это было очень медленно, поэтому придумали делать в микросхеме другую виртуальную микросхему (в терминалогии JTAG - Test Access Point), которой по JTAG передаются команды как и что программировать. Эти команды были уже не стандартные и каждый лепил что хотел. Дальше стало еще круче - так как жалко было использовать кусок железа для программирования, по джтагу ногодрыгом зашивалась некая прошивка в оперативку, а потом, эта прошивка (flash loader), основными силами проца или ПЛИС производила программирвоание. Естественно, эта прошивка сильно зависит от конкретного девайса. Поэтому сейчас программирвоание по джтагу не только производителе-зависимое, но и девайсо-зависимое.
Post Reply