LINUX.ORG.RU

FPGA


1

1

Пришла ко мне долгожданная ПЛИС Altera и китайский USB Blaster к ней. Теперь собственно вопрос: в какую сторону копать?

Во-первых, каким софтом под Linux её лучше прошивать? Программатор определяется lsusb так:

Bus 002 Device 025: ID 09fb:6001 Altera Blaster

Во-вторых, каким компилятором пользоваться.

В-третьих, проясните один вопрос - как у ПЛИС с циклами перезаписи? Нормально, как у AVR (10000+ циклов), отлично как у PIC (100000+ циклов) или плохо (несколько сотен, пока не видел таких чипов)?

★★★★★

Последнее исправление: KivApple (всего исправлений: 1)

Quartus. Плата-то какая?

ПЛИС - это LUT'ы. Sea of gates. Там нет циклов перезаписи.

mv ★★★★★
()
Ответ на: комментарий от mv

То есть можно бесконечно перепрошивать и не беспокоится? Это хорошо, если так. Quartus Web Edition уже качаю. Радует официальная поддержка Linux. А оно уже сразу и прошивать сможет или только компилировать?

Плата выглядит вот так:

http://cs608620.vk.me/v608620975/527a/Tcu0z5GvQXM.jpg

http://cs608620.vk.me/v608620975/5266/N1Im7788KGY.jpg

Минималистичная, как я люблю (светодиодики или ещё что сам навешу, когда потребуется). Взял дешёвую ПЛИС для начала, потом, если будет не хватать ресурсов и затянет тема, возьму круче.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

То есть можно бесконечно перепрошивать и не беспокоится?

Оно не прошивается, оно загружается. При включении или после резета нужно опять заливать. Есть возможность загружать с eeprom'а.

Плата выглядит вот так:

Ба! Да у тебя CPLD, не FPGA. Сколько бакинских отвалил? Я на ДР одному кексу дарил чё-то там от Lattice, FPGA, за ~$50.

Минималистичная, как я люблю (светодиодики или ещё что сам навешу, когда потребуется). Взял дешёвую ПЛИС для начала, потом, если будет не хватать ресурсов и затянет тема, возьму круче.

Если китайцы поддержку платки не нарисовали в Квартусе, то тебе придётся самому это делать (какая нога куда и как прицеплена).

mv ★★★★★
()
Ответ на: комментарий от Eddy_Em

А зачем тебе ПЛИСка, если не секрет? МК же гибче и проще.

Чем гибче-то?

В нормальную плисину (не как у автора) влезает и МК, и ещё места под обвязку остаётся.

mv ★★★★★
()
Ответ на: комментарий от Eddy_Em

Подозреваю, что ТС таки хочет это все в Линуксе делать, а не в мастдайке гребаной!

Ну? Пусть ставит квартус, и вперёд.

mv ★★★★★
()
Ответ на: комментарий от mv

Если китайцы поддержку платки не нарисовали в Квартусе, то тебе придётся самому это делать (какая нога куда и как прицеплена).

Кхм... там из переферии один светодиод и кварц, всё остальное тупо выведено на штырьки.

Ба! Да у тебя CPLD, не FPGA. Сколько бакинских отвалил? Я на ДР одному кексу дарил чё-то там от Lattice, FPGA, за ~$50.

Чем отличается CPLD от FPGA? Заплатил мало, брал самую дешёвую. Всего 250 рублей.

Оно не прошивается, оно загружается. При включении или после резета нужно опять заливать. Есть возможность загружать с eeprom'а.

Хм... интересно... и как к ней приципить EEPROM?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Официальный сайт Altera сразу предложил мне версию для Linux. Уже качаю. А какие есть альтернативы (всё таки полезно знать, может что интересное есть)?

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Хм... интересно... и как к ней приципить EEPROM?

У CPLD что-то встроенное есть.

mv ★★★★★
()
Ответ на: комментарий от ebantrop

Квартус Web Edition бесплатный есть. А вот 100 перезаписей это печально. Как изучать то её, если так быстро кончится ресурс? Нет ли каких-то ухищерений, чтобы продлить ресурс? Типа переключения её на внешний EEPROM или ещё чего.

KivApple ★★★★★
() автор топика
Последнее исправление: KivApple (всего исправлений: 1)
Ответ на: комментарий от KivApple

Есть симулятор. Но при таком подходе железка вообще не нужна.

mv ★★★★★
()
Ответ на: комментарий от KivApple

А какие есть альтернативы

ХЗ, я особо не заморачивался по поводу ПЛИС: не могу придумать, нафига оно мне нужно.

Я для STM8 придумывал задачи пару недель (после того, как парочку прикупил). Как придумал, что можно из них сделать универсальный драйвер на 3 шаговика + штук 15 концевиков сразу, купил по-дешевке 6 штук.

STM32 приятней всего — эта серия вообще таким количеством периферии обвешана, что вряд ли кому-то когда-нибудь понадобится одновременно использовать ее всю! Вот, надо будет как-нибудь забульбенить себе на 100-ножечную STM32F103 самопальную макетку (у меня все макетки 64-ножечные, у них интерфейса к экранчику нет, а у меня экранчик, кажись, SPI не умеет — но это надо будет проверить). Паять паяльником больше 20 ножек — занятие, наверное, крайне увлекательное (пока что максимум, что паял, была 20-ножечная АЦП, прифигачивал ее к переходничку на DIP, чтобы на макетке потренироваться).

А ты-то придумал уже, на кой тебе ПЛИС нужны?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от KivApple

Погугли. Может, есть аналог, но с охрененным количеством перезаписей. Я так попался с STM8S003: у нее гарантированно лишь ~100 перезаписей, а вот с почти аналогичной S105 все ОК. Тренируешься на 105, потом прошиваешь копеечную 003.

Eddy_Em ☆☆☆☆☆
()

Тебе для миллиона экспериментов минимум нужен Cyclon, если к Альтере прикипишь. Платки на втором-четвёртом циклоне не шибко дорогие.

mv ★★★★★
()
Ответ на: комментарий от mv

В таком случае буду копить на http://www.aliexpress.com/item/ALTERA-FPGA-CycloneII-EP2C5T144-Minimum-System..., а полученную платку пока отложу (думаю, подойдёт для финальных версий проектов). А пока помучаю симулятор...

KivApple ★★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Кхм... у обычных микроконтроллеров тоже есть такая лажа с очень маленьким количеством перезаписей Flash-памяти? Почему они все так экономят на ней, она же не настолько дорогая (ну ПЛИС ладно, там может сама структура микросхемы приводит к подобным трудностям, но у МК то самая обычная Flash)...

У этой то платы, я надеюсь, с перезаписями всё ок? http://www.aliexpress.com/item/Arm-cortex-m3-stm32f103c8t6-stm32-core-board-d...

KivApple ★★★★★
() автор топика
Ответ на: комментарий от KivApple

Если уж копить, то сразу на NEEK: http://www.altera.com/products/devkits/altera/kit-cyc3-embedded.html Я немножко игрался, прикольная штука.

У самого вот такое: http://www.xilinx.com/products/boards-and-kits/EK-S6-SP605-G.htm (хотелось PCI-Express), но так руки поиграться толком и не дошли.

mv ★★★★★
()
Ответ на: комментарий от KivApple

Почему они все так экономят на ней, она же не настолько дорогая

99.999% микроконтроллеров шьются один раз в своей жизни.

mv ★★★★★
()
Ответ на: комментарий от Eddy_Em

МК же гибче и проще.

Ты сравнил язык С и ядро линукс.

nanoolinux ★★★★
()
Ответ на: комментарий от KivApple

Кхм... у обычных микроконтроллеров тоже есть такая лажа с очень маленьким количеством перезаписей Flash-памяти?

У дешевых. Ты обрати внимание на стоимость STM8S003! Отпускная цена — 10 штук на доллар!!! Потому-то китайцы и лепят их куда ни попадя! Как минимум, из того, что видел на ибее, были вольтметры-амперметры (один за 3 бакса я себе купил для мучений, придумал на его основе как минимум 3 устройства) и термометры (на базе дешевого DS18B20).

А вот дорогая флеш-память — она получше перезаписи выдерживает. Обычно 10..100 тысяч.

У этой то платы, я надеюсь, с перезаписями всё ок?

О, я себе на ибее такую же прикупил. Там она ~11 баксов стоит. Зато paypal.

А насчет циклов перезаписи — ты меня озадачил. Что-то я этой цифры в даташите не вижу...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Самое наверно известное применение, это скоростные интерфейсы, fullhd картинку с фотоматрицы с высоким фреймрейтом принимать например.

amaora ★★
()
Ответ на: комментарий от KivApple

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

На потренироваться как уже написали — симулятор.

ebantrop
()

Радует официальная поддержка Linux.

Такие вещи надо сначала смотреть, а потом радоваться. Xilinx ISE оказался и под виндой-то крив как вся моя жизнь, а под линуксами я просто не смог скомпилировать драйвер для программатора (это было ещё во времена, когда драйвер не использовал libusb, нынешний я так и не попробовал).

prischeyadro ★★★☆☆
()
Ответ на: комментарий от ebantrop

У CPLD есть очень большое преимущество по сравнению с FPGA, что им не требуется время на инициализацию.

Конкретно max2 не совсем cpld, это скорее fpga с флэшем на борту.

Puzan ★★★★★
()
Ответ на: комментарий от Eddy_Em

МК для другого нужны. ПЛИС - это злобная и шустрая логика. МК - алгоритмы и контроль. на задаче съёма и обработки сигналов напримерю

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Зачем? Для этих целей есть обычные микросхемки. Скажем, тот же аналоговый видеосигнал по-быстренькому дешифровать проще при помощи копеечной микросхемки...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Зачем? Для этих целей есть обычные микросхемки.

Нет. Одной SoC на все случаи жизни быть не может.

anonymous
()
Ответ на: комментарий от Dark_SavanT

Вот в том-то и дело! Можно вообще работать радиоэлектронщиком, и ни разу не сталкиваться, скажем, с ПЛИС. Или с какими-нибудь "крутыми" микроконтроллерами. Все от сферы деятельности зависит.

А ТС, похоже, решил поднатореть во всем сразу...

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от anonymous

А вот конкретно для такого хитрожопого случая и нужна будет ПЛИСка. Но это — не общая бла-бла, ТСу явно нафиг не нужны ПЛИСы!

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Puzan

Конкретно max2 не совсем cpld, это скорее fpga с флэшем на борту.

В смысле? Она вроде как от подачи питания до юзермода за пол миллисекунды доезжает. А что тогда совсем CPLD?

ebantrop
()
Ответ на: комментарий от ebantrop

В смысле?

Там луты и остальная конфигурация на SRAM. При включении питания эта SRAM загружается из внутреннего флэша. А скорость выше, потому что маленький размер и быстрый интерфейс (первое по-моему важнее).

И вообще, cpld и fpga отличаются не столько местом хранения конфигурации, сколько внутренним устройством логических блоков. А max2 обозвали cpld из маркетинговых соображений.

Puzan ★★★★★
()
Ответ на: комментарий от mv

Оно не прошивается, оно загружается. При включении или после резета нужно опять заливать. Есть возможность загружать с eeprom'а

А как она узнает после сброса, как к ней подключена та же EEPROM, и каким образом с ней работать? Минимум, нечто вроде bootloader-а должно быть, и довольно функционального.

one_more_hokum ★★★
()
Ответ на: комментарий от one_more_hokum

А как она узнает после сброса, как к ней подключена та же EEPROM, и каким образом с ней работать?

Не EEPROM, а Flash, причем очень специфическая. И подключена всегда одинаково - как написано в документации.

alexru ★★★★
()

Нормально, как у AVR (10000+ циклов)

10000 - это во всем диапазоне температур и питающих напряжений. При комнатной температуре они больше 1 Млн перезаписей выдерживают.

alexru ★★★★
()
Ответ на: комментарий от one_more_hokum

Нет.

И все это относится к настоящим FPGA. К этой конкретной плате все это не применимо. Это флеш уже в чипе находится.

alexru ★★★★
()
Ответ на: комментарий от ebantrop

конкретно MAX-II является CPLD только волею маркетологов. внутре это вполне себе FPGA (1-й циклон без блочного ОЗУ, умножителей и PLL) со встроенной конфигурационной памятью.

registrant ★★★★★
()
Ответ на: комментарий от one_more_hokum

У настоящих FPGA еще есть пассивный режим загрузки, при котором конфигурацию можно скормить чипу с помощью МК, например.

alexru ★★★★
()
Ответ на: комментарий от Eddy_Em

А почему нет? Я вот играюсь с Spartan6, тестирую всякие экзотические архитектуры CPU. У ТС, конечно, даже самый крошечный 8-битный контроллер не влезет, но все равно можно всякие интересные вещи поделать.

anonymous
()
Ответ на: комментарий от KivApple

То есть можно бесконечно перепрошивать и не беспокоится?

Хоть миллиард раз. Отсутствие ограничения циклов - приятный момент, это правда.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от registrant

конкретно MAX-II является CPLD только волею маркетологов.

Дав общем то пофиг как оно конкретно реализовано. А что такое тогда истинное не волей маркетологов CPLD?

ebantrop
()
Ответ на: комментарий от Puzan

cpld и fpga отличаются не столько местом хранения конфигурации, сколько внутренним устройством логических блоков.

В смысле «устройством логических блоков»? В FPGA 2+2 = 4 а в CPLD от трех до шести? В чем разница?

ebantrop
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.