|
|
  |
Присвоение ID ПЛИС'е, Как бы проще сделать? |
|
|
|
Sep 24 2010, 02:29
|
Знающий
   
Группа: Свой
Сообщений: 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 его проигнорирует (главное, что бы в нем не нашлось синхронизирующее слово  ) Такая мысль была сразу, но это надо не забыть запустить скрипт, которые припишет заголовок. А это человеческий фактор, могу ведь и забыть при очередной генерации прошивки. А с USERID все автоматически.
|
|
|
|
|
Sep 24 2010, 02:40
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 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" не катит?
--------------------
|
|
|
|
|
Sep 24 2010, 04:54
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата(disel @ Sep 24 2010, 06:29)  Спасибо. Интересно, положение в битстриме для одного типа микросхем постоянно или нет? Сегодня поэкспериментирую. Декодировал битстрим. ID лежит внутри фрейма (ISE сгенерил один большой фрейм). Уверен, что положение внутри одного отдельного фрейма (а не внутри той пачки, которая записана в битстриме) будет постоянна (и адрес фрейма будет фиксирован). Но вот положение внутри самого образа битстрима точно будет плавать Цитата Такая мысль была сразу, но это надо не забыть запустить скрипт, которые припишет заголовок. А это человеческий фактор, могу ведь и забыть при очередной генерации прошивки. А с USERID все автоматически. Скрипт тоже можно запускать автоматически
|
|
|
|
|
Sep 24 2010, 05:08
|
Знающий
   
Группа: Свой
Сообщений: 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)  Скрипт тоже можно запускать автоматически А как?
|
|
|
|
|
Sep 24 2010, 13:43
|

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

|
Народ, смотрите что нашел - описание POF-формата (народ с альтерафорумс расковырял). Также есть оч интересный сайт, на котором есть софтина PLDTool. Но они ее не дают скачать ))))) Вот еще несколько расковырянных форматов
Сообщение отредактировал spectr - Sep 24 2010, 13:48
|
|
|
|
|
Sep 24 2010, 18:41
|
не указал(а) ничего о себе.
     
Группа: Свой
Сообщений: 3 325
Регистрация: 6-04-06
Пользователь №: 15 887

|
По повдоу основного вопроса топика можно сказать, что в действительности возникает задача назначения ID не ПЛИС-е, а устройству. В общем случае в устройстве может и не быть ПЛИС. Поэтому в свое время мы разработали некую стандартную карту памяти для всех наших изделий, и заполняем ее нужными числами. А потом засовываем в какую-нибудь память из имеющихся на борту. Иногда это EPROM с интерфейсом IIC, иногда защищенный сектор во Flash, ну и т.п. Расоположение и доступ со стороны программы описывается в документации. А прошивку ПЛИС, имхо, нужно стремиться сохранять постоянной, а не компилировать ее при каждом изменении циферки в серийном номере. Кто его знает, как там карты лягут...
|
|
|
|
|
Sep 28 2010, 21:32
|

Гуру
     
Группа: Свой
Сообщений: 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 не нарушать.  P.S. Ой сори, это я затормозил, 11H т.е. tag=17. Все на месте!  Кстати а может ли сама плисина прочитать свой USERCODE?
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|