Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Установлен ли "Security bit" ?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
KyTyIIIa
Имеется плис MAX II EPM240T100.
Каким образом можно узнать, установлен ли бит защиты от считывания?

С помощью функции "examine" Quartus'а, удается получить .pof-файл, и сам Quartus ничего не говорит о существовании какой-либо защиты.
Возможно ли узнать, насколько этот .pof-файл соответствует содержимому плис (естественно, без учета заголовков самого Quartus)?
Костян
QUOTE (KyTyIIIa @ Mar 5 2013, 10:09) *
Имеется плис MAX II EPM240T100.
Каким образом можно узнать, установлен ли бит защиты от считывания?

С помощью функции "examine" Quartus'а, удается получить .pof-файл, и сам Quartus ничего не говорит о существовании какой-либо защиты.
Возможно ли узнать, насколько этот .pof-файл соответствует содержимому плис (естественно, без учета заголовков самого Quartus)?

прошить этим файлом плис и сравнить функиональность
Stewart Little
У MAX II нет возможности считать состояние бита защиты.
Можно посмотреть содержимое считанного pof-файла - если там имеется излишняя "регулярность", то бит защиты, скорее всего, взведен.
Если нет, то можно действовать так, как предлагает коллега Костян (разумеется, заливать считанный pof нужно в чистую ПЛИС, иначе можно и без рабочего экземпляра остаться).
KyTyIIIa
Цитата(Костян @ Mar 5 2013, 15:25) *
прошить этим файлом плис и сравнить функиональность


Вариант, но сейчас других ПЛИС временно нет.

Возможно есть какой-то другой софт (не от ALTER'ы, а от "сторонних" производителей), которые четко скажут - есть защита или нет?
Собственно, большая функциональность от софта и не нужна.
jks
Цитата(KyTyIIIa @ Mar 5 2013, 15:54) *
Возможно есть какой-то другой софт (не от ALTER'ы, а от "сторонних" производителей), которые четко скажут - есть защита или нет?
Собственно, большая функциональность от софта и не нужна.


Есть такой софт. Называется WinHex. sm.gif

Искать опцию Type(5) в POF. Если младший бит установлен то значит секурити включен.
jks
А такая последовательность JTAG команд что показывает?

CODE


TRST ABSENT;
ENDDR IDLE;
ENDIR IRPAUSE;
STATE IDLE;
SIR 10 TDI (2CC); ! ISC_ENABLE
RUNTEST IDLE 18003 TCK ENDSTATE IDLE;
!
!
!
SIR 10 TDI (203); ! ISC_ADDRESS_SHIFT
RUNTEST 93 TCK;
SDR 14 TDI (0000); ! ADDR = 0000
SIR 10 TDI (205); ! ISC_READ
RUNTEST 93 TCK;
SDR 16 TDI (FFFF) TDO (6BFF) MASK (FBFF); ! 7BFF, 6BFF <===== ????
RUNTEST 53 TCK;
!
!
!
SIR 10 TDI (201); ! ISC_DISABLE
RUNTEST 18003 TCK;
SIR 10 TDI (3FF);
RUNTEST 18000 TCK;
STATE IDLE;

KyTyIIIa
Цитата(jks @ Mar 5 2013, 16:41) *
Есть такой софт. Называется WinHex. sm.gif

Искать опцию Type(5) в POF. Если младший бит установлен то значит секурити включен.


WinHex в наличии имеется, но вот с поиском "опции Type(5)" чувствую не справлюсь. Подскажите "на пальцах" как это делается.

PS: открыв .pof в WinHex, заметна излишняя "регулярность" содержимого (много 00 и FF подряд). По видимому бит защиты установлен. Осталось только подтвердить это проверкой вышеуказанной опции Type(5).
jks
Цитата(KyTyIIIa @ Mar 5 2013, 19:41) *
WinHex в наличии имеется, но вот с поиском "опции Type(5)" чувствую не справлюсь. Подскажите "на пальцах" как это делается.

PS: открыв .pof в WinHex, заметна излишняя "регулярность" содержимого (много 00 и FF подряд). По видимому бит защиты установлен. Осталось только подтвердить это проверкой вышеуказанной опции Type(5).


если бит защиты установлен, то прошивка читается как 0, а EEPROM как записано в ПЛД.

TYPE = 0x11 (17 dec) - CFM
TYPE = 0x18 (24 dec) - EEPROM

CODE

template "POF_Record"
description "POF Record"
requires 0 "50 4F 46 00"
fixed_start 12

multiple
begin
uint16 "Type"
move -2
hexadecimal uint16 "Type [Hex]"
uint32 "Size"
IfEqual Type 17
char[10] char
move (-10)
hex 10 "Data Bytes"
move -10
move size
Else
char[Size] char
move (-size)
hex size "Data Bytes"
EndIf
end
Stewart Little
Цитата(jks @ Mar 5 2013, 18:39) *
А такая последовательность JTAG команд что показывает?

Ну, это все-таки SVF, а не POF.
Не могли бы Вы объяснить процесс определения состояния бита защиты (по считанному POF'у) поподробнее, для особо догадливых? А то я ничего не понял laughing.gif
KyTyIIIa
Если я все правильно понял, то вот по этим данным можно судить, есть защита или нет:

Нажмите для просмотра прикрепленного файла

и, судя по "Data Bytes", никакой защиты нет (в данном случае), так?


Цитата(jks @ Mar 5 2013, 19:56) *
если бит защиты установлен, то прошивка читается как 0, а EEPROM как записано в ПЛД.

TYPE = 0x11 (17 dec) - CFM
TYPE = 0x18 (24 dec) - EEPROM


Получается, что бит защиты влияет только на возможность считывания CFM, а на UFM нет?
jks
Цитата(Stewart Little @ Mar 6 2013, 15:54) *
Ну, это все-таки SVF, а не POF.
Не могли бы Вы объяснить процесс определения состояния бита защиты (по считанному POF'у) поподробнее, для особо догадливых? А то я ничего не понял laughing.gif


Да особых знаний не надо.
В спецификации указано что после установки бита защиты внутренняя память конфигурации не читается (точнее читается как "0"),
а EEPROM память читается и на нее бит защиты не действует.

Это скан без бита защиты
Нажмите для просмотра прикрепленного файла

Это скан с битом защиты
Нажмите для просмотра прикрепленного файла

по смещению 0x8D начинается POF запись с типом 0x11(17) - блок конфигурации
далее 32 разряда длина блока 00001A0C
потом собственно конфигурационные данные 12 байт служебные, опции размер битстрима в битах (0x0000D000).
дальше конфигурация.

Запись с типом 0x18 (24 dec) - данные EEPROM.

Запись с типом 0x8 - контрольная сумма.


Цитата(KyTyIIIa @ Mar 6 2013, 18:28) *
Если я все правильно понял, то вот по этим данным можно судить, есть защита или нет:

и, судя по "Data Bytes", никакой защиты нет (в данном случае), так?


Запись с типом (5) влияет только при создании файла Quartus-ом. В ней указывается зашивать бит защиты или нет.
Защита прошивается после программирования битстрима, по нулевому адресу.

Цитата(KyTyIIIa @ Mar 6 2013, 18:28) *
Получается, что бит защиты влияет только на возможность считывания CFM, а на UFM нет?


Да
KyTyIIIa
А возможно ли раздобыть описание формата .pof ?
jks
Цитата(KyTyIIIa @ Mar 6 2013, 19:49) *
А возможно ли раздобыть описание формата .pof ?


http://www.alteraforum.com/forum/showthread.php?t=4947
Stewart Little
Цитата(jks @ Mar 6 2013, 19:35) *

Спасибо!!! a14.gif
Stewart Little
Цитата(jks @ Mar 6 2013, 18:50) *
Запись с типом (5) влияет только при создании файла Quartus-ом. В ней указывается зашивать бит защиты или нет.
Защита прошивается после программирования битстрима, по нулевому адресу.

Т.е. правильно ли я понимаю, что найдя эту запись в считанном из ПЛИС'ки по JTAG'у pof-файле, я все равно не смогу определить, залочена ли ПЛИС'ка или нет (и судить о возможной залоченности можно только по содержимому записи Type 0x11)?
Alex11
Если у Вас прочитаны все нули в записи типа 11, то она точно залочена, т.к. невозможно придумать хоть что-то разумно делающую прошивку с таким кодом. Стертая дает все ff.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.