Мова програмування для Hardware Engineer
Прошу вибачити якщо ця тема вже обговорювалася тут раніше.
Мені 15. Хотілося б отримати відповідь на таке питання: Якщо б ви зараз починали навчатися на Hardware інженера, яку б мову програмування ви обрали?
Прошу вибачити якщо ця тема вже обговорювалася тут раніше.
Мені 15. Хотілося б отримати відповідь на таке питання: Якщо б ви зараз починали навчатися на Hardware інженера, яку б мову програмування ви обрали?
C, Python, Verilog та вміння писати промпти до LLM які будуть давати відповіді по першим трьом
Взагалі найбільшим «золотом» є поєднання навичок написання прошивок і знання елементної бази. Тому чистий С опціонально з плюсами, можливо Python десь пригодиться.
Але тут зустрічаються і «чисті» вакансії, де програмування не передбачено. Просто з програмуванням їх в 10 разів більше, бо часто компанії не розуміють що ембеддед програміст найефективніше працює в парі з hardware engineer.
Взагалі найбільшим «золотом» є поєднання навичок написання прошивок і знання елементної бази
То для роботодавця золото, а для виконавця що ширший стек вивозиш, то гірші умови. Як екстремальний приклад, предметна сфера у вигляді фізики напівпровідників (замір в динаміці зміни бар’єрної ємності після різкого стрибка напруги на переході, для аналізу параметрів радіаційних дефектів), розробка всього необхідного аналогового фронтенду і його фізичне виготовлення, написання прошивок для мікроконтролера і FPGA для власне роботи того заліза, написання керуючого софту з драйверами на ПК і написання софту з матстатистикою і нейронними мережами для аналізу отриманих данних.
І все це щастя за
Для разработки систем на FPGA, чипов и валидации разработок часто используются Verilog, VHDL и SystemVerilog. Лучше начать с Verilog и позже возможно изучить SystemVerilog. VHDL сейчас встречается всё реже, целесообразность его изучения в вашем возрасте под вопросом.
Це мови опису апаратури інтегральних схем. Є трохи різниці в «програмуванні». Наприклад весь код виконується одночасно в загальному випадку. Хоча воно дійсно дуже схоже на мову програмування і багато хто плутає. Тим не менш це є створення логічної схеми і ви описуєте просто зв’язки між якимись і-не логічними елементами. Типу як креслення схеми на папері, тільки кодом.
Взагалі тема цікава але більше про dsp і матапарат, що досить рідкісне явище на ринку праці.
Согласен. Насколько я понял, человек хочет быть hardware инженером, то есть разрабатывать аппаратуру. Но если он имел в виду стать программистом и создавать программы для различных устройств, то ему понадобится С и С++. Хотя вы понимаете, что на разной аппаратуре может работать различный софт и при наличии соотв. ресурсов платформы, язык на котором написаны программы верхнего уровня может быть практически любым.
Hardware — чи Embedded та System programming ?
При розробці архітектур процесорів та контролерів і відповідно інших мікрочіпів є специфічні мови опису типу Verilog, за допомогою яких вже програмні пакети генерують електричні схеми, що з них вже роблять безпосередньо чіпи зазвичай на замовлення в Тайвані. В цілому цим займається не таке вже і багато компаній, здебільшого за кордоном в Україні з цим не густо, бо і з самим виробництвом чогось складного теж і перспектив через
Щодо Embedded — тобто програмування вже готових виробів на основі міконтролерів архітектур як то STM32, Arduino і тому подібне, то тут безперечно C та Assembler під архітектуру ARM.
Взагалі це дуже Тайваньска тема станом на зараз і якщо в це йти — то виключно за кордоном.
Де будуть перспективи найближчі
Станом на зараз як перша мова програмування в цілому найбільш перспективна — Python.
за допомогою яких вже програмні пакети генерують електричні схеми, що з них вже роблять безпосередньо чіпи зазвичай на замовлення в Тайвані
У більшості випадків ніякого замовлення не буде. Тому що можна брати готові FPGA.
в Україні з цим не густо
Не густо, так. Наразі три вакансії: jobs.dou.ua/vacancies/?search=fpga
Коли я випускався за цією спеціальністю, то було нуль. :)
До речі, можна ще шукати роботу як hardware engineer subject matter expert в софтверні компанії, які пишуть CAD-інструменти.
Хто зна комусь же треба працювати і в : ARM, AMD, Apple, Atmega, Intel, Nvidea, Qualcomm, Samsung і т.д. і розробляти самі чіпи, плати і т.д. В нас нещодавно було модно робити лампові та інші пристрої для музичних інструментів і програвачів і т.п. Коли це кастомшоп чи мала серія ексклюзивного девайсу — то в цілому можна і вийти на прибутковість навіть, при умові вірного сучасного маркетингу.
Verilog більш практичний, можна з нього починати, але в реальності вибору не буде, і треба знати і Verilog, і VHDL. Але це безпосередньо для hardware. Але ж Ви не будете контролер для воріт робити з двома кнопками, відповідно, треба буде й софт хоча б для дебагу, ну і якийсь UI, тощо. Відповідно, практично немає просто ізольованих hardware engineer — це завжди всього потрошку плюс більш глибокий фокус на hardware.
Тому треба знати хоча б трохи C/Arduino, Python, JS/TypeScript, HTML/CSS тощо. Краще йти проєктним шляхом: оберіть якийсь девайс, який вам буде цікаво зробити, і реалізуйте для нього повний стек — від заліза до UI. Відповідно, зачепитеся за все потроху.
Але hardware — це дорого і потребує місця, умов тощо. Якісь FPGA-шні eval-борди — це сотні доларів, плюс осцилографи, купа модулів для прототипів, мотори тощо. Можливо, краще комусь на хвіст сісти та в якійсь лабі чи хакерспейсі примоститися :)
Ну і, як інші написали, хардкорний hardware — це ще й купа математики, симуляцій і алгоритмів, які розробляються задовго до реального заліза. І там купа своїх специфічних тулзів та мов програмування.
Ну і чарівний синій дим, а можна і без ока залишитися :) Тобто risk profile зовсім інший у порівнянні з софтом :)
Для справжнього хардвару треба вміти будувати моделі в Matlab/Simulink чи іншими нішевими інструментами володіти, і в цілому власне хардвар значно складнішу базу потребує, ніж якісь конкретні мови. У вузі все розкажуть і покажуть.
Значно важливіше, обрати правильний вуз, бажано не український, а то все одно доведеться вчити Javascript або Go, коли мілтек підпаде під демілітаризацію по договорняку, а іншого хардвару немає.
12 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів