В тексте куча немерянной хрени, например : "в первых версиях C даже не было булевого типа — выражения сравнения просто возвращали 1 или любое ненулевое (истина) или 0 (ложь). "
Специального булевского типа в Си не было 30 лет - с начала 1970-х до стандарта C99.
Ни в K&R не было, ни в ANSI C в 1989 году. В те времена bool делали через define, typedef и потом enum (с ANSI C 1989). Это не "первые версии".
Вы весь текст с помощью ChatGPT написали? Я сразу по заголовку догадался. Статьи с такими заголовками пишут с помощью LLM, которые там пургу гонят.
Очищение текста делает человек, то есть автор, я именно о таком подходе говорил, а улучшения через просьбу к ЛЛМ улучшить текст, работает плохо - это верно.
В случае который я описал, "чистить" код для конечного автомата чтобы превратить его в код для конвейера - это то же самое что написать все с чистого листа - там другая структура кода.
Не у всех есть литературный талант, чтобы подать мысль ярко, у кого такой талант есть, тому ЛЛМ не нужен, а у кого отсутствует, но есть чем поделится, ЛЛМ помогает.
Если у кого-то нет литературных талантов, то ему просто не нужно писать текстов, а не засорять вселенную выдачами ЛЛМ. Как калеке на инвалидном кресле не нужно пытаться выехать на стадион во время матча и участвовать в игре в футбол.
Бывает люди, которым есть чем поделиться, но для меня как для читателя лучше читать косноязычные два абзаца описания конкретного фактического опыта, а не раздутый на много страниц ллм-ый текст.
В моей области (проектирование микроархитектуры на языке описания аппаратуры SystemVerilog) тот процесс, который описали (черновик - очищение) как правило не работает. Оно иногда начинает ходит кругами, типа "вот дизайн" - "нет, я же просил конвейерный дизайн, а ты выдал конечный автомат" - "ах, извините, вот конвейерный дизайн" - "нет, это снова конечный автомат". То есть нужно все удалить и сделать заново, а не "очищать".
Что касается текстов, то тексты оно пишет нудные и бездарные. Статьи в СМИ и даже на Хабре тоже нужно писать талантливо, а у AI нет чувства текста, все какое-то разжевывание, перечисления итд.
Ваш коммент тоже ИИ написало? Калькулятор дает точные в пределах IEEE 754 результаты, а ИИ глючит, фантазирует и пишет всякую ерунду - например когда не смогло решить задачку начало врать что его решение не проходит тест якобы потому , что данные ему подмодули неправильные.
С суммаризацией не лучше - у нас в компании пробовали чтобы ИИ суммаризовало обсуждение на совещаниея, так это было смешно читать - ИИ отхватывало какой-то побочный неважный момент, а всю суть материала совещания пропускало.
Неуважение к читателю. В худшем случае - скармливание ему "ИИ помоев" вместо описания аутентичного опыта или анализа от экспертов. Как минимум неуважение к времени читателя через раздувание текста ИИ-водой.
А вот разного рода ядра вполне в этот процесс вписываются, особенно сейчас.
Ну собственно российская Школа Синтеза Цифровых Схем от Ядра сейчас это и делает. Я как со-основатель Школы в 2020 году и автор исходного плана технической программы про это знаю. На школе есть конвейеры и FIFO, то есть прикручена к реальным нуждам промышленного проектирования:
Ерунда полная. Samsung, AMD, Apple, Juniper и подобные компании уже 25 лет используют в дизайнах credit-based flow control (это видно из кода 25-летней давности), а вузы этого не преподают. Не потому что это секрет (это спрашивают на интервью), а из-за лени преподавателей. В Стенфорде используют учебник 2012 года, в котором этого нет, то есть у них весь flow control заканчивается на double buffer. В Кембридже вышла книга со спонсорством от ARM, но без примеров:
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.
Кроме того, у людей матолимпиадного уровня есть некоторые запросы на то, чтобы не быть просто исполнителем. А ваши курсы строго заточены под ваши, Юрия, нужды здесь и сейчас. Ну натаскаете его, как техника, ну проработает он 5 лет, а дальше что?
Наоборот, потому что курсы наполнены мусором, нет часов чтобы дать ему инструменты для креативной работы микроархитектором чипа. Что делать работодателю с тем кто прошел карты Карно и конечный автомат светофора, но не понимает как прикрутить FIFO к конвейеру? Тратить на его обучение время старших инженеров? В большинстве случает такого интерна (это я видел при интервьировании интернов бывших в других компаниях)) просто используют для чего-то вспомогательного - например написать скрипт на питоне для вытаскивания данных их отчета энергопотребления.
Я совершенно не против лаб на дискретке на пару сессий, если они привязаны к лабам на верилоге и в конечном итоге с работой. Показать работу D-триггера на микросхеме малой степени интеграции cmos 4013 в связке с 555 и частотой 1 герц - это гораздо нагляднее чем показывать это скажем на симуляторе. Точто также я не против показать на макетной плате с микросхемами малой степени интеграции работу мультиплехора, приоритетного энкодера, счетчика, сдвигового регистра. Даже конечный автомат на три микросхемы. Это все привязывается к верилогу и показывает что схема - это схема, а не программа.
Но на хрена под эту тему заодно (потому что жалко выкинуть) показывать скажем T-триггеры? Чтобы они потом спорили в другом курсе, что так счетчики строить "красивее" чем с комбинацией сумматора и D-триггеров, а преподаватель отвлекал весь класс на 15 минут объяснениями, что T-триггеры ломают все timing constraints которые мы будем обсуждать дальше в курсе по VLSI? И что да, такое бывает в 1 (одном) случае из миллиона для экстремальной экономии энергопотребления, но пробовать такое в реальных дизайнах не надо.
Я выше в ветке описал другие случаи такого мусора.
Вы слишком впечатлительны от текстов от журналистов. Еще лет пять назад было несколько статей в СМИ с заголовками типа "ИИ от Synopsys спроектировало чип в Самсунге!" Однако при внимательном рассмотрении выяснилось, что речь идет не о проектировании (на уровне микроархитектуры, регистровых передач итд), а о небольшой (на несколько процентов) оптимизации размещения и трассировки (floorplanning - размещение блоков, placement - размещение стандартных ячеек, routing - соединения). Фишка в том, что автоматическому place&route сто лет в обед - это продавала еще компания Silicon Valley Research в конце 1970-х годов. Проектированием это не является. С таким же успехом можно писать статьи "Microsoft Word пишет романы!"
*** А студенты должны с 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.
Все это порождает людей, которые ничего не умеют делать, проваливают интервью, но умничают в интернет форумах.
Кое-что из матана нужно, так как GPU в конторе делает умножение матриц для vieport transform и другую графическую математику, правда скорее на уровне физматшколы и первого-второго курса, а не вот все это.
А зачем тогда вы не набираете просто школьников и не прогоняете через 2 месяца в конторе? Она вполне себе это может позволить за зарплату нескольких хороших преподавателей, не так ли?
В текущей ситуации я бы так и сделал (брать школьников матолимпиадного типа и доводить их до кондиции за несколько месяцев интенсивом по языкам описания аппаратуры, микроархитектуре, верификации и лабам на FPGA платах и с EDA софтвером), но убедить в таком революционном шаге менеджмент крупных электронных компаний - нереально.
Все по делу. К счастью, в нашей организации (Samsung Advanced Computing Lab) начальство не заставляет использовать ИИ. Говорит типа "если сможете найти применение этому - Ок, а нет - не парьтесь".
Я говорю и про бакалавров, и про магистров, хотя магистры к моменту выпуска сами чему-то до-обучаются, то есть они по крайней мере знают, что такое FIFO, хотя многие пишут его с ошибками (например автоматически полагая что оно должно иметь размер степени двойки). Фишка в том, что то что нужно для работы, большинство выпускников не знают, а то что они знают - этому я могу научить способного выпускника средней школы за два месяца. Посему я не понимаю, зачем так бездарно тратится 4-6 лет жизни в самые эффективные для обучения и первые проекты годы.
Мы говорим о недостатках не только "углубленного" изучения, а о необходимости поменять всю базу изучения. Ведь не заставляем же мы студентов-микроэлектронщиков делать лабу по изготовлению транзистора на радиолампе? Зачем же тогда хранить в программе карты Карно и JK-триггеры, которые никогда не возникают в реальной жизни, но занимают место в программе для конвейеров и FIFO, которые используются каждый день. См. далее https://habr.com/en/articles/961364/comments/#comment_29040950
База за 30 лет сменилась. Во многих вузах программа сделана на основе рекомендаций IEEE середины 1990-х годов, которые писались людьми, обученными в 1970-х. Поэтому там тратится куча времени на штуки типа карт Карно, которые никогда не появляются в реальной работе инженера нигде вообще. Их изобрели в 1953 году, причем они быстро устарели с изобретением метода Куайна-Мак-Класки, после чего оптимизация логических выражений комбинационной логики была полностью автоматизирована в 1980-х программой Espresso logic optimizer. Но эта фигня сидит в программе и отнимает место от конвейеров, FIFO, арбитров, valid/ready и прочих вещей, которые инженер должен знать на зубок куда бы не пошел - в американские Apple, NVidia, AMD, Samsung или в российские Syntacore, Элвис, Миландр итд.
И такой фигни есть целый список - неактуальные вещи не дают вложить в программу актуальные. И нет, у компаний нет возможности организавать внутри университет и учить три года всех с нуля всем аспектам микроархитектуры и верификации.
В тексте куча немерянной хрени, например : "в первых версиях C даже не было булевого типа — выражения сравнения просто возвращали 1 или любое ненулевое (истина) или 0 (ложь). "
Специального булевского типа в Си не было 30 лет - с начала 1970-х до стандарта C99.
Ни в K&R не было, ни в ANSI C в 1989 году. В те времена bool делали через define, typedef и потом enum (с ANSI C 1989). Это не "первые версии".
Вы весь текст с помощью ChatGPT написали? Я сразу по заголовку догадался. Статьи с такими заголовками пишут с помощью LLM, которые там пургу гонят.
В случае который я описал, "чистить" код для конечного автомата чтобы превратить его в код для конвейера - это то же самое что написать все с чистого листа - там другая структура кода.
Если у кого-то нет литературных талантов, то ему просто не нужно писать текстов, а не засорять вселенную выдачами ЛЛМ. Как калеке на инвалидном кресле не нужно пытаться выехать на стадион во время матча и участвовать в игре в футбол.
Бывает люди, которым есть чем поделиться, но для меня как для читателя лучше читать косноязычные два абзаца описания конкретного фактического опыта, а не раздутый на много страниц ллм-ый текст.
В моей области (проектирование микроархитектуры на языке описания аппаратуры SystemVerilog) тот процесс, который описали (черновик - очищение) как правило не работает. Оно иногда начинает ходит кругами, типа "вот дизайн" - "нет, я же просил конвейерный дизайн, а ты выдал конечный автомат" - "ах, извините, вот конвейерный дизайн" - "нет, это снова конечный автомат". То есть нужно все удалить и сделать заново, а не "очищать".
Что касается текстов, то тексты оно пишет нудные и бездарные. Статьи в СМИ и даже на Хабре тоже нужно писать талантливо, а у AI нет чувства текста, все какое-то разжевывание, перечисления итд.
Ваш коммент тоже ИИ написало? Калькулятор дает точные в пределах IEEE 754 результаты, а ИИ глючит, фантазирует и пишет всякую ерунду - например когда не смогло решить задачку начало врать что его решение не проходит тест якобы потому , что данные ему подмодули неправильные.
С суммаризацией не лучше - у нас в компании пробовали чтобы ИИ суммаризовало обсуждение на совещаниея, так это было смешно читать - ИИ отхватывало какой-то побочный неважный момент, а всю суть материала совещания пропускало.
Неуважение к читателю. В худшем случае - скармливание ему "ИИ помоев" вместо описания аутентичного опыта или анализа от экспертов. Как минимум неуважение к времени читателя через раздувание текста ИИ-водой.
Текст написан с помрщью ИИ
В принципе я и паяльник поддерживаю, я даже недавно заметку про пайку написал, но только на английском, пока на Хабре на русском не писал.
https://verilog-meetup.com/2025/11/08/an-update-on-soldering-recommendations/
Сделал видео как собственно паять:
https://youtube.com/shorts/Za0EDinAUCQ?si=Pz7_ChX2tCPrzxZs
Векторизирующие компиляторы были уже для Cray-1 (1976) и Cyber STAR (1974)
Ну собственно российская Школа Синтеза Цифровых Схем от Ядра сейчас это и делает. Я как со-основатель Школы в 2020 году и автор исходного плана технической программы про это знаю. На школе есть конвейеры и FIFO, то есть прикручена к реальным нуждам промышленного проектирования:
https://engineer.yadro.com/chip-design-school/
Ерунда полная. 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.
Наоборот, потому что курсы наполнены мусором, нет часов чтобы дать ему инструменты для креативной работы микроархитектором чипа. Что делать работодателю с тем кто прошел карты Карно и конечный автомат светофора, но не понимает как прикрутить FIFO к конвейеру? Тратить на его обучение время старших инженеров? В большинстве случает такого интерна (это я видел при интервьировании интернов бывших в других компаниях)) просто используют для чего-то вспомогательного - например написать скрипт на питоне для вытаскивания данных их отчета энергопотребления.
Я совершенно не против лаб на дискретке на пару сессий, если они привязаны к лабам на верилоге и в конечном итоге с работой. Показать работу D-триггера на микросхеме малой степени интеграции cmos 4013 в связке с 555 и частотой 1 герц - это гораздо нагляднее чем показывать это скажем на симуляторе. Точто также я не против показать на макетной плате с микросхемами малой степени интеграции работу мультиплехора, приоритетного энкодера, счетчика, сдвигового регистра. Даже конечный автомат на три микросхемы. Это все привязывается к верилогу и показывает что схема - это схема, а не программа.
Но на хрена под эту тему заодно (потому что жалко выкинуть) показывать скажем T-триггеры? Чтобы они потом спорили в другом курсе, что так счетчики строить "красивее" чем с комбинацией сумматора и D-триггеров, а преподаватель отвлекал весь класс на 15 минут объяснениями, что T-триггеры ломают все timing constraints которые мы будем обсуждать дальше в курсе по VLSI? И что да, такое бывает в 1 (одном) случае из миллиона для экстремальной экономии энергопотребления, но пробовать такое в реальных дизайнах не надо.
Я выше в ветке описал другие случаи такого мусора.
Вы слишком впечатлительны от текстов от журналистов. Еще лет пять назад было несколько статей в СМИ с заголовками типа "ИИ от Synopsys спроектировало чип в Самсунге!" Однако при внимательном рассмотрении выяснилось, что речь идет не о проектировании (на уровне микроархитектуры, регистровых передач итд), а о небольшой (на несколько процентов) оптимизации размещения и трассировки (floorplanning - размещение блоков, placement - размещение стандартных ячеек, routing - соединения). Фишка в том, что автоматическому place&route сто лет в обед - это продавала еще компания Silicon Valley Research в конце 1970-х годов. Проектированием это не является. С таким же успехом можно писать статьи "Microsoft Word пишет романы!"
Вы путаете золотоискателей и тех, кто продаете кирки золотоискателем.
У нас есть группа по дизайну чипов для ускорения ИИ. Из этого не следует что мы должны использовать ИИ для дизайна этих чипов.
Я вот разработчик GPU для быстрого выполнения трехмерных игр на телефоне. Из этого не следует что люблю играть в трехмерные шутеры сам.
*** А студенты должны с 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.
Все это порождает людей, которые ничего не умеют делать, проваливают интервью, но умничают в интернет форумах.
Кое-что из матана нужно, так как GPU в конторе делает умножение матриц для vieport transform и другую графическую математику, правда скорее на уровне физматшколы и первого-второго курса, а не вот все это.
В текущей ситуации я бы так и сделал (брать школьников матолимпиадного типа и доводить их до кондиции за несколько месяцев интенсивом по языкам описания аппаратуры, микроархитектуре, верификации и лабам на FPGA платах и с EDA софтвером), но убедить в таком революционном шаге менеджмент крупных электронных компаний - нереально.
Все по делу. К счастью, в нашей организации (Samsung Advanced Computing Lab) начальство не заставляет использовать ИИ. Говорит типа "если сможете найти применение этому - Ок, а нет - не парьтесь".
Я говорю и про бакалавров, и про магистров, хотя магистры к моменту выпуска сами чему-то до-обучаются, то есть они по крайней мере знают, что такое FIFO, хотя многие пишут его с ошибками (например автоматически полагая что оно должно иметь размер степени двойки). Фишка в том, что то что нужно для работы, большинство выпускников не знают, а то что они знают - этому я могу научить способного выпускника средней школы за два месяца. Посему я не понимаю, зачем так бездарно тратится 4-6 лет жизни в самые эффективные для обучения и первые проекты годы.
Мы говорим о недостатках не только "углубленного" изучения, а о необходимости поменять всю базу изучения. Ведь не заставляем же мы студентов-микроэлектронщиков делать лабу по изготовлению транзистора на радиолампе? Зачем же тогда хранить в программе карты Карно и JK-триггеры, которые никогда не возникают в реальной жизни, но занимают место в программе для конвейеров и FIFO, которые используются каждый день. См. далее https://habr.com/en/articles/961364/comments/#comment_29040950
База за 30 лет сменилась. Во многих вузах программа сделана на основе рекомендаций IEEE середины 1990-х годов, которые писались людьми, обученными в 1970-х. Поэтому там тратится куча времени на штуки типа карт Карно, которые никогда не появляются в реальной работе инженера нигде вообще. Их изобрели в 1953 году, причем они быстро устарели с изобретением метода Куайна-Мак-Класки, после чего оптимизация логических выражений комбинационной логики была полностью автоматизирована в 1980-х программой Espresso logic optimizer. Но эта фигня сидит в программе и отнимает место от конвейеров, FIFO, арбитров, valid/ready и прочих вещей, которые инженер должен знать на зубок куда бы не пошел - в американские Apple, NVidia, AMD, Samsung или в российские Syntacore, Элвис, Миландр итд.
И такой фигни есть целый список - неактуальные вещи не дают вложить в программу актуальные. И нет, у компаний нет возможности организавать внутри университет и учить три года всех с нуля всем аспектам микроархитектуры и верификации.