|
eFUSE Registers у xilinx, уникальный код устройства |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 21)
|
Nov 3 2015, 11:31
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 3-04-13
Пользователь №: 76 333

|
Цитата(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" вычитываются импактом, а не изнутри. коллега предположил что это могут быть "серые" ПЛИСины, в которых производитель ничего не писла. но насколько это предположение верно - я так ничего и не нагуглил
|
|
|
|
|
Nov 3 2015, 12:02
|

Знающий
   
Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933

|
Цитата(GAYVER @ Nov 3 2015, 14:31)  я, кстати, этот момент тоже не совсем понял - разрядность регистра 64 бита, при этом значащий идентификатор в битах 63-7... для чего оставшийся байт - хз. но я мог что то пропустить. для 3 семейства, ДНА=96 бит, но там есть старт-стоповые биты в начале и в конце идентификатора...
зы все "1" вычитываются импактом, а не изнутри. коллега предположил что это могут быть "серые" ПЛИСины, в которых производитель ничего не писла. но насколько это предположение верно - я так ничего и не нагуглил Сконфигурированные ПЛИСы не дают читать по JTAG свой идентификатор. Сбросьте прошивку (например начав программирование и сбросив не дожидаясь конца), а потом повторите процедуру считывания. Все вышесказанное относится к Virtex-6.
--------------------
|
|
|
|
|
Nov 5 2015, 06:53
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 3-04-13
Пользователь №: 76 333

|
Цитата(dm.pogrebnoy @ Nov 3 2015, 15:02)  Сконфигурированные ПЛИСы не дают читать по JTAG свой идентификатор. Сбросьте прошивку (например начав программирование и сбросив не дожидаясь конца), а потом повторите процедуру считывания. Все вышесказанное относится к Virtex-6. об этом тоже читали. Только не помню где - в ЮГ или на форуме хилинха. К сожалению уже после того как задал вопрос здесь
|
|
|
|
|
Nov 5 2015, 13:25
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 3-04-13
Пользователь №: 76 333

|
Цитата(yes @ Nov 5 2015, 15:43)  может не в тему - а не переводит IMPACT в bypass все ПЛИС в цепочке, кроме одной? а должен? вроде как нет... тут скорее повлияло то что 2 плисины были законфигурены на момент вычитывания. причем в одной из них после вычитывания слетала прошивка. но пока что руки не дошли проверить все на плате
|
|
|
|
|
Nov 10 2015, 07:18
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(Bad0512 @ Nov 10 2015, 07:00)  Откуда такая информация? Где об этом можно прочитать? Смахивает на детские страшилки... Ох уж эта молодёжь  ) В гугле забанили, кровь горячая  ))) Инфа относится к Virtex 6 Подробности в ds152 стр 10 табл 12 Number of DNA_PORT READ operations or JTAG ISC_DNA read command operations. Unaffected by SHIFT operations. = 30 миллионов циклов чтения. Надо ли рассказывать за сколько миллисекунд выработается этот ресурс на частоте 100МГц при неправильном подключении  )))))) Цитата(dm.pogrebnoy @ Nov 9 2015, 23:25)  ug470 p.118, p.99 просто eFUSE который записали на заводе. Неожиданно  )) Но логично. Спасибо за уточнение. Я их разделял по функционалу и не подозревал что суть одна.
Сообщение отредактировал MegaVolt - Nov 10 2015, 07:19
|
|
|
|
|
Nov 10 2015, 09:01
|
Знающий
   
Группа: Свой
Сообщений: 802
Регистрация: 11-05-07
Из: Томск
Пользователь №: 27 650

|
Цитата(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МГц при неправильном подключении  )))))) Ну, во-первых из этого документа не следует, что через 30 000 000 циклов чтения DNA читаться перестанет. Там говорится о том, что 30 000 000 циклов фирма гарантирует, а дальше - вы сами себе злобные буратины, может быть всё, что угодно. Но, повторюсь, это не означает, что DNA перестанет читаться. Во-вторых читать DNA на частоте 100 МГц постоянно с целью его угробить - довольно глупое занятие, для большинства приложений DNA надо читать лишь один раз по старту ПЛИС, для особых параноиков - периодически не чаще раза в секунду. В любом случае, ресурса в 30 000 000 циклов хватит на время жизни изделия. В-третьих решения на основе DNA макроса используются очень широко, и если бы в этой технологии были бы серьёзные изъяны - Xilinx бы не стал об этом молчать.
|
|
|
|
|
Nov 11 2015, 10:53
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 3-04-13
Пользователь №: 76 333

|
Цитата(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млн гарантированных чтений
|
|
|
|
|
Aug 22 2018, 14:29
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(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 разные. Спрашивается можно ли как то изнутри получить именно уникальный код. Или никак? И нужно колхозить какой то свой велосипед?
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|