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

 
 
5 страниц V  « < 2 3 4 5 >  
Reply to this topicStart new topic
> Присвоение ID ПЛИС'е, Как бы проще сделать?
disel
сообщение Sep 24 2010, 02:29
Сообщение #46


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(XVR @ Sep 23 2010, 10:39) *
Как видим ID лежит 2 частями по адресам 32E39 (3 байта) и 32FBD (3 байта) Возможно еще были переставленны биты. CRC лежит с 452BA (2 байта)
Увы, для другой прошивки адреса могут уехать

Спасибо. Интересно, положение в битстриме для одного типа микросхем постоянно или нет? Сегодня поэкспериментирую.

Цитата(XVR @ Sep 23 2010, 10:39) *
Сделайте у прошивки свой заголовок (с ID), при заливке проверяйте его и выбрасывайте (во FLASH его писать не надо)
Да даже можно и записать, FPGA его проигнорирует (главное, что бы в нем не нашлось синхронизирующее слово rolleyes.gif )

Такая мысль была сразу, но это надо не забыть запустить скрипт, которые припишет заголовок. А это человеческий фактор, могу ведь и забыть при очередной генерации прошивки. А с USERID все автоматически.
Go to the top of the page
 
+Quote Post
des00
сообщение Sep 24 2010, 02:40
Сообщение #47


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(disel @ Sep 23 2010, 20:29) *
Такая мысль была сразу, но это надо не забыть запустить скрипт, которые припишет заголовок. А это человеческий фактор, могу ведь и забыть при очередной генерации прошивки. А с USERID все автоматически.

а
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:assign_id.tcl" не катит?
или
set_global_assignment -name POST_FLOW_SCRIPT_FILE "quartus_sh:assign_id.tcl" не катит?


--------------------
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 24 2010, 04:54
Сообщение #48


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(disel @ Sep 24 2010, 06:29) *
Спасибо. Интересно, положение в битстриме для одного типа микросхем постоянно или нет? Сегодня поэкспериментирую.
Декодировал битстрим. ID лежит внутри фрейма (ISE сгенерил один большой фрейм). Уверен, что положение внутри одного отдельного фрейма (а не внутри той пачки, которая записана в битстриме) будет постоянна (и адрес фрейма будет фиксирован). Но вот положение внутри самого образа битстрима точно будет плавать
Цитата
Такая мысль была сразу, но это надо не забыть запустить скрипт, которые припишет заголовок. А это человеческий фактор, могу ведь и забыть при очередной генерации прошивки. А с USERID все автоматически.
Скрипт тоже можно запускать автоматически

Go to the top of the page
 
+Quote Post
disel
сообщение Sep 24 2010, 05:08
Сообщение #49


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(des00 @ Sep 24 2010, 06:40) *
а
set_global_assignment -name PRE_FLOW_SCRIPT_FILE "quartus_sh:assign_id.tcl" не катит?
или
set_global_assignment -name POST_FLOW_SCRIPT_FILE "quartus_sh:assign_id.tcl" не катит?


Так то квартус, я про ксалникс. Как автоматически запустить скрипт для ISE я не смог разобраться.

Цитата(XVR @ Sep 24 2010, 08:54) *
Декодировал битстрим. ID лежит внутри фрейма (ISE сгенерил один большой фрейм). Уверен, что положение внутри одного отдельного фрейма (а не внутри той пачки, которая записана в битстриме) будет постоянна (и адрес фрейма будет фиксирован). Но вот положение внутри самого образа битстрима точно будет плавать

Жалко что положение не постоянно.

Цитата(XVR @ Sep 24 2010, 08:54) *
Скрипт тоже можно запускать автоматически

А как?
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 24 2010, 09:10
Сообщение #50


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
Скрипт тоже можно запускать автоматически
А как?
Как вариант весь синтез можно запускать с командной строки (из скрипта). ISE GUI вообще не открывать. Утилита xflow.
Как врезать запуск скрипта внутрь ISE не исследовал, (но TCL там есть, так что может быть и можно)

Go to the top of the page
 
+Quote Post
disel
сообщение Sep 24 2010, 13:00
Сообщение #51


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(XVR @ Sep 24 2010, 13:10) *
Как вариант весь синтез можно запускать с командной строки (из скрипта). ISE GUI вообще не открывать. Утилита xflow.
Как врезать запуск скрипта внутрь ISE не исследовал, (но TCL там есть, так что может быть и можно)


Ну да, если из командной строки скриптом, то понятно. Но как то привык к гуям, не могу себя полностью отучить пока. А стандартных способов запустить скрипт внутри ISE не удалось найти. На форуме эта тема уже поднималась, но решения так и не было найдено.
Go to the top of the page
 
+Quote Post
spectr
сообщение Sep 24 2010, 13:43
Сообщение #52


Местный
***

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



Народ, смотрите что нашел - описание POF-формата (народ с альтерафорумс расковырял).
Также есть оч интересный сайт, на котором есть софтина PLDTool. Но они ее не дают скачать )))))

Вот еще несколько расковырянных форматов

Сообщение отредактировал spectr - Sep 24 2010, 13:48
Прикрепленные файлы
Прикрепленный файл  fmt_pof.pdf ( 37.2 килобайт ) Кол-во скачиваний: 137
 
Go to the top of the page
 
+Quote Post
vitan
сообщение Sep 24 2010, 18:41
Сообщение #53


не указал(а) ничего о себе.
******

Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887



По повдоу основного вопроса топика можно сказать, что в действительности возникает задача назначения ID не ПЛИС-е, а устройству. В общем случае в устройстве может и не быть ПЛИС. Поэтому в свое время мы разработали некую стандартную карту памяти для всех наших изделий, и заполняем ее нужными числами. А потом засовываем в какую-нибудь память из имеющихся на борту. Иногда это EPROM с интерфейсом IIC, иногда защищенный сектор во Flash, ну и т.п. Расоположение и доступ со стороны программы описывается в документации.
А прошивку ПЛИС, имхо, нужно стремиться сохранять постоянной, а не компилировать ее при каждом изменении циферки в серийном номере. Кто его знает, как там карты лягут...
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 25 2010, 05:03
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата
А прошивку ПЛИС, имхо, нужно стремиться сохранять постоянной, а не компилировать ее при каждом изменении циферки в серийном номере.
Угу, но изменение USERCODE не требует перекомпиляции прошивки - только запуск bitgen (генерация битстрима из уже разведенного дизайна)
Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Sep 26 2010, 09:49
Сообщение #55


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



Мне честно говоря не нравится идея вставки номера в битстрим конфигурации.

Собственно тут вариантов немного -
1) Серийник девайса взаимодействует с внешним миром посредством коммуникаций.
2) Серийник не используется в работе девайса и нужен для порядку.

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

В первом случае загрузка серийника должна осуществляться по тому же самому интерфейсу служебной командой и не воздействовать на битстрим. Если вам прошивку надо будет обновить (особенно удаленно) вы что будете опять все битстримы генерить?..
Go to the top of the page
 
+Quote Post
XVR
сообщение Sep 27 2010, 08:38
Сообщение #56


Гуру
******

Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847



Цитата(Reanimator++ @ Sep 26 2010, 13:49) *
Если вам прошивку надо будет обновить (особенно удаленно) вы что будете опять все битстримы генерить?..
Собственно у ТС именно такая задача и стоит. Ему надо, что бы девайс при заливке в него прошивки мог проверить, что эта прошивка именно для него.

Go to the top of the page
 
+Quote Post
Reanimator++
сообщение Sep 27 2010, 13:12
Сообщение #57


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 1-01-06
Из: Волгоград
Пользователь №: 12 763



Я бы тогда разделил прошивку заводскую (через JTAG) и удаленное обновление (через коммуникации).
Файл прошивки для удаленного обновления собирал бы из битстрима + информационный блок, содержащий данные о устройствах назначения.

Тогда ее можно просто выложить на сайт и пользователи обновятся, а не генерить по битстриму на каждый девайс.
Go to the top of the page
 
+Quote Post
zombi
сообщение Sep 28 2010, 21:32
Сообщение #58


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(spectr @ Sep 24 2010, 16:43) *
Народ, смотрите что нашел - описание POF-формата (народ с альтерафорумс расковырял).
Также есть оч интересный сайт, на котором есть софтина PLDTool. Но они ее не дают скачать )))))

Вот еще несколько расковырянных форматов

Оч. кстати! Спасибо spectr!
Действительно все сходится, но не нашел в описании tag=11 хотя в моем *.POf он есть и он самый длинный, кажется это и есть битстрим.
И еще нашел интересность : ...CRC...If this CRC value is zero, the CRC check should be ignored.
Я так понимаю что если обнулить СRC (лень считать) то с файлом можно делать что угодно, главное tags не нарушать. yeah.gif

P.S. Ой сори, это я затормозил, 11H т.е. tag=17. Все на месте! laughing.gif

Кстати а может ли сама плисина прочитать свой USERCODE?
Go to the top of the page
 
+Quote Post
spectr
сообщение Sep 30 2010, 17:19
Сообщение #59


Местный
***

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



Цитата(zombi @ Sep 29 2010, 01:32) *
Кстати а может ли сама плисина прочитать свой USERCODE?


Насколько мне известно - нет, не может. USERCODE вроде как лежит в JTAG'е, а он из проекта недоступен...
Go to the top of the page
 
+Quote Post
zombi
сообщение Oct 1 2010, 12:12
Сообщение #60


Гуру
******

Группа: Свой
Сообщений: 2 076
Регистрация: 10-09-08
Пользователь №: 40 106



Цитата(spectr @ Sep 30 2010, 20:19) *
Насколько мне известно - нет, не может. USERCODE вроде как лежит в JTAG'е, а он из проекта недоступен...

Понятно.
В таком случае нафига он (USERCODE) нужен вообще?
Для чего альтера его сделала и для чего он может пригодиться?
Go to the top of the page
 
+Quote Post

5 страниц V  « < 2 3 4 5 >
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


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


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