Comments 25
Хотелось бы в общих чертах понять: о чем говорит иностранец? (с) Иван Васильевич меняет профессию.
Отчет о мероприятии.
Из уважения к русскоговорящим американским студентам, сделан на английском. )
У меня на этой неделе не было времени чтобы делать два отчета - на английском и на русском. Могу конечно перевести с своего английского на русский гугл-транслейтом, но я так делать не люблю, так как получается коряво. ИИ меня вообще бесит. Цель заметки - показать всякие штуки, которые можно вставить и в программу российких вузов, но для этого нужно преподавателям этих вузов просмотреть и видео на английском. Так что то что текст на английском теоретически не должно их смущать. Материалы такого рода на русском есть в программе российкой Школы Синтеза Цифровых Схем.
У меня на этой неделе не было времени чтобы делать два отчета - на английском и на русском. Могу конечно перевести с своего английского на русский гугл-транслейтом, но я так делать не люблю, так как получается коряво. ИИ меня вообще бесит. Цель заметки - показать всякие штуки, которые можно вставить и в программу российких вузов, но для этого нужно преподавателям этих вузов просмотреть и видео на английском. Так что то что текст на английском теоретически не должно их смущать. Материалы такого рода на русском есть в программе российcкой Школы Синтеза Цифровых Схем.
Чтобы изменить ситуацию промышленность должна участвовать в образовательном процессе. И лучше не в форме специализации и углублённого изучения, а в форме науки и разработки.
Мы говорим о недостатках не только "углубленного" изучения, а о необходимости поменять всю базу изучения. Ведь не заставляем же мы студентов-микроэлектронщиков делать лабу по изготовлению транзистора на радиолампе? Зачем же тогда хранить в программе карты Карно и JK-триггеры, которые никогда не возникают в реальной жизни, но занимают место в программе для конвейеров и FIFO, которые используются каждый день. См. далее https://habr.com/en/articles/961364/comments/#comment_29040950
В вузах есть дисциплины стандарта и дисциплины по выбору вуза. Сам вуз влияет только на дисциплины по выбору. Чтобы поставить новый курс преподаватели должны не "учиться у других преподавателей", а сначала получить компетенции в данном вопросе через участие в нир или ниокр. А студенты должны с 3-4 курса участвовать в этих ниокр и получать зарплату. Все мне известные примеры успешного внедрения новых технологий в учебный процесс содержали эти обстоятельства - "базы" мфти в советские времена и программы ципс, r&d лаборатории nokia и харрис, NI, Intel, да Беркли возьмите с её исследовательскими центрами..
К примеру наша кафедра начала осваивать dsp процессоры в текущих разработках 30 лет назад. 25 лет назад начала применять fpga. 20 лет назад был поставлен курс цос на dsp и fpga как дисциплина по выбору, и студенты участвовали в текущих разработках. Причём модернизация учебного процесса велась по сути на зарплату тех, кто вёл ниокр - даже оборудование для лабораторий закупалось и ремонт помещений делался. А последний год ниокр перестали практически финансироваться, крупная компания из перечисленных выгребла всю молодёжь, а оставшиеся сидят на смешных бюджетных ставках. В итого - через 5 лет просто не останется преподавателей, разбирающихся в предмете, и тогда да - корпорациям придётся открывать свои учебные заведения, как и было в 90-е, когда вузы не финансировались и сотрудники разбежались в коммерческие конторы.
*** А студенты должны с 3-4 курса участвовать в этих ниокр и получать зарплату. ***
С одной стороны вы как-бы правы. Я вот сам участвовал в разработках на базовой кафедре МФТИ со 2 курса начиная с 1988 года (писал back-end Си-компилятора для Электроники ССБИС) и получал за это деньги. Также когда мы берем практикантов в Samsung Advanced Computing Lab в Калифорнии, мы платим им зарплату.
Однако и в первом, и во второму случае - что я, что наши практиканты до этого имели опыт собственных бесплатных проектов. Брать студента который ничего не делал кроме ответов на тривиальные упражнения в учебнике и платить ему деньги - имхо маразм. Я интервьировал много студентов на работу и хорошо знаю разницу между студентом который только учился по программе, и тех кто делал всякие открытые проекты сам вне программы - вот таких имеет смысл брать и платить им зарплату.
*** В вузах есть дисциплины стандарта и дисциплины по выбору вуза. Сам вуз влияет только на дисциплины по выбору. ***
А как создается этот образовательный стандарт? У меня зашла дискуссия об этом, когда я был в Мексике и спросил, каким образом появилась их программа, которая была копией программы которую я видел в самых разных странах - от Бразилии до Средней Азии и Филиппин. Они мне сказала что программу спустило на них правительство, которое создало ее по рекомендациям от IEEE. Причем похоже это случилось еще в середине 1990-х годов, а авторами были люди, которые сами учились в 1970-е годы, и протащили туда кучу вещей из 1950-1970-х, которые были с тех пор полностью автоматизированы и должны подаваться не так (*), а вот то что стало актуальным в конце 1990-х (например конвейерная обработка данных без которой не были возможно высокоскоростные сетевые роутеры и графические карты) - там просто нет. И вот этот "стандарт" с тех пор тащат. Каков механизм его изменения?
(*) Что должно подаваться не так, примеры:
Ручная оптимизация логических выражений через карты Карно и подобные методы - бессмысленны, потому что программа синтеза сделает это лучше. Вместо этого интуицию как писать комбинационную логику с меньше задержкой лучше нарабатывать рассматривая критические пути в схемах, синтезированных из разного кода - чтобы учащиеся не писали каскады приоритетной логики или не использовали тяжелые операции типа комбинационного умножения.
Никто уже 30 лет не моделирует задержки в RTL коде дизайна на верилоге с помощью конструкций "# N". Вместо этого используется статический анализ тайминга (STA). Эта конструкция употребляется в верификационном окружении (testbenches), причем не в такой наивной ad-hoc форме, как это дается во многих вузах. Да, есть некоторые компании, у которых с 1990-х сохранилось требование писать "a <= #1 b" в коде дизайна, но это не принято в коде большинства компаний.
В реальной работе современного проектировщика микросхем никогда не появляются JK и T-триггеры, их просто кому-то было жалко выбрасывать из образовательных стандартов с 1970-х когда они реально использовались с микросхемами малой степени интеграции (я знаю два исключения то есть "никогда" можно заменить на "в 99.9%"). Также давать D-защелки (D-latch) в начале вводного курса цифровой схемотехники - это сбивать студентов с толку, потому что их сначала нужно натренировать делать дизайны на D-триггерах (D-flip-flop которые являются элементом состояния в 99.99% случаях), а D-latch появляется только когда они доходят до экономии динамического энергопотребления c помощью clock gater, то есть через год после тренировки на других вещах (построение конечных автоматов, конвейеров, DFF-FIFO, использование памяти итд). Помимо clock gater (gate-and-latch) D-latch используется для latch arrays (10% экономия энергопотребления) и time borrowing (продвинутая техника для людей с 10 летним опытом).
Давать неактуальную 50 лет информацию и информацию в неправильном порядке - это во-первых отнимать часы у актуальной информации, а во вторых, возбуждать всякие дурные дискуссии, когда кто-то мне начинает доказывать что счетчики надо делать на T-триггерах, а мне приходится объяснять, что это несовместимо с современной процедурой STA и бывает в одном на миллион случае для экономии энергопотребления с кучей constraints.
Все это порождает людей, которые ничего не умеют делать, проваливают интервью, но умничают в интернет форумах.
А как создается этот образовательный стандарт?
Насколько я раньше знал, федеральные программы составляются по ээ.. откликам промышленности, для которой готовят специалистов. Ну к примеру, раньше всегда готовили для оборонки, поэтому пока в оборонку не пришли dsp и fpga, в учебной программе их и не было. А сейчас на хх.ру что не ээ.. предприятие, то сразу xilinx и верилог. То есть первый аспект - модернизация промышленности, которая выполняет гос заказы, и второй - запрос этой промышленности к минобр.
Если Вы говорите про российские программы, то механизм может быть следующим - предприятия, имеющие гос значимость, должны внедрять результаты разработки и запрашивать модернизацию учебных программ. Понятно, что какая нить лаборатория хоть Самсунга, хоть ещё какой инофирмы тут никогда никакого веса иметь не будет, хоть в вузе факультет откроет. А вот разного рода ядра вполне в этот процесс вписываются, особенно сейчас. И что является ключевым элементом этой схемы? НИР в вузах, как источник нового в промышленности и исполнитель модернизации учебного процесса.
Ну а насчет оплаты студентов - там же тоже отбор идёт - сначала курсовики и работа по спецпрограмме, потом только участие в настоящей нир. Деньги зарабатываются, продукт без денег это эксплуатация и кидалово)
А вот разного рода ядра вполне в этот процесс вписываются, особенно сейчас.
Ну собственно российская Школа Синтеза Цифровых Схем от Ядра сейчас это и делает. Я как со-основатель Школы в 2020 году и автор исходного плана технической программы про это знаю. На школе есть конвейеры и FIFO, то есть прикручена к реальным нуждам промышленного проектирования:
Мы такое делали в вузе - тоже был для всех предприятий города технологический центр. Но чтобы изменить федеральные учебные программы наши предприятие должны были выйти в министерство образования, а им, как только дают студентов, на это пофик. Получалось, что мы ставили новые курсы за счёт средств по нир - на свою зарплату, а предприятия, получив норм специалистов, сразу же забивали на нир для вуза, а то и преподавателей потенциальных выгребали, и потом всё повторялось - нет молодых специалистов и технологий, запрос в вуз, потом ряд нир, накопление компетенций в вузе, потом новые технологии, потом новые курсы - оборачиваемость минимум 5 лет.
Я такое видел 2 раза за свою жизнь - мощная кафедра, несколько лабораторий от гидроаккустики и радаров до аппаратного Stacker -а, потом полный развал из за потери финансирований в 90-е, потом снова развитие, договора по всему городу, центр технологий, новые курсы, куча молодёжи в r&d, а потом обратно - прекращение финансирования нир, отток молодёжи, выгребание специалистов.
Те, кто преподают технологии, не должны получать меньше чем те, кто ими пользуется. А у нас промышленность всегда говорит пойдем а нам, нафик этот вузик. Вот, собственно, и вся суть вопроса
Чтобы поставить новый курс преподаватели должны не "учиться у других преподавателей", а сначала получить компетенции в данном вопросе через участие в нир или ниокр.
Ко всему, индустрия микроэлектроники - это ТНК и NDA,
а высшее образование нередко национально ориентировано и гласно.
Будет ли консорциум из какого-нибудь Samsung, ASML, TSMC и nVidia заморачиваться созданием своего футуристического офшорного ВУЗа на лайнере класса Oasis и поиском по всему миру талантливых абитуриентов-школьников для него? :)
Или "Мы назначим зарплату, а они там как-нибудь сами разберутся"?
Ответ очевиден. Последствия - тоже.
Ерунда полная. Samsung, AMD, Apple, Juniper и подобные компании уже 25 лет используют в дизайнах credit-based flow control (это видно из кода 25-летней давности), а вузы этого не преподают. Не потому что это секрет (это спрашивают на интервью), а из-за лени преподавателей. В Стенфорде используют учебник 2012 года, в котором этого нет, то есть у них весь flow control заканчивается на double buffer. В Кембридже вышла книга со спонсорством от ARM, но без примеров:
https://verilog-meetup.com/2024/06/16/focus-on-microarchitecture/
Digital Design: A Systems Approach by William James Dally and R. Curtis Harting. This book covers pipelines, double buffering, it mentions FIFOs and arbitration. However this book does not go far enough, for example it does not cover credit-based flow control, widely used in large electronic companies instead of double buffering.
Modern System-on-Chip Design by David J. Greaves. This book does cover credit-based flow control, interconnects and other topics but offers no code examples. The students who study it can talk about the ideas but will have a hard time implementing them unless they do some open projects before joining the industry.
Так ВУЗ даёт базу. Специализация уже на производстве должна осуществляться. Электроника настолько широка, что научить всему невозможно. Если вы берете человека после ВУЗа, то должны сконцентрироваться на задаче отобрать людей, обладающих базой, которая впоследствии им позволит быстрее понять и усвоить вашу специфику. Соответственно и вопросы интервью должны быть заточены под эту цель. А то, что вы спрашиваете, это уже скорее для человека с опытом из конкурирующей или смежной фирмы. (Это только если нет целевой ВУЗовской подготовки по специальности. В этом случае расхождение ожиданий и реальности может быть вызвано устареванием учебной программы).🙂
База за 30 лет сменилась. Во многих вузах программа сделана на основе рекомендаций IEEE середины 1990-х годов, которые писались людьми, обученными в 1970-х. Поэтому там тратится куча времени на штуки типа карт Карно, которые никогда не появляются в реальной работе инженера нигде вообще. Их изобрели в 1953 году, причем они быстро устарели с изобретением метода Куайна-Мак-Класки, после чего оптимизация логических выражений комбинационной логики была полностью автоматизирована в 1980-х программой Espresso logic optimizer. Но эта фигня сидит в программе и отнимает место от конвейеров, FIFO, арбитров, valid/ready и прочих вещей, которые инженер должен знать на зубок куда бы не пошел - в американские Apple, NVidia, AMD, Samsung или в российские Syntacore, Элвис, Миландр итд.
И такой фигни есть целый список - неактуальные вещи не дают вложить в программу актуальные. И нет, у компаний нет возможности организавать внутри университет и учить три года всех с нуля всем аспектам микроархитектуры и верификации.
Это справедливо — неактуальные и небазовые вещи должны выбрасываться, конечно.
Но вопрос — выпускники, про которых вы говорите, это же бакалавры?
Я говорю и про бакалавров, и про магистров, хотя магистры к моменту выпуска сами чему-то до-обучаются, то есть они по крайней мере знают, что такое FIFO, хотя многие пишут его с ошибками (например автоматически полагая что оно должно иметь размер степени двойки). Фишка в том, что то что нужно для работы, большинство выпускников не знают, а то что они знают - этому я могу научить способного выпускника средней школы за два месяца. Посему я не понимаю, зачем так бездарно тратится 4-6 лет жизни в самые эффективные для обучения и первые проекты годы.
Фишка в том, что то что нужно для работы, большинство выпускников не знают, а то что они знают - этому я могу научить способного выпускника средней школы за два месяца.
Т.о. большая часть курсов для работы нафиг не нужна? Скажем, вот этот несчастный матан? А зачем тогда вы не набираете просто школьников и не прогоняете через 2 месяца в конторе? Она вполне себе это может позволить за зарплату нескольких хороших преподавателей, не так ли?
Считается, что выпускник проверен на способность обучатья, а школьника такого ещё поискать.
Кое-что из матана нужно, так как GPU в конторе делает умножение матриц для vieport transform и другую графическую математику, правда скорее на уровне физматшколы и первого-второго курса, а не вот все это.
А зачем тогда вы не набираете просто школьников и не прогоняете через 2 месяца в конторе? Она вполне себе это может позволить за зарплату нескольких хороших преподавателей, не так ли?
В текущей ситуации я бы так и сделал (брать школьников матолимпиадного типа и доводить их до кондиции за несколько месяцев интенсивом по языкам описания аппаратуры, микроархитектуре, верификации и лабам на FPGA платах и с EDA софтвером), но убедить в таком революционном шаге менеджмент крупных электронных компаний - нереально.
(брать школьников матолимпиадного типа и доводить их до кондиции за несколько месяцев интенсивом по языкам описания аппаратуры, микроархитектуре, верификации и лабам на FPGA платах и с EDA софтвером)
Юрий, ну жизнь-то длинная, а институт в ней всего лишь раз. Работать этим школьникам примерно 65-20 = 45 лет. На этом фоне 4-6 лет не так важны. Кроме того, у людей матолимпиадного уровня есть некоторые запросы на то, чтобы не быть просто исполнителем. А ваши курсы строго заточены под ваши, Юрия, нужды здесь и сейчас. Ну натаскаете его, как техника, ну проработает он 5 лет, а дальше что?
Ну и есть громадные сомнения, что вот это всё вами перечисленное, изложенное в виде интенсива действительно хорошо уложится в голове. Те же лабы на дискретке позволяют потрогать комбинаторную логику руками, а с FPGA у вас получается просто текст в текст.
Я совершенно не против лаб на дискретке на пару сессий, если они привязаны к лабам на верилоге и в конечном итоге с работой. Показать работу D-триггера на микросхеме малой степени интеграции cmos 4013 в связке с 555 и частотой 1 герц - это гораздо нагляднее чем показывать это скажем на симуляторе. Точто также я не против показать на макетной плате с микросхемами малой степени интеграции работу мультиплехора, приоритетного энкодера, счетчика, сдвигового регистра. Даже конечный автомат на три микросхемы. Это все привязывается к верилогу и показывает что схема - это схема, а не программа.
Но на хрена под эту тему заодно (потому что жалко выкинуть) показывать скажем T-триггеры? Чтобы они потом спорили в другом курсе, что так счетчики строить "красивее" чем с комбинацией сумматора и D-триггеров, а преподаватель отвлекал весь класс на 15 минут объяснениями, что T-триггеры ломают все timing constraints которые мы будем обсуждать дальше в курсе по VLSI? И что да, такое бывает в 1 (одном) случае из миллиона для экстремальной экономии энергопотребления, но пробовать такое в реальных дизайнах не надо.
Я выше в ветке описал другие случаи такого мусора.
а преподаватель отвлекал весь класс на 15 минут объяснениями
Один раз 15 минут — это чепуха. Вот тут точно до мышей добрались. Месяц продолдонить — очень неприятно, да.
То есть, часть старья становится базой, на которой желательно начинать курс, двигаясь к вершинам, а другая часть старья выкидывается. В вашем примере D-триггеры остаются, а T-триггеры выбрасываются.
Кроме того, у людей матолимпиадного уровня есть некоторые запросы на то, чтобы не быть просто исполнителем. А ваши курсы строго заточены под ваши, Юрия, нужды здесь и сейчас. Ну натаскаете его, как техника, ну проработает он 5 лет, а дальше что?
Наоборот, потому что курсы наполнены мусором, нет часов чтобы дать ему инструменты для креативной работы микроархитектором чипа. Что делать работодателю с тем кто прошел карты Карно и конечный автомат светофора, но не понимает как прикрутить FIFO к конвейеру? Тратить на его обучение время старших инженеров? В большинстве случает такого интерна (это я видел при интервьировании интернов бывших в других компаниях)) просто используют для чего-то вспомогательного - например написать скрипт на питоне для вытаскивания данных их отчета энергопотребления.
Ну это претензии к конкретному курсу, а не замена вышки на «несколько месяцев интенсива». То есть, надо вытащить вот этот, этот и этот курсы, заменить их на вот это, это и это. Возможно сделать лабы более интенсивными и т.д., и т.п.
Понятно, что «знал бы прикуп, жил бы в Сочи» — если понятно, какая будет жизнь, то можно из за год пройти ровно то, что требуется.
Но вот так наперёд сказать, что в институте нужно проходить линейную алгебру, потому, что сейчас в Samsung'е есть позиция разработчика графических чипов — это как-то странно. Да ещё и с учётом известного классового противостояния нанимателей и работников, когда работнику сильно рискованно затачиваться под конкретного нанимателя.
Как изменить ситуацию, что вузы готовят не кадры для промышленности, а следущее поколение преподавателей