Учимся работать с ПЛИС

Все о микроконтроллерах: AVR, PIC, STM8, STM32, Arduino, Altera, Xilinx, все что угодно. Этот раздел для всего что клацает байтиками.
Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 14 авг 2013, 02:10

Всем привет!
Несколько раз я уже пытался подружиться с ПЛИС. В общем-то, что-то даже получалось...
Теперь, в связи с некоторыми грядущими изменения моего быта, решил взяться за "вражеские девайсы" основательно.
В этой теме буду постепенно описывать то, что я делал, как, почему и зачем.
Буду благодарен всем за критику, подсказки, помощь и идеи.

Итак... С чего начать?
Наверно, с того, чтобы выкурить мануал как-то так:
ИзображениеИзображение

Традиционно, для изучения чего-то нужна сама "железяка".
В моем случае, "железяка" - это толковая отладочная плата с ПЛИС.
Первым делом, поговорив с собственной ленью, было решено не ваять плату самому,
взамен купив готовую узкоглазую.
Выбор пал вот на это: http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=251065569441
В данный момент плата заказана и оплачена на ebay.
Неделю китайский барыга ее не отправлял. После моего гневного письма к нему, пришли извинения и статус был изменен на "shipped".
Пока мне остается ждать прибытия платы и думать, что же делать дальше.

П.С. Из всего, что будет здесь написано, если я осилю эту тяжкую ношу, будет состряпана статья/статьи.

Proletariat
Сообщения: 88
Откуда: Москва-Киров

Сообщение Proletariat » 14 авг 2013, 12:20

Сразу же 2 вопроса:
1. Почему альтера, а не xilinx?
2. Про программатор не забудь. Без него делать нечего.

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 14 авг 2013, 15:46

2 Proletariat:
Раньше я уже пробовал "играться" с ПЛИС, поэтому выбор между Альтерой и Хилькой
сейчас для меня не актуален.
Когда первый раз пробовал работать с ними, выбор Альтеры был обусловлен следующим:
- Altera NIOS можно кодить на С, чего нельзя сказать о Xilinx MicroBlaze. Асм под последний
учить пока лень, да и смысла пока в этом особого не вижу.
- Xilinx ICE и Altera Quartus - два глючных IDE. Даже не знаю, кто из них хуже. Этот параметр
в счет при выборе ПЛИСины не брался.
- И самое важное : примитивная отладочная плата и программатор на Altera Cyclone II у меня
на момент первого знакомства уже были.
- Аппаратные "вкусняшки", которые есть у Хильки и нет у Альтеры, как то куча PLL и пр. пока
не особо актуальны, т.к. конкретной задачи для построения на ПЛИС сейчас у меня нет.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 14 авг 2013, 16:26

Altera NIOS можно кодить на С, чего нельзя сказать о Xilinx MicroBlaze.

Не правда, это picoBlaze нельзя кодить на си. А микроблэйз - вполне себе.

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 14 авг 2013, 17:38

это picoBlaze нельзя кодить на си. А микроблэйз - вполне себе.

Ну, для меня, как не специалиста по Хилькам, сути это не меняет. ;)

lamazavr
Сообщения: 28

Сообщение lamazavr » 14 авг 2013, 19:57

Proletariat, тоже выбрал altera для старта. Вы считаете xilinx более дастоен такой роли?

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 14 авг 2013, 23:47

ИМХО, спор Altera vs Xilinx - такой же бесконечный, как BMW vs Mercedes или Canon vs Nikon. :lol:
В продолжение темы... Начал искать курительные мануалы по ПЛИС и наткнулся на вот такую торрент-раздачу:
http://rutracker.org/forum/viewtopic.php?t=2135243
Теперь предстоит выделить из этой кучи букв нужные... :roll:

lamazavr
Сообщения: 28

Сообщение lamazavr » 15 авг 2013, 09:59

Мне понравились: free range vhdl (на английском) и VHDL для проектирования вычислительных устройств (Сергиенко) (эта на русском).

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 15 авг 2013, 10:18

только не VHDL, прошу :)

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 15 авг 2013, 11:10

Никакого VHDL! Verilog - это наш выбор!

lamazavr
Сообщения: 28

Сообщение lamazavr » 15 авг 2013, 16:16

чем он принципиально лучше?

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 15 авг 2013, 16:25

VHDL: более строгий стандарт, меньше вероятности сделать ошибку в большом проекте
verilog: на порядок меньше писанины

Proletariat
Сообщения: 88
Откуда: Москва-Киров

Сообщение Proletariat » 15 авг 2013, 16:34

Могу сказать, что в свое время начинал тоже с Альтеры, но сейчас перешел на ксайлинкс. Непонятно почему, но действительно крупные проекты делаются именно на ксайлинксе. Альтера чаще используется в ознакомительных целях и в студенческих разработках. Насколько я понимаю такая сложлась ситууация с FPGA.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 15 авг 2013, 16:41

у хильки для меня есть такие преимущества:
  • есть плисины с встроенной конфигурационной памятью xc3sXXXan, жаль, что их мало
  • есть доступные плисины с современной технологией (spartan6 - 45nm). От технологии на прямую зависит скорость и объем всего, что есть на борту.
  • цифровой умножитель частоты - DLL. Он не боится сильных помех, что тоже очень хорошо. В spartan6 есть еще и PLL, которые выдают сигнал с меньшим джитером.

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 30 авг 2013, 18:51

Сегодня приехала из Китая отладочная плата. На днях совместно с BSVI состряпаем видеообзор.
Первое впечатление от платы довольно приятное, но не обошлось и без ляпов. Подробнее опишу все в обзоре.

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 30 авг 2013, 19:37

Бум ждать :)

Аватара пользователя
unidk
Сообщения: 88
Откуда: Германия

Сообщение unidk » 15 сен 2013, 14:23

На видео-отчет времени не хватило: был занят постройкой лабораторного БП...
Взамен вот здесь: http://tqfp.org/fpga/plata-osh-black-gold-na-baze-altera-cyclone-iv.html лежит фото-отчет
об узкоглазой отладке. :ugeek:

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 19 сен 2013, 10:39

Хм...
А, не позволите ли, люд честной, человеку, абсолютно не разбирающемуся в ПЛИС задать вам несколько вопросов? Так сказать, помочь ему с навигацией в океане современной элементной базы. :)

Вот я, вроде бы в теории понимаю, что такое программируемая логика, огромная куча лог. вентилей и все такое...
Ну да, данной штуковиной можно заменить горстку 74-й логики, это вполне оправдано, но...
На Хабре к примеру всплывают новости вроде "Мужик на FPGA сделал комп с MS-DOS!" или "Мужик сделал SNES на FPGA!" или "Мужик сделал NES на FPGA!"... От подобных новостей срывает крышу, ибо возникает впечатление, что эти люди по вентилям строили какой-нибудь матёрый Intel 286, затем всю обвязку к нему в виде мостов, затем отдельно видеоадаптер, затем звуковуху, затем...
Ну, в общем как-то сомнительно мне, что один человек мог не то что это один сам сделать, а и вообще полностью знать персональный компьютер на вентильном уровне.
Так... Как?! :shock:

И еще, вот...
Видел в старых аппаратах всякие GAL и PAL, вроде бы очень полезные звери, которых нынче нигде не встретишь... Пытался нарыть на них инфу, но в итоге узнал лишь, что почти все они были либо one time programmable, либо вообще заказывались огромными партиями с заводов, без возможности программирования...
Так вот, неужели вообще нынче нету простой ПЛИС?
А то начинать со звездолёта с сотнями ног, да еще и в BGA корпусе что-то не очень хочется.

И последнее:
Почему так редко можно встретить просто обыкновенные микроконтроллеры в коммерческих аппаратах?
Что не теардаунишь, везде внутри встречается какой-нибудь Noname 208-ногий QFP, а рядом корпуса ПЗУ'шки и оперативы... Что уж очень подозрительно напоминает собранный на ПЛИС микроконтроллер... :?
Так вот, почему я еще ни в одном серьезном аппарате не видел ни MSP430, ни AVR, ни какой-нибудь PIC?
Вообще ни одного более-менее известного контроллера не видел...
Ну ладно, видел раз Tiny26, но поделки эти были явно собраны обычными любителями на заказ, вроде русских датчиков дыма...
Но все равно, почему так?

Аватара пользователя
N1X
Сообщения: 321
Откуда: Беларусь, Гомель

Сообщение N1X » 19 сен 2013, 11:58

В серьезных проектах обычно встречается Freescale, Renesas, которые рулят в промсекторе... Ну и да - нонеймы, но это чаще ASIC, а не ПЛИС...

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 20 сен 2013, 11:51

Так... Как?!

Дык, легко. Блоки типа процессора, контроллера памяти уже написаны. Есть такой сайтик http://opencores.org там очень много готовых кусков. Ну и остается это все дело соединить. Никто большие проекты не пишет с нуля.

Простые плисины есть - называются CPLD. Самые мелкие - EPM3032 от Altera и XC9536 от xilinx. Правда, на них ничего особо сделать нельзя. Такая себе замена горсти 74ой логики.

Noname 208-ногий QFP, а рядом корпуса ПЗУ'шки и оперативы...

Это ASIC скорее всего. Когда речь идет о очень большом объеме, часто выгодно заказать свою микросхему. Как вариант - это бывают перемаркированные брендовые чипы. Практически все производители готовы поставить на чип чужой логотип, если закажут достаточное количество.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 20 сен 2013, 15:05

Угу, на opencores реально много чего есть. :shock:

Ну, теперь реально понятней... Правда, как часто бывает, ответы порождают только новые вопросы. :)
О CPLD слышал, но дел с ними не имел вообще... Вполне прикольные звери, особенно учитывая, что у них корпуса есть tqfp-44 и даже PLCC!
Я бы взял на вооружение, но как например их программировать?
Только JTAG не предлагать, уж больной какой-то стрёмный интерфейс, боюсь не освоить, да и большая часть функционала, вроде сканирования состояний ножек, мне пока не очень нужна.
Можно ли еще как-нибудь залить прошивку в XC9536?
Если что, располагаю античным компьютером с LPT и RS232.

И еще... Как собственно прошивки писать?
Слышал про VHDL и Verilog, но уж больно стрёмные какие-то это языки, нельзя никак графически схему строить?

Блин, сдается мне, что уж очень за стрёмную тему я взялся. :)
Вообще ничего не понятно, ни как программировать, ни как прошивать, туторов вообще мало... Еще наверное окажется, что эти CPLD у нас и не продаются вовсе. :mrgreen:

P.S.
Перемаркированные чипы видел не раз, особенно Огрызки славятся подобным.
Правда реально не понимал, зачем это, ибо нуб все равно либо не полезет внутрь, на платы смотреть, либо даже не поймет, что это там за чёрные коробочки такие... А шарящий все равно понимает, что чипы перемаркированы, и что Аппл нифига свои чипы не производит.

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 20 сен 2013, 15:15

Программировать можно только через JTAG, в нете есть схемы для LPT порта. Без письменных языков много не нарисуешь, поэтому рисовалки практически никто не юзает, хотя они есть что у альтеры что у хильки.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 22 сен 2013, 13:19

А... Что собственно почитать по теме посоветуете? Или может сайтец какой годный в сети имеется?
А то пока из чего-либо хоть немного вменяемого нашел только "первые шаги" на Радиокоте:
http://radiokot.ru/start/mcu_fpga/xilinx/01/

Кто с чего начинал? ;)

P.S.
Ща еду на Кардачи, узнавать, продается ли у нас такое чудо техники...
Уж что-то очень меня смутила надпись "Product obsolete" в даташитах на XC95XX...

P.P.S.
Так вот, мне интересно, на что например Atmel живет, если ихних МК я не видел нигде кроме какого-то левого датчика дыма и Ардуин?
Не уж то только на радиолюбителях держится и на памяти? ПЗУ'хи как раз я часто встречаю, а вот МК...

Аватара пользователя
BSVi
Адепт
Сообщения: 3576
Откуда: Киев

Сообщение BSVi » 22 сен 2013, 13:51

Или может сайтец какой годный в сети имеется?

Марсоход.

Уж что-то очень меня смутила надпись "Product obsolete" в даташитах на XC95XX...

А ты смотри с индексами XL в конце, но для старта лучше посмотри на epm240. Не сильно дороже, но на ней уже можно что-то сделать. Как вариант, тот-же проект марсоход.

Так вот, мне интересно, на что например Atmel живет

На тач-решениях для мобилок и на автомобильном рынке.

Аватара пользователя
iEugene0x7CA
Адепт
Сообщения: 1570
Откуда: Киев

Сообщение iEugene0x7CA » 22 сен 2013, 17:49

Все, звездец эпопее...
У нас такое не продается, более того, наши чудесные продавцы не то что просто не слышали аббревиатур "ПЛИС", "CPLD", и "FPGA", они абсолютно уверены, что такого не бывает.
Теперь либо онлайн-покупку осваивать придется, что очень-очень как-то лениво, либо...
BSVi, ты там в ближайшее время ничего не заказываешь? :mrgreen:

Очень хотелось бы этот "Марсоход" собрать.
Последний раз редактировалось iEugene0x7CA 22 сен 2013, 18:28, всего редактировалось 1 раз.

Вернуться в «Микроконтроллеры и ПЛИС»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 6 гостей