Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Присвоение ID ПЛИС'е
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
Страницы: 1, 2
disel
Цитата(XVR @ Sep 24 2010, 13:10) *
Как вариант весь синтез можно запускать с командной строки (из скрипта). ISE GUI вообще не открывать. Утилита xflow.
Как врезать запуск скрипта внутрь ISE не исследовал, (но TCL там есть, так что может быть и можно)


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

Вот еще несколько расковырянных форматов
vitan
По повдоу основного вопроса топика можно сказать, что в действительности возникает задача назначения ID не ПЛИС-е, а устройству. В общем случае в устройстве может и не быть ПЛИС. Поэтому в свое время мы разработали некую стандартную карту памяти для всех наших изделий, и заполняем ее нужными числами. А потом засовываем в какую-нибудь память из имеющихся на борту. Иногда это EPROM с интерфейсом IIC, иногда защищенный сектор во Flash, ну и т.п. Расоположение и доступ со стороны программы описывается в документации.
А прошивку ПЛИС, имхо, нужно стремиться сохранять постоянной, а не компилировать ее при каждом изменении циферки в серийном номере. Кто его знает, как там карты лягут...
XVR
Цитата
А прошивку ПЛИС, имхо, нужно стремиться сохранять постоянной, а не компилировать ее при каждом изменении циферки в серийном номере.
Угу, но изменение USERCODE не требует перекомпиляции прошивки - только запуск bitgen (генерация битстрима из уже разведенного дизайна)
Reanimator++
Мне честно говоря не нравится идея вставки номера в битстрим конфигурации.

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

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

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

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

Тогда ее можно просто выложить на сайт и пользователи обновятся, а не генерить по битстриму на каждый девайс.
zombi
Цитата(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?
spectr
Цитата(zombi @ Sep 29 2010, 01:32) *
Кстати а может ли сама плисина прочитать свой USERCODE?


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

Понятно.
В таком случае нафига он (USERCODE) нужен вообще?
Для чего альтера его сделала и для чего он может пригодиться?
Aprox
Позвольте напомню, как этот вопрос решался на древних платах с шиной ISA- DIP переключателями любой разрядности. Лучше для практики дела все равно ничего не придумаете.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.