Перейти к содержанию
    

Установлен ли "Security bit" ?

Имеется плис MAX II EPM240T100.

Каким образом можно узнать, установлен ли бит защиты от считывания?

 

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

Возможно ли узнать, насколько этот .pof-файл соответствует содержимому плис (естественно, без учета заголовков самого Quartus)?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имеется плис MAX II EPM240T100.

Каким образом можно узнать, установлен ли бит защиты от считывания?

 

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

Возможно ли узнать, насколько этот .pof-файл соответствует содержимому плис (естественно, без учета заголовков самого Quartus)?

прошить этим файлом плис и сравнить функиональность

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У MAX II нет возможности считать состояние бита защиты.

Можно посмотреть содержимое считанного pof-файла - если там имеется излишняя "регулярность", то бит защиты, скорее всего, взведен.

Если нет, то можно действовать так, как предлагает коллега Костян (разумеется, заливать считанный pof нужно в чистую ПЛИС, иначе можно и без рабочего экземпляра остаться).

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

прошить этим файлом плис и сравнить функиональность

 

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

 

Возможно есть какой-то другой софт (не от ALTER'ы, а от "сторонних" производителей), которые четко скажут - есть защита или нет?

Собственно, большая функциональность от софта и не нужна.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно есть какой-то другой софт (не от ALTER'ы, а от "сторонних" производителей), которые четко скажут - есть защита или нет?

Собственно, большая функциональность от софта и не нужна.

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А такая последовательность JTAG команд что показывает?

 


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;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

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

 

TYPE = 0x11 (17 dec) - CFM

TYPE = 0x18 (24 dec) - EEPROM

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А такая последовательность JTAG команд что показывает?

Ну, это все-таки SVF, а не POF.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если я все правильно понял, то вот по этим данным можно судить, есть защита или нет:

 

post-75900-1362578446_thumb.png

 

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

 

 

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

 

TYPE = 0x11 (17 dec) - CFM

TYPE = 0x18 (24 dec) - EEPROM

 

Получается, что бит защиты влияет только на возможность считывания CFM, а на UFM нет?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, это все-таки SVF, а не POF.

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

 

Да особых знаний не надо.

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

а EEPROM память читается и на нее бит защиты не действует.

 

Это скан без бита защиты

post-64084-1362579938_thumb.png

 

Это скан с битом защиты

post-64084-1362579943_thumb.png

 

по смещению 0x8D начинается POF запись с типом 0x11(17) - блок конфигурации

далее 32 разряда длина блока 00001A0C

потом собственно конфигурационные данные 12 байт служебные, опции размер битстрима в битах (0x0000D000).

дальше конфигурация.

 

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

 

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

 

 

Если я все правильно понял, то вот по этим данным можно судить, есть защита или нет:

 

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

 

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

Защита прошивается после программирования битстрима, по нулевому адресу.

 

Получается, что бит защиты влияет только на возможность считывания CFM, а на UFM нет?

 

Да

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Защита прошивается после программирования битстрима, по нулевому адресу.

Т.е. правильно ли я понимаю, что найдя эту запись в считанном из ПЛИС'ки по JTAG'у pof-файле, я все равно не смогу определить, залочена ли ПЛИС'ка или нет (и судить о возможной залоченности можно только по содержимому записи Type 0x11)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...