реклама на сайте
подробности

 
 
> Чтение CRC внутри ПЛИС
Вовка_Бызов
сообщение Jan 15 2013, 13:34
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 182
Регистрация: 26-11-07
Из: Москва, Зеленоград
Пользователь №: 32 692



По требованию заказчика включили мы циклическую проверку целостности в нашем Cyclone III.
Но вопрос завис - заказчик хочет в качестве одного из регистров (ПЛИС подключена к процессору) иметь вот эту самую CRC, которую ему посчитал компилятор - в качестве контроля за версией. Вариант типа "а мы вам прошьем ту CRC, которую выдаст компилятор" ему не подходит.

В общем - не подскажет ли всемогущий Олл, как прочитать внутри проекта Cyclone III в реальном времени ее реальную CRC?

PS. В доках нашли возможность чтения оной через JTAG - это, увы, не подходит.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ermilovd
сообщение Feb 7 2013, 09:55
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 33
Регистрация: 22-01-09
Из: Пермь
Пользователь №: 43 767



Здравствуйте!
Возможно, я ошибаюсь, но. в описании (правда, на Cyclone4) написано о проверках на СRC текущего рабочего проекта!
Некоторое время назад была статья о том, что информация стиралась внутри ПЛИС под действием внешних факторов (солнечная радиация). А так как ПЛИС семейств CYCLONE загружаемая - на основе RAM. Появилась требования о проверке правильности проекта при его нормальной работе. При этом считывается "записанная" информация из ячеек ПЛИС и контролируется CRC записанная с той же ПЗУ, ранее при загрузке. При не совпадении (ветром надуло) выдается ошибка.
Если я не прав, поправьте меня! А вообще сейчас пытаюсь найти эту функцию для AHDL, пока глухо. Если есть опыт - поделитесь!
Go to the top of the page
 
+Quote Post
wpost
сообщение Feb 9 2013, 13:20
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354



я считал CRC при помощи программы для NIOS. как читать EPCS я рассказывал тут http://electronix.ru/forum/index.php?showt...93233&st=15
посчитать CRC далее не составляет труда. Есть маленькое НО... неизвесно место конца прошивки. я считал CRC всей EPCS. плюс я считал по собственному полиному.
Вывод: получить CRC не трудно, но сделать так чтобы она совпадала с той что выдает байтбластер немного сложнее. Мы вышли из ситуации записью в спецификацию двух CRC. Заказчика это устроило.
Еще одно маленькое но... EPCS не самая быстрая микросхема. следовательно предложенный мною метод расчета CRC требует некоторого времени. на С3 c EPCS64 это примерно 20-30 секунд.
Go to the top of the page
 
+Quote Post
jks
сообщение Feb 11 2013, 08:25
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 249
Регистрация: 3-04-11
Из: .
Пользователь №: 64 084



Цитата(wpost @ Feb 9 2013, 17:20) *
я считал CRC при помощи программы для NIOS. как читать EPCS я рассказывал тут http://electronix.ru/forum/index.php?showt...93233&st=15
посчитать CRC далее не составляет труда. Есть маленькое НО... неизвесно место конца прошивки. я считал CRC всей EPCS. плюс я считал по собственному полиному.
Вывод: получить CRC не трудно, но сделать так чтобы она совпадала с той что выдает байтбластер немного сложнее. Мы вышли из ситуации записью в спецификацию двух CRC. Заказчика это устроило.
Еще одно маленькое но... EPCS не самая быстрая микросхема. следовательно предложенный мною метод расчета CRC требует некоторого времени. на С3 c EPCS64 это примерно 20-30 секунд.


CRC которая считается внутри ПЛИС не учитывает конфигурационные биты I/O блоков и биты RAM блоков.
Поэтому даже зная полином получить, то же значение CRC не получится.
Для этого надо знать распределение конфигурационных битов по блокам.
Если CRC нужна для идентификации прошивки, то достаточно прочитать первый блок прошивки и получить CRC из него.
Go to the top of the page
 
+Quote Post
wpost
сообщение Feb 12 2013, 14:05
Сообщение #5


Участник
*

Группа: Свой
Сообщений: 60
Регистрация: 1-04-10
Из: СПб
Пользователь №: 56 354



Цитата(jks @ Feb 11 2013, 12:25) *
CRC которая считается внутри ПЛИС не учитывает конфигурационные биты I/O блоков и биты RAM блоков.
Поэтому даже зная полином получить, то же значение CRC не получится.
Для этого надо знать распределение конфигурационных битов по блокам.
Если CRC нужна для идентификации прошивки, то достаточно прочитать первый блок прошивки и получить CRC из него.


Я решал задачу проверки целостности содержимого EPCS.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Вовка_Бызов   Чтение CRC внутри ПЛИС   Jan 15 2013, 13:34
- - SM   Цитата(Вовка_Бызов @ Jan 15 2013, 17:34) ...   Jan 15 2013, 18:46
- - ASN   Вовка_Бызов Не совсем понятно. Поскольку Cyclone I...   Jan 15 2013, 19:04
|- - SM   Цитата(ASN @ Jan 15 2013, 23:04) то её кт...   Jan 15 2013, 19:24
- - vadimuzzz   а загрузка в каком режиме? если в пассивном (проц ...   Jan 16 2013, 06:54
- - Вовка_Бызов   Цитата(SM @ Jan 15 2013, 22:46) Что прихо...   Jan 16 2013, 07:03
|- - dxp   QUOTE (Вовка_Бызов @ Jan 16 2013, 14:03) ...   Jan 16 2013, 08:39
- - jks   может быть такая конструкция на Verilog поможет ....   Jan 16 2013, 10:05
|- - Вовка_Бызов   Цитата(jks @ Jan 16 2013, 14:05) может бы...   Jan 16 2013, 10:14
|- - Вовка_Бызов   Цитата(jks @ Jan 16 2013, 14:05) может бы...   Jan 17 2013, 06:35
|- - SM   Цитата(Вовка_Бызов @ Jan 17 2013, 10:35) ...   Jan 17 2013, 07:11
|- - Вовка_Бызов   Цитата(SM @ Jan 17 2013, 11:11) где ни сл...   Jan 17 2013, 07:54
|- - SM   Цитата(Вовка_Бызов @ Jan 17 2013, 11:54) ...   Jan 18 2013, 09:34
|- - Вовка_Бызов   Квартус ругается Error (14277): WYSIWYG CRC block...   Jan 21 2013, 12:20
|- - jks   Цитата(Вовка_Бызов @ Jan 21 2013, 16:20) ...   Jan 21 2013, 14:45
|- - Вовка_Бызов   Цитата(jks @ Jan 21 2013, 18:45) CRCERROR...   Jan 22 2013, 04:42
- - ReAl   Я эти слова прочёл как то, что в regout выдаётся о...   Jan 17 2013, 09:14
|- - Вовка_Бызов   Цитата(ReAl @ Jan 17 2013, 13:14) Я эти с...   Jan 17 2013, 10:20


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th August 2025 - 19:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01428 секунд с 7
ELECTRONIX ©2004-2016