|
Программирование MAX II, Раздельно CFM & UFM |
|
|
|
Aug 4 2009, 14:37
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Задача: Есть не меняемая конфигурация PLD MAX II и при этом в каждом изделии надо прошивать индивидуальные данные в User Flash Memory (UFM). Причем данные надо зашивать на этапе производства (тем же ByteBlaster), при эксплуатации доступа по записи быть не должно. В проекте UFM используется с параллельным доступом. По поиску не нашел ничего вразумительного. Вопросы: 1. Возможно ли? (по логике вроде да  ) и как? 2. Можно ли подготовить данные для UFM не используя Quartus?
|
|
|
|
|
 |
Ответов
|
Aug 4 2009, 17:11
|
Знающий
   
Группа: Свой
Сообщений: 654
Регистрация: 24-01-07
Из: Воронеж
Пользователь №: 24 737

|
Цитата(Sergey'F @ Aug 4 2009, 20:38)  Если разобраться, как они "сжимают" данные ( вот здесь, например, описание стандарта, на сайте Altera не нашел) и сделать генерацию ID, то можно запускать его хоть из программатора Quartus. Вот там и есть описание алгоритма сжатия. Но он вообще не нужен. Это всего-лишь инициализация массива. Значительно проще объявить массив как HEX.
|
|
|
|
|
Aug 7 2009, 12:35
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Шурила @ Aug 7 2009, 15:16)  Пока все одно мутно, буду разбираться. Мне представляется наиболее удобным следующий вариант. Вам нужно написать bat-файл, который будет запускать квартус как консольное приложение. В этом бате сперва нужно стартовать квартус c предварительно созданным tcl-скриптом (этот скрипт должен подключать к проекту новый hex-файл, в котором живет содержимое UFM очередного прибора) - что-то типа quartus_sh -t <имя_скриптового_файла>.tclПри этом выполнится перекомпиляция проекта с новым хексом. В результирующем pof'е содержимое CFM останется прежним, а содержимое UFM изменится. Затем в бат-файле надо стартовать квартусовский программер ( quartus_pgm.exe) с опциями прошивки CFM и UFM. Таким образом каждый раз будет получаться новый pof (с новым содержимым UFM), который и будет прошиваться в кристалл. И при этом не нужно будет мышковать по окнам квартуса
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 8 2009, 03:28
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(Stewart Little @ Aug 7 2009, 15:35)  Мне представляется ... перекомпиляция проекта с новым хексом. Вот как раз от этого и хотелось уйти - во первых, передача исходников на производство черевата неприятными проблемами (в плане неумышленного и\или умышленного изменения исходников) - во вторых, просто утечка информации (нет это конечно не что-то сверх естественно гениальное, но ...) Более детальный поиск в нете не дал ответов, но подобный вопрос периодически возникает: Update Altera MAXII UFM post productionProgramming UFM with serialized numberPost production UFM updateПока ориентируюсь на jam
|
|
|
|
|
Aug 10 2009, 13:06
|

Лентяй
     
Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843

|
Цитата(Шурила @ Aug 8 2009, 07:28)  Пока ориентируюсь на jam  Мне кажется, что Вы ищете решение проблемы не там. Проблема не в том, что нужно раздельно запрограммировать CFM и UFM (это-то делается штатными средствами), а в том, чтобы подготовить файлы отдельно для CFM и отдельно для UFM. Что должно жить в UFM? Серийный номер? Калибровочные коэффициенты? Или что-то еще, что может быть определено только в процессе производства? Если да, то можно поступить следующим образом. Передавайте на производство следующее : - pof-файл c Вашим проектом, - "служебный" проект, который состоит только из блока UFM, аналогичного тому, что находится в рабочем проекте (т.е. для того, чтобы сделать "служебный" проект нужно из рабочего проекта выкинуть все, кроме блока UFM). Кстати, здесь удобнее передавать не проект как таковой, а бат-файл с tcl-скриптом, коим скриптом этот проект формируется  . Процесс программирования проводится в два этапа : 1. В кристалл прошивается Ваш рабочий pof, с опцией "шить только CFM" 2. В консольном режиме запускается квартус, и компилирует "служебный" проект с новым hex-файлом (содержимым UFM) - получаете новый pof. 3. В кристалл прошиваете этот новый pof с опцией "шить только UFM". Несколько трансальпийский способ, но при этом у Вас и исходники не засвечиваются, и файлы CFM и UFM отдельно получаются.
--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
|
|
|
|
|
Aug 12 2009, 07:50
|

Частый гость
 
Группа: Свой
Сообщений: 81
Регистрация: 28-07-07
Из: Кишинев
Пользователь №: 29 434

|
Цитата(Stewart Little @ Aug 10 2009, 16:06)  ... Несколько трансальпийский способ, но при этом у Вас и исходники не засвечиваются, и файлы CFM и UFM отдельно получаются. Метание этих дней, пробы разных вариантов, склонили меня в пользу подхода Stewart Little. Сейчас в связи с отпусками участниками команды, комплексно проверить не могу. Но как только, дам знать. Цитата(Shtirlits @ Aug 12 2009, 10:07)  ... Я не удосужился еще посмотреть в документации, как там у MAX-а JTAG убивается, но чтобы потом нельзя было сменить содержимое USER FLASH, вы что собираетесь делать? ... 2) нагенерить сколько нужно файлов для производства. Нет, JTAG убивать - не стоит задача (у MAX-а JTAG выделенные пины и не меняют своего назначения как в 3000). - 2) где-то так. Вот только pof или hex будем определятся.
|
|
|
|
Сообщений в этой теме
Шурила Программирование MAX II Aug 4 2009, 14:37 Sergey'F Ясного и простого решения менять значения в .pof д... Aug 4 2009, 16:38 SM Попробуйте сделать проще. Собрать проект с зашиван... Aug 10 2009, 13:49 Stewart Little Цитата(SM @ Aug 10 2009, 17:49) Скорее вс... Aug 10 2009, 14:58  SM Цитата(Stewart Little @ Aug 10 2009, 18:5... Aug 11 2009, 07:49   Stewart Little Цитата(SM @ Aug 11 2009, 11:49) Дай мне т... Aug 11 2009, 08:02    SM Цитата(Stewart Little @ Aug 11 2009, 12:0... Aug 11 2009, 10:01     Stewart Little Цитата(SM @ Aug 11 2009, 14:01) Ну и врод... Aug 11 2009, 10:20 murmel1 Недавно решал обратную задачу - извлекал из pof да... Aug 11 2009, 18:23 Shtirlits Добрый вечер.
Скажите, почему нельзя использовать... Aug 11 2009, 18:35 SM Цитата(Shtirlits @ Aug 11 2009, 22:35) Ск... Aug 11 2009, 18:39 Shtirlits Нда. Закрыл ISE, добыл из заначки quartus, покрути... Aug 11 2009, 19:34 Sergey'F Цитата(Shtirlits @ Aug 11 2009, 23:34) Нд... Aug 11 2009, 19:55  Shtirlits Цитата(Sergey'F @ Aug 11 2009, 23:55)... Aug 12 2009, 07:07  SM Цитата(Sergey'F @ Aug 11 2009, 23:55)... Aug 12 2009, 07:35 SM Кстати - ieee-1532 bsdl-ки по max-ii там - ftp://f... Aug 12 2009, 08:11 Шурила Цитата(SM @ Aug 12 2009, 11:11) Правда пр... Aug 12 2009, 08:44  SM Цитата(Шурила @ Aug 12 2009, 12:44) А для... Aug 12 2009, 08:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|