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

 
 
 
Reply to this topicStart new topic
> Как программировать CPLD
AntiDriver
сообщение Mar 5 2014, 09:48
Сообщение #1


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

Группа: Участник
Сообщений: 106
Регистрация: 1-05-13
Пользователь №: 76 699



Доброе время суток.
С ПЛИС ранее не работал (если не считать несколько лабораторных работ в институте), однако сейчас возникла необходимость.
Для реализации решил выбрать микросхемы Xilinx CPLD CoolRunner-II. Однако совершенно не имею представления о том, как ими пользоваться.

Не имею ни малейшего представления о том как это дело программируется. Так понимаю, нужен программатор, какой именно можете посоветовать?
Насколько мне известно, в CPLD прошивку можно записать как в оперативную память, так и внутреннюю энергонезависимую. Для отладки планирую использовать Xilinx ISE. Можно ли там как-то выбрать куда именно записать прошивку, в какую память? И какой тип энергонезависимой памяти находится внутри микросхемы? Однократно перезаписываемая или многократно?

Если внутри память однократно перезаписываемая, то каким образом можно подключить внешнюю flash память, каким образом включить информацию о внешней флешке в прошивку или как это делается?

Буду очень признателен, если поможете мне разобраться с данными вопросами
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 5 2014, 10:05
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



продаются программаторы
xilinx usb download cable

доступна схема
xilinx lpt cable

(это типа строчки для гугля)

кабель подключается к CPLD по JTAG (4 провода) и с помощью специального софта impact (бесплатен в web пакете ксайлинса) прошивается внутренняя память

---------------

если это все геморно - посмотрите на MACHXO2 от латтиса - там можно микроконтроллером по SPI или I2C прошить
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 5 2014, 10:57
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



А еще можно прошить вообще любым JTAG-ом, если он (софт, идущий с ним) поддерживает SVF формат, то есть, имеет SVF-плеер, только шить надо будет не из среды, а этим плеером.

2 yes
А у латиса сейчас в даймонде официально поддержана прошивка через FT2232H - очень удобно, и скорость не отличается от родного JTAG.
вот по такой схемке (переключатель на выходе не нужен) http://www.latticesemi.com/~/media/Documen...ircuitGuide.PDF

а аналоги кулранеров вроде не machXO2, а ispMACH 4000ZE, или нет?
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 5 2014, 18:01
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(SM @ Mar 5 2014, 14:57) *
А еще можно прошить вообще любым JTAG-ом, если он (софт, идущий с ним) поддерживает SVF формат, то есть, имеет SVF-плеер, только шить надо будет не из среды, а этим плеером.

2 yes
А у латиса сейчас в даймонде официально поддержана прошивка через FT2232H - очень удобно, и скорость не отличается от родного JTAG.
вот по такой схемке (переключатель на выходе не нужен) http://www.latticesemi.com/~/media/Documen...ircuitGuide.PDF

а аналоги кулранеров вроде не machXO2, а ispMACH 4000ZE, или нет?


MachXO2 по дефолту прошивается по I2C, SPI - поэтому предложил
но JTAG конечно нужен, так как 100% после первой прошивки эти интерфейсы отвалятся, так как в даймонде они выключены и их нужно включить специально, то есть совет, наверно вредный

ну и если автор хочет начать с ПЛИС , то MachXO2 все-таки поинтересней для обучения, имхо

мне кстати даймонд сильно не нравится по сравнению с левером, особенно деплоймент тул и программатор - просто бесят. на 64х битной винде програматор так и не смог запустить. пользуюсь ispvm 18, и для манипуляций с jed-ами тоже


Цитата(AntiDriver @ Mar 5 2014, 13:48) *
Насколько мне известно, в CPLD прошивку можно записать как в оперативную память, так и внутреннюю энергонезависимую. Для отладки планирую использовать Xilinx ISE. Можно ли там как-то выбрать куда именно записать прошивку, в какую память? И какой тип энергонезависимой памяти находится внутри микросхемы? Однократно перезаписываемая или многократно?


внутри кулранера флаш, озу нету,
то есть энергонезависимая и многократно перезаписываемая, сразу готов работать

в MachXO2 и ОЗУ и FLASH, при включении автоматом копируется из флаш в озу

ну и другие варианты бывают
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 5 2014, 18:03
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Это да, про деплоймент тул. Я аж в техподдержку писал, чтобы узнать, как в этом деплоймент туле сгенерировать SVF файл для прошивки ключа AES... В такую ж. запихали, что без их подсказки не нашел. После ispvm (UFW) действительно неприятно. Но оказалось, просто привыкнуть надо. Программер... Да вроде что там кнопку нажать, что тут...

А вот сам даймонд мне поприятнее левера, особенно группировкой варнингов и ерроров.
Go to the top of the page
 
+Quote Post
AntiDriver
сообщение Mar 5 2014, 19:53
Сообщение #6


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

Группа: Участник
Сообщений: 106
Регистрация: 1-05-13
Пользователь №: 76 699



Латтис, если честно, пугает.
Возможно, что действительно интересне плисины и имел бы смысл ими заняться, был бы тот. кто показал и рассказал хотя бы первые шаги. А то даже документации на ICECUBE не нашёл на русском. Может плохо искал...
А с xilinx какое-никакое знакомство есть и даже есть те люди, которые хоть как-то в них соображает (хотя обычно на уровне программирования на developer kit, когда всё готово).
И с xilinx ise боле менее знаком и есть документация на актуальные версии. Впринципе, именно из-за этого выбрал данную серию.
Всем спасибо за ответы.
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 6 2014, 14:26
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



Цитата(SM @ Mar 5 2014, 22:03) *
Это да, про деплоймент тул. Я аж в техподдержку писал, чтобы узнать, как в этом деплоймент туле сгенерировать SVF файл для прошивки ключа AES... В такую ж. запихали, что без их подсказки не нашел. После ispvm (UFW) действительно неприятно. Но оказалось, просто привыкнуть надо. Программер... Да вроде что там кнопку нажать, что тут...

А вот сам даймонд мне поприятнее левера, особенно группировкой варнингов и ерроров.


на всякий случай: ISPembedded от даймонда не умеет [у меня] прошивать им же сгенеренные криптованые прошивки. там они зачем-то формат сменили и т.п. то есть впридачу и совместимости нет с прошлыми sea/sed. но если прошивать некриптованую и генерить/прошивать криптованый jed получилось, то через ISPembedded прошить криптованую ну вообще никак

а с драйверами - там какие-то иные драйвера на кабель с EZUSB нужны - не получилось под 64х битную винду - не видит, пришлось виртуальную 32х битную поставить, а в нее уже даймонд программер

вобщем времени это у меня заняло дофига, а потом все-равно на ispvm пришлось вернуться (кстати для любознательных - ссылку для скачивания ispvm с латтиса найти не просто - можно в олимпиады яндекса по интернет поиску такое задание дать sm.gif )

Цитата(AntiDriver @ Mar 5 2014, 23:53) *
Латтис, если честно, пугает.
Возможно, что действительно интересне плисины и имел бы смысл ими заняться, был бы тот. кто показал и рассказал хотя бы первые шаги. А то даже документации на ICECUBE не нашёл на русском. Может плохо искал...
А с xilinx какое-никакое знакомство есть и даже есть те люди, которые хоть как-то в них соображает (хотя обычно на уровне программирования на developer kit, когда всё готово).
И с xilinx ise боле менее знаком и есть документация на актуальные версии. Впринципе, именно из-за этого выбрал данную серию.
Всем спасибо за ответы.


ICECUBE это они купили фирму и некое хитрое семейство ПЛИС, с ОТР памятью и т.п. я их еще не пробовал, и там есть несколько неприятных моментов, не буду [еще больше] оффтопить. ну вобщем ICE40 я бы не рекомендовал для "начала"

а кулранерыII по-моему уже лет 10, а то и больше, ксайлинсом выпускаются без изменений, можно сказать, что достигли совершенства sm.gif, но я скорее думаю, что ксайлинсу этот рынок не интересен и они забили на него. ну то есть морально устаревшая серия, у которой вряд ли будет продолжение.


Go to the top of the page
 
+Quote Post
SM
сообщение Mar 6 2014, 15:30
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Цитата(yes @ Mar 6 2014, 18:26) *
на всякий случай: ISPembedded от даймонда не умеет [у меня] прошивать им же сгенеренные криптованые прошивки. там они зачем-то формат сменили и т.п. то есть впридачу и совместимости нет с прошлыми sea/sed. но если прошивать некриптованую и генерить/прошивать криптованый jed получилось, то через ISPembedded прошить криптованую ну вообще никак


Сорри, оффтопик таки... но.

А что такое sea/sed? Я и в ispvm генерировал из некриптованного jed криптованный jed, и шил, и в даймонде тоже (я не знаю, что такое ISPembedded, я пользуюсь Diamond Programmer, он все шьет). Более того, для прошивки "сторонними силами" (из МК, или не-латис-эмуляторами), при помощи генерации SVF-файлов, как и старым UFW, так и новым Deployment Tool, удается сделать SVF-ы, прошивающие и ключи, и конфигурации. В общем, совершенно не понимаю проблемы.

Что касается драйвера... У меня нет 64-битных систем виндовс... ISPVM живет и дружит на одном и том же драйвере с Diamond Programmer, не мешая друг другу (я таки держу на всякий случай старый ispVM)
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 6 2014, 16:32
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



а SVF криптованый получается, то есть именно AES? для латтиса не пробовал генерить, но у актела такой подход без вариантов - генерить SVF-ы для каждой операции - то есть метод понимаю

sea/sed для прошивки по SPI, исходный код для разбора этих sea/sed дается латтисом и называется ISPembedded или как-то так

преимущество перед JTAG, что в рабочем режиме этот же SPI используется для обмена с ПЛИС, то есть начинали с очень плотной платы и тащить JTAG к процессору не стали, ну и SPI сильно быстрее, чем JTAG реализованый на GPIO (по SPI ключ принципиально прошить нельзя)

для MACHXO2 генерятся еще и iea/ied для I2C - но пока не пользуем (но на плате разведено и в даймонде порт разрешаю), но пока не дошли руки
Go to the top of the page
 
+Quote Post
SM
сообщение Mar 6 2014, 16:48
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881



Да, SVF получается для любой операции, которую умеет делать Programmer, для абсолютно любой, без исключений, выбор всех выпадающих меню одинаковый. И для прошивки отдельно ключа, и для прошивки криптованной конфигурации, и для MyASSP, в общем, для всего, что умеет делать Programmer, можно сделать SVF, и прошить сторонним JTAGом.

SVF плеер у меня есть своей реализации, вот его везде и применяю, где только нужна прошивка чем-то не родным. Только надо не забыть, что у Lattice SVF расширенный, добавлены команды LOOP/ENDLOOP, то есть не каждый SVF плеер съест их (хотя вроде есть опция генерации стандартного, но мне не надо, sau510 понимает lattice, и мой тоже понимает).
Go to the top of the page
 
+Quote Post

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

 


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


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