Как стать автором
Обновить

Стартуем на ПЛИС, но сначала припаяем его с конструктором беспилотного автомобиля Zoox

Время на прочтение13 мин
Количество просмотров15K
Всего голосов 38: ↑35 и ↓3+32
Комментарии50

Комментарии 50

Не, ну почему, советовать как правильно расположить клавиши на телефоне они разработчику могут...

 Я думаю успех 1-го айфона во многом именно в том что его разработчики прислушивались к  советам "людей, которые наверное думают, что раз они научилились тыкать пальцем в телефон, то что-то понимают как обучать будущих проектировщиков телефонов."))

А вы уверены, что разработчики системы на кристалле и semiconductor IP в Apple прислушивались к Андрею и Алексу? В чем? В прототипировании на микросхемах программируемой логики? Или там максимизации пропускной способности при пересечении тактового домена?

Да и в том и в другом) Только сказанном другими словами, например смартфон не должен "тормозить", не должно возникать различных ошибок в работе прикладного ПО и т.д.

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

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

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

Уточнил "что-то понимают как обучать будущих проектировщиков системы на кристалле (System on Chip - SoC) телефонов."

Это тот самый "процессор в памяти", в существование которого 10 лет назад не верили топ-блоггеры Андрей Нифедов и Алекс Экслер.

Был такой трюк, можно заменить чипы базовой логики при помощи микросхемы EEPROM с прошитой таблицей значений.

https://maker.pro/custom/tutorial/how-to-use-eeproms-to-represent-logic-functions-in-circuits

Ну это имено трюк. А применение микросхем программируемой логики - это мейнстрим. От обучения до прототипирования и малотиражных изделий, например в космических аппаратах.

Ну так микрокод в процессорах уже тоже давно мейнстрим, но блогеры, видимо, тоже не в курсе. Да, это немного не то, но примерно показывает уровень блогеров.

Микрокод был популярен в 1970-е годы, но после 1980-х, с развитием конвейерных микроархитектур, процессоры стали hard-wired, то бишь микрокод перестал был значимым инструментом реализации. Но реконфигурируемая логика в ПЛИС - это не микрокод. Микрокод - это фактически последовательная цепочка записей для генерации сигналов контроля. А в ПЛИС память конфигурации контролирует ячейки одновременно.

Из ячеек ПЛИС можно построить и аналог микропроцессорного ядра в Ардуино

@nckmaкогда-то давно делился опытом - как реализовать AVR микроконтроллер внутри CPLD Altera MAX II на плате Марсоход https://marsohod.org/projects/plata1/66-makeavr

Если честно, пайка так себе, очень долго, различный результат, сомнительное качество, и это при пайке простейшего разъема PLS, модным припоем, с модным паяльником. Видио из серии "как делать не надо". А статья норм.

Я олдфаг. Паяю дома (ардуинствую) припоем 60/40 и флюсом ЛТИ-120. Насколько всё плохо? Знаю, что есть куча современных флюсов, даже покупал на али как-то раз 223, но так и не попробовал использовать.

Паять учился в советские годы в школьном УПК (специальность радиомонтажник). Там нам выдавали катушку медного лакированного провода, нужно было нарезать десяток отрезков по 10см, зачистить лак, и залудить, чтобы был красивый гладкий блестящий (в идеале) провод серебристого цвета. Ох и намучился я тогда, но помню те уроки с теплотой :)

Для дома не особо важен выбор флюса, потому что вряд ли закладывается какой-то ресурс. Принцип домашней пайки - "ох ёмое, заработало!".
Но ЛТИ вполне пригоден и для профессиональной пайки, если его отмывать начисто сразу после монтажа.

В принципе на чистой плате, без большой тепловой инерционности и хорошая бессвинцовка замечательно паяется только с тем флюсом что внутри припоя. Но стоит попасть на окислившуюся многослойную плату с огромным полигоном внутри, там и флюсам по 1000р за тюбик и "ПОС63" тяжеловато.

RMA-223 «с Али» — это хрень абсолютно непредсказуемого состава и физико-химических свойств, не надо его пробовать. Они там при производстве стараются в цвет и консистенцию попасть более-менее, на этом сходство с оригиналом заканчивается.

ЛТИ-120 — его надо тщательно отмывать, он коррозионно-активный.

Все правильно, у нас в радиокружке вначале учились паять кубик с гранью 40 мм, так чтобы им потом в футбол можно было играть, места пайки не должны были рваться. Паяльник обычный 220В - 40Вт, ну и через разделительный трансформатор было все запитано. Аспирин использовать было нельзя.

А плату запаивать использовали флюс из канифоли на спирту, один только запах чего стоил, Хеннесси рядом не стоял... ))). Припой ПОС60 тонкий, ноги мажешь и потом паяльником на 25Вт с жалом "на скос" запаиваешь быстро и спиртом все моешь.

Всё тоже самое, но канифоль без спирта. Не положено школьникам спирта, всё выпил местный препод :)

Ещё вспомнил, что мы там разбирали списанную ЭВМ МИР. В смысле выпаивали миллион транзисторов из плат.

Раз статья для начинающих спрошу есть ли какие-нибудь микроплис, условно имеешь 1 SO14 и программируешь под замену нужной логики?

В таких маленьких корпусах были в свое время (1970е) микросхемы PAL, PLA и GAL (предшественники CPLD и FPGA). Но сейчас GAL используют только любители старины, хотя они по-своему красивы. Так как их нельзя конфигурировать с помощью синтеза из SystemVerilog (хотя для них были специальные языки типа PALASM), и так как я пытаюсь любые упражнения для начинающих как-то прикрутить к современному проектированию, я не рекомендую начинать с GAL и PALASM.

Когда вы начинаете с CPLD в моем посте (Altera MAX II) вы можете дойти до интересных упражнений, например у меня в конце есть пример round robin arbiter. Написать такой арбитр - это вполне встречающийся вопрос на собеседовании в крупные электронные компании, поэтому от такого упражнения есть польза для возможной будущей карьеры.

Спасибо за информацию, здесь даже нашлась статья про PAL/GAL https://habr.com/ru/post/535936/

Увы - совсем ретро, лучше уж в железной логике собрать)

Altera MAX3000 и MAX7000 (если они ещё живы) от 32 до 512 ячеек. Корпуса от 44 выводов.

Во, именно то, что имел ввиду! Имел неосторожность наступить в политику, по этому, увы, плюсик не поставлю)

в комплекте с lead-free проводами припоя? Канифоль сейчас внутри проводов? А почему есть и провода припоя без канифоли?

«Провод» и «проволока» — немного разные вещи

В свое время озадачился поиском платы адаптеры с уже запаянными FPGA на более широкий шаг выводов, но вроде не нашел ничего путного. Вы заказывали или нашли что-то уже готовое?

Нет, все платы которые я использую, имеют стандартный шаг GPIO то бишь пинов для general purpose input output

Здравствуйте, Юрий!
Можете подсказать, средства для кодогенерации для древних серий Xilinx XC3000, SpartanXL?
Желательно в линуксе.
Можно XACT 5 в DosEMU запускать, но пока я его только нашел, но не пробовал.
Просто у меня как разбирал завалы старых плат нашлось две XC3090A (в предке WiFi - какая-то беспроводная сеть, аркнет? в гигагерцах на буке конца 90х-начала 2000х) и доступны SpartanXL в PCI плате.
т.к. не уверен что нормально можно найти и использовать штатные xilinx программные продукты.

Я использовал в середине 1990-х емнип XACT и Synplify для работы с XC4000, но вообще я не рекомендую использовать ПЛИС-ы которые не поддерживаются современными тулами. Xilinx выкидывает поддержку старых версий хардвера из новых версий софтвера. Все тулы для ПЛИС-ов и так глючные, например могут зависеть от установки с загадочным именем CYCLONEII_RESERVE_NCEO_AFTER_CONFIGURATION даже если ваш ПЛИС - не Cyclone II. Но используя ПЛИСы, которые требуют старых версий софтвера, вы умножаете эту глючность. Лучше купить нечто минималистическое, но работающее с новым софтом.

Спасибо.

Припой с температурой плавления 361 градус Фаренгейта... 361 градус по Фаренгейту? Это для развития скорости пересчёта в привычные градусы по Цельсию?

А почему проприетарный Quartus ? Почему не СПО (Yosys+NextPNR) ?

Я думаю попробовать Lattice с Yosys для подобных целей, но пока не пробовал.

Верное направление. ПЛИСы Lattice серии ECP5 очень хорошо зареверсены и поддерживаются Yosys-ом. Пару лет назад я выполнил успешный проект на ECP5 с софтварным RISC-V ядром (VexRiscV), MAC интерфейсом и некоторым количеством своей внутренней логики. На ядре вращался IP стек LWIP. 100% СПО. :-)

Интересная статья, только название с содержимым немного не стыкуется.

Ну я заинтересован привлечь руководителей кружков школьников. А что их точно интересует? Пайка.

А что их точно интересует? Пайка.

это не то, что «их интересует» — в основном это то, «что они умеют». Но да, на это они могут «клюнуть». Но смогут ли, «клюнув», идти дальше — не факт.

Ну а как сделать, чтобы они пошли дальше?

честно говоря, не знаю. Вообще, из виденных мной в нынешнее время (специально не беру своё, ибо тогда было по-другому) чаще всего руководители более пожилого возраста, чем я, и «все эти новомодные штучки» (МК, ПЛИС) им непонятны. Возможно, «когда по естественным причинам сменится поколение», тогда изменится что-то.
поэтому руководителям именно радиокружков ПЛИС и верилог вряд ли будет интересен, руководителям робототехники — тоже. Слишком специфичная вещь, «узкого интереса».

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

да, и транзисторы, и рассыпуха. Часто даже не дуйня, потому что ардуино — это «в кнопки тыкать», а это «не для настоящих радиолюбителей» :-(
И да, очень много «робототехнических кружков» — на лего, по франшизе открывались.

А какие именно делают упражнения на рассыпухе?

А в связи с текущей ситуацией, есть ли какие то проблемы с заказом ПЛИС?

Ну от контор типа Digilent и Terasic в Россию не приходит, но вот с AliExpress вроде доходит

ИМХО, мастер класс вышел из серии "как делать не стоит". Такого типа штыревые разъёмы намного быстрее и эффективнее паять жалами типа К. Это позволяет прогревать сразу 2-3 пина и тащить "волну" припоя между ними, главное, добавить чуть побольше флюса. Позволяет получить одинаковое количество припоя на всех ножках, и никакой демонтажной оплётки не требуется. А если хочется паять без отмывки-да, тогда подаем припой с флюсом на каждый ножку, тут конечно нужна ловкость, но сама идея "пайки волной" останется неизменной. А пол часа I жалом греть каждую ножку-это совсем не эффективно и не очень качественно по итогу.

А можете видео такое сделать? И пригоден ли такой метод для других случаев любительской пайки?

Тем же методом паяют любые контроллеры, микросхемы, корпусов QFP, SQP и прочие (каплю припоя гоняют по ногам во флюсе). Метод универсален в том случае когда есть много контактных площадок в длину, тогда и паяют их "волной".
Наверно, за настоящими профессиональными фишками, надо обратится к монтажникам, они этим на хлеб зарабатывают, а туториалов с фишками много:
https://www.youtube.com/watch?v=6PB0u8irn-4
https://www.youtube.com/watch?v=b9FC9fAlfQE
https://youtu.be/UmD7F0--7Lc?t=702

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации