Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: eFUSE Registers у xilinx
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
GAYVER
в ug470_7Series_Config.pdf говорится о том что есть регистр, в котором прошит типа уникальный код ПЛИСины, доступ к которому есть по JTAGу и изнутри проекта. Вообще стоит задача вычитывать этот код из проекта, но пока попробовал вычитать эти коды с нашей платы - в цепочке 3 ПЛИСины. Из двух вычитываются все "1", из одной какой то код. В связи с этим вопрос - почему читаются еденицы? Как я понимаю это не есть нормально...

зы
а еще в том же юзер гайде наткнулся на такую строчку: However, up to 32 devices within the family can contain the same DNA value.

это что ж получается - не такой уж и уникальный этот код???
Vascom
В том же документе написано, что через JTAG можно прочитать полный 64 разрядный идентификатор, который всегда уникален:
The JTAG FUSE_DNA command can be used to read the entire 64-bit value that is always unique.

Изнутри же можно читать только 57-битный идентификатор, но вряд ли он может быть равен "все 1".
GAYVER
Цитата(Vascom @ Nov 3 2015, 14:02) *
В том же документе написано, что через JTAG можно прочитать полный 64 разрядный идентификатор, который всегда уникален:
The JTAG FUSE_DNA command can be used to read the entire 64-bit value that is always unique.

Изнутри же можно читать только 57-битный идентификатор, но вряд ли он может быть равен "все 1".


я, кстати, этот момент тоже не совсем понял - разрядность регистра 64 бита, при этом значащий идентификатор в битах 63-7... для чего оставшийся байт - хз. но я мог что то пропустить. для 3 семейства, ДНА=96 бит, но там есть старт-стоповые биты в начале и в конце идентификатора...

зы
все "1" вычитываются импактом, а не изнутри. коллега предположил что это могут быть "серые" ПЛИСины, в которых производитель ничего не писла. но насколько это предположение верно - я так ничего и не нагуглил
Vascom
Да, как-то странно у них это сделано.
dm.pogrebnoy
Цитата(GAYVER @ Nov 3 2015, 14:31) *
я, кстати, этот момент тоже не совсем понял - разрядность регистра 64 бита, при этом значащий идентификатор в битах 63-7... для чего оставшийся байт - хз. но я мог что то пропустить. для 3 семейства, ДНА=96 бит, но там есть старт-стоповые биты в начале и в конце идентификатора...

зы
все "1" вычитываются импактом, а не изнутри. коллега предположил что это могут быть "серые" ПЛИСины, в которых производитель ничего не писла. но насколько это предположение верно - я так ничего и не нагуглил


Сконфигурированные ПЛИСы не дают читать по JTAG свой идентификатор. Сбросьте прошивку (например начав программирование и сбросив не дожидаясь конца), а потом повторите процедуру считывания. Все вышесказанное относится к Virtex-6.
GAYVER
Цитата(dm.pogrebnoy @ Nov 3 2015, 15:02) *
Сконфигурированные ПЛИСы не дают читать по JTAG свой идентификатор. Сбросьте прошивку (например начав программирование и сбросив не дожидаясь конца), а потом повторите процедуру считывания. Все вышесказанное относится к Virtex-6.


об этом тоже читали. Только не помню где - в ЮГ или на форуме хилинха. К сожалению уже после того как задал вопрос здесь sm.gif
yes
может не в тему - а не переводит IMPACT в bypass все ПЛИС в цепочке, кроме одной?
GAYVER
Цитата(yes @ Nov 5 2015, 15:43) *
может не в тему - а не переводит IMPACT в bypass все ПЛИС в цепочке, кроме одной?


а должен? вроде как нет... тут скорее повлияло то что 2 плисины были законфигурены на момент вычитывания. причем в одной из них после вычитывания слетала прошивка. но пока что руки не дошли проверить все на плате
yes
Цитата(GAYVER @ Nov 5 2015, 16:25) *
а должен? вроде как нет... тут скорее повлияло то что 2 плисины были законфигурены на момент вычитывания. причем в одной из них после вычитывания слетала прошивка. но пока что руки не дошли проверить все на плате


я не помню, могу путать. как вариант, если более вероятные не прокатят
MegaVolt
Ещё учитывайте что у некоторых семейств есть ограничение на количество считывания DNA. Если переборщить то DNA будет затёрт sad.gif

А так всё отлично читается как изнутри так и снаружи.

И кстати в заголовке вопрос про eFuse а не про DNA. Так вот eFuse это однократно программируемый код. Который должен прошить пользователь. Если он не прошит то само собой читаются все 1.
dm.pogrebnoy
Цитата(MegaVolt @ Nov 9 2015, 12:18) *
И кстати в заголовке вопрос про eFuse а не про DNA.

В терминах Xilinx - DNA это eFUSE.
MegaVolt
Цитата(dm.pogrebnoy @ Nov 9 2015, 18:01) *
В терминах Xilinx - DNA это eFUSE.
Да вроде как это разные вещи. DNA прошита на заводе и я могу её читать но не могу менять. А eFuse с завода приходит чистый а я могу его один раз писать.
dm.pogrebnoy
Цитата(MegaVolt @ Nov 9 2015, 19:12) *
Да вроде как это разные вещи. DNA прошита на заводе и я могу её читать но не могу менять. А eFuse с завода приходит чистый а я могу его один раз писать.

ug470 p.118, p.99
просто eFUSE который записали на заводе.
Bad0512
Цитата(MegaVolt @ Nov 9 2015, 15:18) *
Ещё учитывайте что у некоторых семейств есть ограничение на количество считывания DNA. Если переборщить то DNA будет затёрт sad.gif

Откуда такая информация? Где об этом можно прочитать?
Смахивает на детские страшилки...
MegaVolt
Цитата(Bad0512 @ Nov 10 2015, 07:00) *
Откуда такая информация? Где об этом можно прочитать?
Смахивает на детские страшилки...
Ох уж эта молодёжь sm.gif) В гугле забанили, кровь горячая sm.gif)))

Инфа относится к Virtex 6 Подробности в ds152 стр 10 табл 12 Number of DNA_PORT READ operations or JTAG ISC_DNA read
command operations. Unaffected by SHIFT operations. = 30 миллионов циклов чтения.

Надо ли рассказывать за сколько миллисекунд выработается этот ресурс на частоте 100МГц при неправильном подключении sm.gif))))))

Цитата(dm.pogrebnoy @ Nov 9 2015, 23:25) *
ug470 p.118, p.99
просто eFUSE который записали на заводе.
Неожиданно sm.gif)) Но логично. Спасибо за уточнение. Я их разделял по функционалу и не подозревал что суть одна.
Bad0512
Цитата(MegaVolt @ Nov 10 2015, 13:18) *
Инфа относится к Virtex 6 Подробности в ds152 стр 10 табл 12 Number of DNA_PORT READ operations or JTAG ISC_DNA read
command operations. Unaffected by SHIFT operations. = 30 миллионов циклов чтения.

Надо ли рассказывать за сколько миллисекунд выработается этот ресурс на частоте 100МГц при неправильном подключении sm.gif))))))

Ну, во-первых из этого документа не следует, что через 30 000 000 циклов чтения DNA читаться перестанет. Там говорится о том, что 30 000 000 циклов
фирма гарантирует, а дальше - вы сами себе злобные буратины, может быть всё, что угодно. Но, повторюсь, это не означает, что DNA перестанет читаться.

Во-вторых читать DNA на частоте 100 МГц постоянно с целью его угробить - довольно глупое занятие, для большинства приложений DNA надо читать лишь один раз по старту ПЛИС,
для особых параноиков - периодически не чаще раза в секунду. В любом случае, ресурса в 30 000 000 циклов хватит на время жизни изделия.

В-третьих решения на основе DNA макроса используются очень широко, и если бы в этой технологии были бы серьёзные изъяны - Xilinx бы не стал об этом молчать.


GAYVER
Цитата(dm.pogrebnoy @ Nov 9 2015, 18:01) *
В терминах Xilinx - DNA это eFUSE.


ug470, table 5-16. eFUSE Registers состоит из: FUSE_KEY, FUSE_USER, FUSE_DNA, FUSE_CNTL.

FUSE_USER - регистр, программируемый пользователем
FUSE_DNA - регистр, программируемый производителем (идентификатор устройства (DNA))

Цитата(Bad0512 @ Nov 10 2015, 12:01) *
Во-вторых читать DNA на частоте 100 МГц постоянно с целью его угробить - довольно глупое занятие, для большинства приложений DNA надо читать лишь один раз по старту ПЛИС,
для особых параноиков - периодически не чаще раза в секунду. В любом случае, ресурса в 30 000 000 циклов хватит на время жизни изделия.


я думаю тут имелось ввиду что из-за косяка в коде можно на 100МГц читать этот регистр каждый такт (утрирую), тем самым быстро убив эти 30млн гарантированных чтений
Bad0512
Цитата(GAYVER @ Nov 11 2015, 16:53) *
я думаю тут имелось ввиду что из-за косяка в коде можно на 100МГц читать этот регистр каждый такт (утрирую), тем самым быстро убив эти 30млн гарантированных чтений

Ещё раз : там не пишут, что через 30000000 чтений он умрёт, там пишут, что после 30000000 они ничего не гарантируют. Это примерно как на инструкции к бензопиле написать "эта пила предназначена для дерева, а не для бетона". Да, пилой наверное можно один раз пилить бетон. Но производители не гарантируют что пила после этого останется в живых.

MegaVolt
Цитата(Bad0512 @ Nov 12 2015, 06:43) *
Ещё раз : там не пишут, что через 30000000 чтений он умрёт, там пишут, что после 30000000 они ничего не гарантируют. Это примерно как на инструкции к бензопиле написать "эта пила предназначена для дерева, а не для бетона". Да, пилой наверное можно один раз пилить бетон. Но производители не гарантируют что пила после этого останется в живых.

Продолжая тему DNA:

Я умудрился наткнуться на пару с одинаковым DNA...

Вот как это выглядит в IMPACT:

Код
=======================================
FUSE_ID[63:0] = 2A 10 96 84 43 AD 18 13
=======================================
Device DNA
==================================
      msb    -->     lsb
MSB   . . . .  - . . . 0    [0x00]
      0 0 0 1  - 1 0 0 0    [0x18]
      1 0 1 1  - 0 1 0 1    [0xB5]
      1 1 0 0  - 0 0 1 0    [0xC2]
      0 0 1 0  - 0 0 0 1    [0x21]
      0 1 1 0  - 1 0 0 1    [0x69]
      0 0 0 0  - 1 0 0 0    [0x08]
LSB   0 1 0 1  - 0 1 0 0    [0x54]
==================================

Код
=======================================
FUSE_ID[63:0] = 2A 10 96 84 43 AD 18 0B
=======================================
Device DNA
==================================
      msb    -->     lsb
MSB   . . . .  - . . . 0    [0x00]
      0 0 0 1  - 1 0 0 0    [0x18]
      1 0 1 1  - 0 1 0 1    [0xB5]
      1 1 0 0  - 0 0 1 0    [0xC2]
      0 0 1 0  - 0 0 0 1    [0x21]
      0 1 1 0  - 1 0 0 1    [0x69]
      0 0 0 0  - 1 0 0 0    [0x08]
LSB   0 1 0 1  - 0 1 0 0    [0x54]
==================================


Собственно DNA одинаковые. FUSE_ID разные.

Спрашивается можно ли как то изнутри получить именно уникальный код. Или никак? И нужно колхозить какой то свой велосипед?
Lutovid
По идее в даташитах пишут, что в рамках одного семейства они должны быть уникальны
MegaVolt
Цитата(Lutovid @ Aug 30 2018, 15:13) *
По идее в даташитах пишут, что в рамках одного семейства они должны быть уникальны

Не совсем так.

Нажмите для просмотра прикрепленного файла
Lutovid
Цитата(MegaVolt @ Sep 10 2018, 18:39) *

Да, ошибся, подзабыл уже это уточнение, но вероятность встретить плисины с одинаковым DNA все же довольно низкая, и сомнительно, что у кого-то это получилось.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.