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

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

За 2 дня от светодиода до Верилога — это мощно. Было бы неплохо, чтобы в интернете появились подобные материалы написанные простым языком.

Цена вопроса в Новосибирске?
Если вы хотите послать своих детей в Новосибирск, вам нужно написать емейл организаторам

По вопросам можно обращаться по адресу info@school.iis.nsk.su (Татьяне Ивановне Тихоновой)

и задал вопрос, на который я расписал Владиславу ответ

Я сломал мозг пытаясь понять этот "вопрос". Ещё со скриншота:


Для многих открытие что для управления ездой по линии необязательно использовать процессор!

Простите меня, но вы все уже просто надоели с этим роботом. Для вас (него) это тоже было открытие в своё время — так может давайте ещё порассуждаем какие все глупые и не могут собрать 8086 из рассыпухи?


Я, будучи школьником, случайно попал на курсы PostgreSQL. Там тоже был такой заводной парень, который хотел научить детей всему что знал за неделю. Мне не передать словами, насколько это было неинтересно (при этом всём я очень любил кодить). ИМХО преимущества знания и программирования на ПЛИС также неочевидны по сравнению с ардуиной.


Вообще, попытайтесь придумать одну короткую фразу, почему нужно изучить ПЛИС. Это поможет правильно мотивировать студентов/учеников.

*** ИМХО преимущества знания и программирования на ПЛИС также неочевидны по сравнению с ардуиной. ***

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

Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция

https://habrahabr.ru/post/250511/

и Введение в дизайн харвера микросхем для тех программистов, которые этим никогда не занимались

http://panchul.com/2011/07/28/basics-of-hardware-design-for-software-engineers/


Описание что такое ПЛИС из первого текста:

… внутри FPGA по сути находится конструктор из тысяч логических элементов наподобие элементов в K155ЛА3, но в FPGA их можно соединять не руками с помощью проводов, а меняя содержимое специальной памяти, биты которое соединены с мультиплексорами, которые меняют логические функции ячеек FPGA и соединения между ними:


Описание RTL2GDSII flow — маршрут проектирования современных массовых микросхем, к которому идет путь от упражнения с ПЛИС (из второго текста):

В последние 25 лет дизайн чаще всего пишется на языке Verilog (в Европе и у военных – VHDL), после чего специальная программа (logic synthesis) превращает дизайн в граф из проводов и логических примитивов, другая программа (static timing analysis) сообщает дизайнеру, вписывается ли он в бюджет скорости, а третья программа (place-and-route) раскладывает этот дизайн по площадке микросхемы.

Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. – получается файл под названием GDSII, который отправляют на фабрику, и фабрика выпекает микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.

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

Это для вас как для эксперта, а для детей — и то и другое просто содержат логику робота. Т.е. меньше теории, больше практики. Теория интересна, в лучшем случае, студентам вузов.

Школьники бывают разные. В том же Новосибирске еще 30 лет назад были школьники с нетипичными вкусами к технологии. И тут все на практике — конструирование процессора с прощивкой его в ПЛИС — это тоже чистая практика.
Вот еще разъяснение из моего другого текста:

https://geektimes.ru/post/264234/

Я участвую в конференциях DAC c 1996 года и замечаю, когда те или иные темы становятся модными. Текущая мода — повышенный интерес к тематике ПЛИС / FPGA. Причем эта тематика популярна в этом году не только на DAC, но и среди нетехнических СМИ — в связи с покупкой Интелом компании по разработке FPGA под названием Altera. За $16.7 миллиардов долларов!

Когда в марте по интернету пошли слухи о сделке Intel-Altera, многие журналисты просто не поняли, чем занимается компания, за которую Интел решил уплатить такие бешенные деньги. Один домыслил, что Альтера якобы «главный конкурент интела по процессорам» (при том, что альтеровские FPGA — это вообще не процессоры, хотя процессор может стоять рядом с reconfigurable gates), другой — что Альтера якобы «производитель телекоммуникационного оборудования» (никакого телекоммуникационного оборудования Альтера не производит), третий — что Альтера якобы «контрактный производитель микросхем» аки TSMC (при том, что у Альтеры вообще нет своих фабрик).

Что такое ПЛИС / FPGA я на пальцах объяснил в другом посте на Хабре — Как начать разрабатывать железо, используя ПЛИС — пошаговая инструкция. Но повторим эту информацию снова:

В самом простом варианте FPGA состоит из матрицы однородных ячеек, в функцию каждой из которых можно поменять с помощью мультиплексоров, подсоединенных к битам конфигурационной памяти. Одна ячейка может стать гейтом AND с четырьмя вводами и одним выводом, другая — однобитным регистром и т.д. Загружаем в конфигурационную память последовательность битов из памяти — и в FPGA образуется заданная электронная схема, которая может быть процессором, контроллером дисплея и т.д.

ПЛИС-ы / FPGA — не процессоры, «программируя» ПЛИС (заполняя конфигурационную память ПЛИС-а) вы создаете электронную схему (хардвер), в то время как при программировании процессора (фиксированного хардвера) вы подсовываете ему цепочку написанных в память последовательных инструкций программы (софтвер).

Внизу — схема простейшего блока FPGA, в который входит look-up table (LUT) и flip-flop. Правда в этой схеме не показаны мультиплексоры, которые меняют функцию ячейки, и соединения с конфигурационной памятью.



Диаграммы, иллюстрирующие структуру FPGA:



И еще одна:




или вот еще:

https://geektimes.ru/post/264234/

Но как это возможно — для студента сделать микросхему? Ведь начальная плата за производство коммерческой партии микросхем на фабрике типа тайваньской TSMC (сноска: Taiwan Semiconductor Manufacturing Company), как правило, превышает миллион долларов.

Ответом является технология, которая называется FPGA (аббревиатура от англ. field programmable gate array, “программируемые пользователем вентильные матрицы”). Это специальные микросхемы, которые представляют собой матрицы из ячеек, логические функции и соединения между которыми можно многократно менять после изготовления. Они гораздо дороже и медленнее, чем обычные специализированные микросхемы, но для них нет “начального взноса” на производство. Сейчас на рынке есть студенческие платы с FPGA стоимостью менее $100, поэтому студенту и университетам для экспериментирования больше не нужно выкладывать крупные суммы. Более того, он может неограниченно менять формируемую в FPGA электронную схему, просто меняя ее конфигурационную память через кабель, подсоединенный к компьютеру. По гибкости это похоже на программирование, хотя суть другая — в программировании меняется последовательность инструкций процессора (программа, software), а в FPGA можно изменить сам процессор (аппаратура, hardware).
Тем самым использование ПЛИС делает восприятие электронных устройств школьником более объемным — как структура из хардвера и софтвера, а не только программирование черных ящиков, которые где-то выросли на дереве. Кроме этого, у этого есть хорошая привязка к школьной физике и математике.

Да, собирать 8086 из рассыпухи — занятие довольно нудное и неэффективное. Но простейший процессор на языке описания хардвера Verilog — это всего-лишь несколько сотен строк кода, его можно превратить синтезом в работаюшее устройство, прошитое FPGA, и школьник навсегда поймет как устроена хардверная начинка цифровых микросхем.
Отличная идея, а для взрослых такое будет массово в России или нет?
Для взрослых есть взрослые семинары, один из них организуется в этом году в Томске — nanoandgiga.com/ngc2017/digital-design

Вы, пожалуй, первый кто перевернет реальность детворы)

А в других городах Украины не планируете такие семинары для студентов и заинтересованных людей, например во Львове?
Возможно; напишите мне емейл на yuri.panchul@imgtec.com
Интересно, а поднимаются ли перед младшим поколением такие темы как:
1. Экономическая целесообразность применения простой логики и микроконтроллеров (МК дешевле чем россыпь микросхем логики)
2. Пригодность ремонта изделия.
3. Применение в практике полученных знаний.

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

ИМХО, самый приятный и запоминающийся процесс обучения — это практика. То есть, принести неработающий аппарат — и дать его починить. Ну и проследить за ходом мысли тех, кто и как его будет чинить.
Цель этих упражнений — это не научить чинить бытовую электронику (так не получится понять принципы разработки), а также не противостояние «микросхемы малой степени интеграции против микроконтроллера».

Цели:

1. Для большинства школьников — дать общее представление о логических кирпичиках, из которых строятся микросхемы внутри — концепции логического элемента, тактового сигнала, D-триггера, и общая идея как из этого конструируются устройства. Так же как в школе учат программирование, с концепциями переменной, цикла, условного выполнения.

2. Для особо заинтересовавшихся — вход в область разработки высокоинтегрированных гетерогенных микросхем, типа тех которые проектируются внутри Apple, Samsung итд. При этом микросхемы малой степени интеграции используются лишь как кратковременная промежуточная ступенька, а основные навыки разработки цифровой логики даются на ПЛИС/FPGA. Эти навыки потом можно перенести на разработку ASIC-ов. Сейчас эта область имеет шанс стать более массовой из-за появления специализированных чипов для фрагментированного рынка интернета вещей, а также возникновения специализированных чипов для компьютерного зрения и AI.

Цель этих упражнений — это не научить чинить бытовую электронику
а какая польза им будет от полученных знаний в наших современных условиях? Знания то интересно где-то применять, а не просто знать.
В любой теоретической части есть один большой недостаток — когда её много и она не подкрепляется практикой на примерах. Это сравнимо с тем, когда студенту диктуют в конспект одну теорию, и в какой-то момент он перестаёт понимать о чём идёт речь, но продолжает писать дальше в конспект. «Кирпичики» это не только основа, а по прежнему используемая элементная база в любой схемотехнике. Вот тут очень хороший пример:

а также не противостояние «микросхемы малой степени интеграции против микроконтроллера»
к сожалению, сейчас именно это и происходит, по причине дешевизны МК и меньших затрат на разработку и производство. + отремонтировать эту плату становится не возможно, из-за закрытого софта МК — что опять же на руку производителю. Есть электроника, где много режимов работы и цифровая индикация — там без МК вышла бы огромная плата. Но мне попадались чайники, пылесосы, вентиляторы, миксеры/измельчители где всего лишь одна или две кнопки вкл и выкл. И МК фактически применялся для создания паузы после включения и/или плавного запуска двигателя.
Практический результат — получение работы в компаниях, которые занимаются проектированием микросхем в России и Украине, например http://elvees.ru http://milandr.ru http://module.ru http://ncst.ru http://baikalelectronics.ru http://melexis.com и других
Единицы дойдут до этапа получения работы инженера-конструктора. При этом, вначале ещё должно быть соответствующее образование, и скорее всего определённый опыт работы в близкой сфере.
А какая альтернатива? Чтобы Россия до третьего тысячелетия использовала чипы спроектированные в США, Европе и Азии?
Альтернатива будет когда проявит инициативу государство. Причин сложившейся ситуации масса — глобализация, дешёвая рабочая сила в других странах, жёсткая конкуренция, быстрое устаревание электроники. Жизнь совсем другая чем в СССР, когда принципиальные схемы вкладывали внутрь документации.

Смысл не в том, что бы не учить программированию МК, те кто захочет знать больше базовых знаний о них, сами проявят инициативу. Тут смысл именно в использовании полученных знаний.
У меня есть несколько знакомых с образованием и опытом работы в сфере связанной с обслуживанием и ремонтом электронной аппаратуры. Все они бросили этим заниматься в своё время. Сейчас это просто не выгодно (цена ремонта порой получается дороже самого изделия).
Это вообще не про программирование микроконтроллеров. С программированием микроконтроллеров в России все в порядке. В России не в порядке с массовостью проектирования чипов (_не_ программирования их), в частности потому что большому количеству людей вообще не приходит в голову, что это возможно. Чипы для них на деревьях растут. Именно это нужно менять, начиная со школьников.
А как школьнику захотеть стать инженером, если он понятия не имеет в чем состоит собственно работа инженера? Подобные мероприятия могут дать толчок заинтересованности. Отсюда возьмутся заинтересованные студенты и перспективные работники.
Дело не в популяризации программирования как такового. Я всё пытаюсь донести, что знания в программировании МК могут пригодиться в очень и очень редких случаях, в 99% — это будет проектирование своего нового устройства или допиливание исходников (если таковые будут) чужих проектов опять же под себя.

Если бы к примеру было так:
К любому заводскому устройству прикладывались на сайте производителя исходники кода с комментариями, сам файл прошивки, а так же схема. Собственно оно так и должно быть, а не тот беспредел что есть сейчас.
Тогда и код можно подпилить не только себе, но и для кого-нибудь другого. А так же починить само устройство, если неисправен МК. И не важно, наш или не наш там МК.
Сейчас, у каждой шараги свои коммерческие и технические тайны, и ни кто не хочет ничего показывать.
А как школьнику захотеть стать инженером, если он понятия не имеет в чем состоит собственно работа инженера?
водить на экскурсии по предприятиям от школы и в рамках таких мероприятий как в этой теме надо. Тогда и представление будет.
Вы на это смотрите только с точки зрения ремонта, а как же защита интеллектуальной собственности? Вы знаете сколько времени и сил уходит на проектирование устройства и написание его логики? Алгоритмы не берутся из готовой коробки алгоритмов, они создаются. Использование МК один из способов защитить свою разработку, а вот для ремонта есть специальные сервисные центры, которым предоставляют эти МК с прошивкой на замену или же производитель сам предоставляет услуги ремонта своей электроники.
Кроме того, в таком случае делать клоны на устройства будет становиться все проще и проще. Это по меньшей мере глупо с точки зрения разработчика. Это вообще дискуссия не по теме, по крайней мере вы в ней не сильно разбираетесь. Электроника сейчас очень востребованное направление, многие айти фирмы открывают отделы по разработке, но у них большой недостаток квалифицированных кадров.
Специальности связанные с электроникой не сильно востребованы, поскольку школьники и их родители не понимают что это такое и что из себя представляет работа по данному направлению, какие перспективы она открывает. Посему подобные мероприятия очень даже полезны.

водить на экскурсии по предприятиям от школы и в рамках таких мероприятий как в этой теме надо. Тогда и представление будет.


Вы бывали на таких экскурсиях? Я была и не один раз. Они вообще ничего не дают, это показные выступления без всякой необходимой конкретики. Равно как и дни открытых дверей в университетах. Совсем другое дело, когда ты работаешь с производителем и тебе проводят экскурсию =)
Несколько не очень давних своих примеров:
1. Принесли глянуть кухонный комбаин bosch. В нём, кроме двигателя, пары концевых выключателей и небольшой (со спичечный коробок) платы с МК PIC16F… ничего нет. По большому счёту даже из рассыпухи-обвязки мало что есть. По всем признакам полетела прошивка в МК, потому что, всё что можно было прозвонить и проверить — всё проверил.
Звоню в официальный сервис.центр: стоимость заменяемой платы 50$ + ещё 50$ за ремонт. А не слишком ли это жирно за устранение программной ошибки в устройстве? Этот МК от силы стоит наверно 1$.
2. Посудомоечная машина в одном ресторане. На постоянной основе там есть человек, который не плохо разбирается в электрике и все неисправности в том числе по концевикам, пускателям, клапанам — всё делает сам, на протяжении многих лет. Но в один день, на табло вылезла ошибка С8, смысл её в том, что даже после устранения неисправности необходимо вызвать специалиста, который определённой комбинацией клавиш зайдёт в сервисное меню и сбросит ошибку в МК. Приехали специалисты, которые просидели пол дня обзванивая своих коллег, так как на данную модель посудомойки в сервис-мануале не написано как входить в сервисное меню и сбрасывать ошибки.

А ещё производители частенько любят не ставить блокировочные конденсаторы по питанию МК и другой электроники, а так же не делать гальваническую развязку между МК и управляемой высоковольтной частью (например симисторы).

Это всё к тому, что весь технический прогресс сводится к платной подписке обслуживания. Вначале посадить клиента на «крючёк», а затем выкачивать деньги.
Кроме того, в таком случае делать клоны на устройства будет становиться все проще и проще. Это по меньшей мере глупо с точки зрения разработчика.
Не только разработчика, а всей этой коммерческой организации. Основная цель производителя не сделать жизнь людей лучше, а получение прибыли. По этой причине, ничего не показывают и не рассказывают на экскурсиях. Производителю это не принесёт выгоды.
Алгоритмы не берутся из готовой коробки алгоритмов, они создаются. Использование МК один из способов защитить свою разработку
если это основная цель обучения и получения образования, кто будет и самое главное зачем делиться своими знаниями и опытом? Какой смысл растить конкурентов под своим боком? Изначально выстроен барьер в получении знаний, так и в практике их применений.
Большое спасибо за то, что Вы делаете. Если старшее поколение не найдет способа передачи своих знаний нынешним школьникам/студентам — будет что-то страшное. К сожалению, то, что сделали с образованием вынуждает работать гражданскому обществу параллельно официозу.
*** При этом нужно учитывать, что все изделия изготавливаются на зарубежной элементной базе ***

Цель таких занятий — изменить такую ситуацию, чтобы повысить долю российских микросхем в мире. Вот несколько слайдов из одной из моих презентаций на тему:






НЛО прилетело и опубликовало эту надпись здесь
?? Где вы нашли «престарелых диссидентов» и увидели политоту ??

Скоро убежим все в WEB программирование =)

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

Публикации