Jump to content

    
Ruslan1

Заменить микроконтроллер на ПЛИС- с чего начинать?

Recommended Posts

4 часа назад, Ruslan1 сказал:

В связи с тотальным дефицитом и для общего развития:

Есть идея попробовать заменить МК на FPGA и обеспечить похожий функционал.

Без подробного функционала такую идею сложно оценить. Например, в МК вы не задумываясь используете ЦАП и АЦП. Если ставите ПЛИС - это будет +2 отдельные микросхемы со своими обвязками и, возможно, питанием. То есть, вместо одной МС потребуется уже 3 - это может идти в разрез с желанием защититься от "тотального дефицита для общего развития".

4 часа назад, Ruslan1 сказал:

За что взяться и на что смотреть? Как оценить трудоемкость (и материалоемкость) данного перехода?

Xilinx\Altera, думаю, будет предпочтительнее, так как по работе ихних САПР можно много чего нагуглить, что для новичка должно быть плюсом.

Трудоёмкость оценивается плохо) У нас тут как-то встал вопрос о использовании Altera, так руководство долго думало и так и не надумало, опасаясь подвохов и подводных каменей новых ПЛИС\САПР - типа а вдруг что пойдёт не так, по срокам не уложимся и прочее. Хотя казалось бы... В целом, можно уверенно сказать, что писанина кода для ПЛИС и для МК принципиально разные и если за эту задачу посадить хорошего СИшника, то у него будет натуральная ломка и не факт что человек не попадёт на месяцы отладки таких вещей как перенос сигналов между тактовых доменов или реализация асинхронной комбинаторики перед тактовой группами... Но если у вас уже есть\был опыт работы с HDL, то это уже не так страшно. Вроде бы. Кстати, в самом ПЛИСе можно поднять софтовый микропроцессор и проработать дизайн его стыка с периферией - можно сэкономить перенос функционального кода. Но надо понимать, что это ресурсы.

4 часа назад, Ruslan1 сказал:

интерфейсы типа TCP/IP, SDIO, шифрование, аппроксимации через МНК, Фурье...

Это уже конкретика. Для Ethernet'a мы ставили внешний контроллер PHY, кадры UDP писали сами. Но у Xilinx есть уже готовое UDP/IP Core IP. Насчёт TCP не знаю. SPI делается хоть руками, хоть имеющимися компонентами, кстати в софтовом процессоре SPI можно подключить внешним интерфейсом. Всё остальное перечисленное - это обычная ЦОС, которая будет утыкаться в требуемое быстродействие. Но, опять же, если делать всё самим, это надо садиться, разбираться в математике и алгоритмах, писать ТЗ на модули... и делать это, потом отлаживать, отлаживать, отлаживать... Сколько вообще людей этим будут заниматься? Такой переезд легко может на год, а то и больше, растянуться))

4 часа назад, Ruslan1 сказал:

Думаю, что вполне можно раскрутить руководство на хороший кит, но не на пять разных. Смотреть Ксайлинкс? а какой? Или все-таки Альтеру?

Нужен список функциональных задач. Тогда можно что как-то оценить и народ сможет подсказать. Но оценить ёмкость как-то сложновато - хотя у меня с этим традиционно недобор) Хотя для этого кит и нужен.

Share this post


Link to post
Share on other sites

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

то есть идея не оригинальна...

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

если это по взрослому - то кит не нужен, симулятора вполне достаточно будет, чтобы оценить "возможности". 

мое мнение: для практического применения замена не подойдет, потому что слишком дорого получится "каждый МИПС добытый из ПЛИСины" для софт-ядер, то есть тех, которые компилируются в "логику". а для хард-ядер, то есть всяких SOC (Zynq 7000, Cyclon V SE, Smartfusion* и т.п.) стоимость чипа начинается от совершенно других величин (два порядка разницы), и корпуса там 40х40 BGA с 600+ ногами, с требованием соответствующей обвязки и т.п.

единственный пример успешной (как мне кажется) такой замены - RAD HARD процессоры для космоса - там сертифицированную ПЛИС проще было купить (спасибо Актелу, ныне Микрочипу за старания), чем собственно процессор. поэтому имело смысл - тот же Гейслер (из ESA) продавал радстойкие ПЛИСы c LEON-ом (SPARC) прошитым внутри

 

5 hours ago, Ruslan1 said:

Думаю, что вполне можно раскрутить руководство на хороший кит, но не на пять разных. Смотреть Ксайлинкс? а какой? Или все-таки Альтеру?

тут на форуме списанные майнеры обсуждали EBAZ4205 или как-то так

там ксайлинский zynq7000 - то есть и хард-коре можно попробовать, и микроблейз (ну или любое другое небольшое софт ядро risc-V(?), cortex-m1 и т.д.) в логику PL засунуть 

 

но у альтеры с софтом попроще - то есть "уровень вхождения" ниже, по-моему

я такой платой остался доволен

https://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&No=836

Share this post


Link to post
Share on other sites
14 hours ago, yes said:

дизайнцентр (занимаются изготовлением масок для выпекания аналоговых микросхем, восновном для GF) сообщал, что к ним постоянно обращаются с просьбами, чтобы им сделали микропроцессор, которые нельзя купить

Даже если и сделают маски для нужного микропроцессора - если не будет возможности разместить это дело на производстве или не будет в наличии кремния - то это будет выброшенными деньгами.

Приезжали к нам фирмачи, обсуждали проблемы доступности микроконтроллеров - по их словам, проблема в основном в наличии свободных мощностей на сторонних фабах.

Share this post


Link to post
Share on other sites

Как-то я упустил из виду вопрос, с которого наверное нужно было начинать: о доступности программных средств и их удобстве.

Я много пользовался МаксПлюсом, немного Квартусом, и мне их хватало и все было очевидно. Забивал микросхемы 1К под завязку своими схемами и мне хватало мегафункций альтеровских, да и байтбластеры LPT-шные легко паялись на коленке. Воспоминания только положительные. Ну и "откорректированные" версии  софта для работы (да и ключики) легко находились в Интернете.

Думаю, что после Альтеры в софте от Квартуса я тоже разберусь - они прошли большой путь бок о бок, и вряд ли сильно друг от друга отличаются в базовой функциональности (как Пикады и Оркады, например). Но что про китайских товарищей? их софт работает и достаточен? Мне не нужно фильдеперсовости, мне интересно можно ли им пользоваться, или нужно принципиально меняться, по сравнению с Квартусом, например?

Из практических задач первое что собираюсь сделать- это работать на уровне мегафуккций, может быть описывая свои через AHDL/VHDL (надеюсь эти языки, как сам термин мегафункций, еще живы?).

 

Уже рисую проектик под такое применение: собрать данные со многих потоков (например, АЦП), минимально обраьлотать (децимация, может быть масштабирование и фильтрация), и сделать доступными для чтения как массив (шине данных) или передача единным потоком наружу (например, SPI). Уверен, что могу набросать такое мегафункциями, без всяких ядер. И многопоточность выглядит естественно, и нет ограничения по количеству таких потоков (в пределах ресурсов ПЛИС).

 

 

14 hours ago, yes said:

если это по взрослому - то кит не нужен, симулятора вполне достаточно будет, чтобы оценить "возможности". 

Вы правы. Нужно с софта начинать.

Но важно понять- с какого именно софта, чтоб потом не переобуваться во время прыжка.

 

14 hours ago, yes said:

но у альтеры с софтом попроще - то есть "уровень вхождения" ниже, по-моему

Я имею большой опыт работы с Альтеровским софтом, но старым (лет 10-20 назад). Понимаю, что добавили и обновили, но, надеюсь, идеология осталась прежней.

 

Share this post


Link to post
Share on other sites
14 hours ago, yes said:

мое мнение: для практического применения замена не подойдет, потому что слишком дорого получится "каждый МИПС добытый из ПЛИСины" для софт-ядер, то есть тех, которые компилируются в "логику". а для хард-ядер, то есть всяких SOC (Zynq 7000, Cyclon V SE, Smartfusion* и т.п.) стоимость чипа начинается от совершенно других величин (два порядка разницы), и корпуса там 40х40 BGA с 600+ ногами, с требованием соответствующей обвязки и т.п.

Да, я уже прикинул- это реально большие объемы работы. Если бы все было так просто- производители процессоров бы давно обанкротились, все пользователи бы на ПЛИС перешли. Текущий аллокейшен сдвигает планку в пользу ПЛИС, но недостаточно. 

Очень интересны ПЛИС с встроенным АРМ ядром.

Share this post


Link to post
Share on other sites
33 minutes ago, Yuri124 said:

по их словам, проблема в основном в наличии свободных мощностей на сторонних фабах.

А для чего эти мощности используются? Т.е. кремний есть, станки есть. Что же пекут? Чипы для майнеров?)

Share this post


Link to post
Share on other sites
8 minutes ago, Ruslan1 said:

 ...сдвигает планку в пользу ПЛИС, но недостаточно. 

Подорожание коснулось  ПЛИС не меньше.

Вы должны знать, что ASIC работают примерно в 2.5 раза быстрее, чем соответствующая soft-версия на FPGA.

Share this post


Link to post
Share on other sites
5 minutes ago, Мур said:

Подорожание коснулось  ПЛИС не меньше.

Вы должны знать, что ASIC работают примерно в 2.5 раза быстрее, чем соответствующая soft-версия на FPGA.

Нашел статью которая очень понравилась, как раз для таких как я, ликбез : https://numato.com/blog/differences-between-fpga-and-asics/

Но я даже не знаю, как правильно назвать микросхему, в которой есть и конфигурируемые ячейки, и железячное ядро в одном флаконе? "ASIC&FPGA"?, буду читать википедию....

Я именно про железячную имплементацию, а не про заливку в FPGA ядра. С заливкой понятно, отжираются ресурсы на ядро и остается непонятно что, потому и жирные FPGA нужны. А вот если там внутри ASIC кортекс, да плюс ресурс FPGA под всякую синхронную параллельную работу (и под интерфейсы для ядра), то интересно.

 

А что дешевле и доступнее, чтобы после заливки ядра осталось ресурсов под интерфейсы и прочее : 1)  микросхема "чистый FPGA", в который я залью ядро Кортекса, 2) микросхема FPGA с дополнительным ASIC того же кортекса внутри ?

Share this post


Link to post
Share on other sites
19 часов назад, Ruslan1 сказал:

Пока что морально не готов к BGA (сейчас QFP176 на 4-слойке хватает, хотя и впритык), но может и без BGA можно.

Тогда Вам однозначно надо смотреть в сторону Gowin. Ксалинксы и Альтеры да и Латис с ними сейчас устремились в "Заоблачные дали" и у них почти ни чего не остается в QFP и уж точно нет в QFP с аппаратными контроллерами на борту.

Share this post


Link to post
Share on other sites
20 minutes ago, Ruslan1 said:

Но я даже не знаю, как правильно назвать микросхему, в которой есть и конфигурируемые ячейки, и железячное ядро в одном флаконе? "ASIC&FPGA"?, буду читать википедию....

eASIC

Share this post


Link to post
Share on other sites
22 hours ago, Ruslan1 said:

Есть идея

 

Это прям лайфхак какой-то :-))) Выглядит смешновато, на средне-долгосрочной перспективе точно не сработает, но если на очень-очень краткосрочной.....

Если буквально вот прямо сейчас ломится вкусный прожект, то можно использовать Efinix, к которым прилагается ядро Risc-V, и они до сих пор лежат на жиже.

Самый толстый кристалл (а он не маленький) стоит $28.

 

Share this post


Link to post
Share on other sites
1 hour ago, Ruslan1 said:

Но я даже не знаю, как правильно назвать микросхему, в которой есть и конфигурируемые ячейки, и железячное ядро в одном флаконе?

Называется SoC:

Quote

Zynq-7000S devices feature a single-core ARM Cortex™-A9 processor mated with 28nm Artix®-7 based programmable logic, representing the lowest cost entry point to the scalable Zynq-7000 platform.

 

Share this post


Link to post
Share on other sites
4 hours ago, Ruslan1 said:

 Очень интересны ПЛИС с встроенным АРМ ядром.

были вроде бы раньше недорогие варианты (с той или иной мерой кривизны ПЛИС) у всяких не специфических плисовых вендоров - у Актела, у Ципреса. а у Альтеры было стародавнее семейство "эскалибур" что-ли. я ничего из этого не применял. хотя у Актела был даже рад-харднцй SOC

но почему-то не получило развития (я считаю, что "кроссекшин" по деньгам для АЗИКа и такой ПЛИСины проходит ближе к АЗИКу - поэтому для массового рынка не пошло), а для того кому нужна выгода именно от SOC - готовы любые деньги платить. мне например, ни разу не удалось в серийный продукт пропихнуть SOC, хотя процессор+ПЛИС в отдельных чипах используются в каждом. и в нише нашей продукции ценовое давление (бом кост) не слишком сильное, но тем не менее

а вот у ксайлинса древние виртексы с PPC, сразу из топового диапазона по стоимости (хотя наверно если цену нынешнего топового виртекса сообщить в 90-е, то тогдашние инженеры и менеджеры фаломорфировали бы от таких цифр), видимо себя окупили и такая ветка прижилась

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

по софту - ну разницы в старом квартусе и новом не много, но тут же кроме разводки ПЛИС еще и программирование - передача того, что в ПЛИС наделано в SDK - создание BSP или что-то подобное - линуксы всякие - процы то не кортекс-М, а монструозные - в ультраскейлах уже 64-х битные кортекс-А 

то есть на бареметале такое уже поднимать утомительно, ну и даже для бареметала нужно осваивать эклипсу и вообще "процедуру"

я с тем же ультраскейлом думал что за пару недель накидаю некий эзернет в процессоре к своему верилогу - а не вышло - устал :) по кускам все вроде работает, а собрать все вместе - пугает объем работы 

 

 

Share this post


Link to post
Share on other sites
1 hour ago, yes said:

мне например, ни разу не удалось в серийный продукт пропихнуть SOC, хотя процессор+ПЛИС в отдельных чипах используются в каждом. и в нише нашей продукции ценовое давление (бом кост) не слишком сильное, но тем не менее

Я таким путем тоже ходил много лет назад. Сначала ПЛИС передавала у меня через SPI в  ПИК, потом по параллельной шине предоставляла доступ для ADSP-21, потом я к ней Блэкфин (533 кажется) с линуксом внутри подключил (и написал в ядро мой драйвер для общения). А потом все заглохло: стало хватать одного МК для всего вокруг, а ПЛИС стала лишней сущностью.

 

Склоняюсь к тому, что "не шмогу" доказать нужность железячного ядра внутри FPGA для моих применений вместо МК с большой функциональностью.

 

А вот просто FPGA да, все еще хочу добавить в новый проект как часть, обеспечивающую RTOS (заместо планируемого STM32F0). Там наружу ничего хитрого не планируется, я и врукопашную смогу без микроядра все коммуникации и обработки нарисовать на стандартных мегафункциях, или на VHDL.

Попробую выбрать ПЛИС, которая мне уже годится  для моих первых хотелок, но и вдруг еще минимальное ядро чтоб можно было всюнуть для тренировок. Ну или просто два кита с разными ресурсами (но, конечно, одной фирмы).

Share this post


Link to post
Share on other sites

К стати китайцы недорого продают "Sipeed Lichee Tang Nano 4K" c "FPGA с 4608 LUT и микроконтроллером Cortex-M3" https://cnx-software.ru/2021/08/19/plata-tang-nano-4k-fpga-za-18-dollarov-s-vyhodom-hdmi-i-dopolnitelnoj-kameroj/

Edited by Ivanii

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.