|
|
  |
Как программировать CPLD |
|
|
|
Mar 5 2014, 09:48
|
Частый гость
 
Группа: Участник
Сообщений: 106
Регистрация: 1-05-13
Пользователь №: 76 699

|
Доброе время суток. С ПЛИС ранее не работал (если не считать несколько лабораторных работ в институте), однако сейчас возникла необходимость. Для реализации решил выбрать микросхемы Xilinx CPLD CoolRunner-II. Однако совершенно не имею представления о том, как ими пользоваться.
Не имею ни малейшего представления о том как это дело программируется. Так понимаю, нужен программатор, какой именно можете посоветовать? Насколько мне известно, в CPLD прошивку можно записать как в оперативную память, так и внутреннюю энергонезависимую. Для отладки планирую использовать Xilinx ISE. Можно ли там как-то выбрать куда именно записать прошивку, в какую память? И какой тип энергонезависимой памяти находится внутри микросхемы? Однократно перезаписываемая или многократно?
Если внутри память однократно перезаписываемая, то каким образом можно подключить внешнюю flash память, каким образом включить информацию о внешней флешке в прошивку или как это делается?
Буду очень признателен, если поможете мне разобраться с данными вопросами
|
|
|
|
|
Mar 5 2014, 10:57
|
Гуру
     
Группа: Свой
Сообщений: 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, или нет?
|
|
|
|
|
Mar 5 2014, 18:01
|
Гуру
     
Группа: Свой
Сообщений: 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, при включении автоматом копируется из флаш в озу ну и другие варианты бывают
|
|
|
|
|
Mar 6 2014, 14:26
|
Гуру
     
Группа: Свой
Сообщений: 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 с латтиса найти не просто - можно в олимпиады яндекса по интернет поиску такое задание дать  ) Цитата(AntiDriver @ Mar 5 2014, 23:53)  Латтис, если честно, пугает. Возможно, что действительно интересне плисины и имел бы смысл ими заняться, был бы тот. кто показал и рассказал хотя бы первые шаги. А то даже документации на ICECUBE не нашёл на русском. Может плохо искал... А с xilinx какое-никакое знакомство есть и даже есть те люди, которые хоть как-то в них соображает (хотя обычно на уровне программирования на developer kit, когда всё готово). И с xilinx ise боле менее знаком и есть документация на актуальные версии. Впринципе, именно из-за этого выбрал данную серию. Всем спасибо за ответы. ICECUBE это они купили фирму и некое хитрое семейство ПЛИС, с ОТР памятью и т.п. я их еще не пробовал, и там есть несколько неприятных моментов, не буду [еще больше] оффтопить. ну вобщем ICE40 я бы не рекомендовал для "начала" а кулранерыII по-моему уже лет 10, а то и больше, ксайлинсом выпускаются без изменений, можно сказать, что достигли совершенства  , но я скорее думаю, что ксайлинсу этот рынок не интересен и они забили на него. ну то есть морально устаревшая серия, у которой вряд ли будет продолжение.
|
|
|
|
|
Mar 6 2014, 15:30
|
Гуру
     
Группа: Свой
Сообщений: 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)
|
|
|
|
|
Mar 6 2014, 16:48
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
Да, SVF получается для любой операции, которую умеет делать Programmer, для абсолютно любой, без исключений, выбор всех выпадающих меню одинаковый. И для прошивки отдельно ключа, и для прошивки криптованной конфигурации, и для MyASSP, в общем, для всего, что умеет делать Programmer, можно сделать SVF, и прошить сторонним JTAGом.
SVF плеер у меня есть своей реализации, вот его везде и применяю, где только нужна прошивка чем-то не родным. Только надо не забыть, что у Lattice SVF расширенный, добавлены команды LOOP/ENDLOOP, то есть не каждый SVF плеер съест их (хотя вроде есть опция генерации стандартного, но мне не надо, sau510 понимает lattice, и мой тоже понимает).
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|