Юрий Панчул
905 subscribers
62 photos
6 videos
1 file
124 links
uArch от сохи и жизнь русского украинца в Калифорнии
Download Telegram
Бывают соискатели из недавних студентов, которые могут рассказать словами и картинками, но не набили руку на механике писания кода на верилоге. Это плохая комбинация. Да, я знаю, что есть мнение "он понимает сложные проблемы и выучит простое кодерство за пару месяцев". Такое мнение встречается у менеджмента, особенно если студент - отличник и позитивен. Но это плохо работает во время интервью с инженерами команды (см. примечание 1).

5. Вообще, для тех кто не знает: типичное интервью в крупной электронной компании состоит из нескольких этапов: 1) рекрутер; 2) технический скрининг нанимающим менеджером или одним из опытных инженеров; 3) большое интервью в котором вы за 4-6 часов говорите с 5-8 инженерами; 4) разговор с начальником на два уровня выше и 5) обсуждение предложения. Критической является часть (3).

У этой темы есть вариации: пункт (3) может быть в два приема - на два дня; инженеры могут интервьировать вас парами интервьюеров, а не поодиночке; в редких случаях бывают презентации соискателя всей инженерной команде итд.

6. Для старших инженеров критично знать некое общее ноу-хау индустрии, которое все применяют, но которое слабо представлено в учебниках. Например комбинация из конвейера, очереди FIFO и кредитного счетчика широко применяется в сетевых чипах для обработки потока фрагментов пакетов, и в графических чипах для обработки потоков треугольников. Но в учебниках это описано очень слабо: я видел это в контексте сетевого софтвера, а также в фрагменте лекции в Принстоне. Если инженер работал в команде, которая это однозначно применяет, например в группе проектирования системы на кристалле в Apple, то его можно 1) сначала спросить "что такое credit based flow control"? 2) если он ответит "нет" то найти другую похожую область; 3) а если он ответит "да" то задать одну из многих задачек на эту тему.

7. С задачками на интервью есть такая проблема, что любой ваш вопрос может быть передан на вебсайт типа glassdoor, где люди делятся, чему из спрашивали на интервью. Против этого есть противоядие - делать вариации задачек. Например есть широкоизвестный интервьюшный вопрос "напишите код на верилоге, который принимает числа по битам (один бит каждый такт) и определяет, делится ли это число на три (длина числа не ограничивается - оно может быть хоть миллиард бит). Так как этот вопрос стоит на таких сайтах стоит сто лет, то в чистом виде его спрашивать нельзя: нужно делать вариацию, например 1) биты могут приходить как от старшего к младшему, так и от младшего к старшему или 2) определяте не остаток от деления на 3, а остаток от деления на 7. Итд.

В заключение добавлю, что вы можете познать все что я выше описал, на практике: если вы проектировщик микросхем на уровне регистровых передач, хотите работать в интересном проекте в GPU и (увы, это ограничение) имеете право на работу в США, то присылайте мне ваше резюме.

Примечание 1. Существует разрыв между уровнем базовых курсов в университетах и уровнем навыков, требуемых для успешной работы в компаниях. Если студент не набивал руку на учебных проектах сам, а только сдавал зачеты по картинкам из учебника и простейшим упражнениям, у него будет проблема. Столкнувшись с задачей чуть дальше учебника, студент может обнаружить, что то, что ему казалось простым (пример: gearbox, конвертор ширины шины c valid/ready интерфейсами на входе и выходе), вдруг стало сложным. Если он при этом нетвердо владеет механикой верилога типа блокирующих и неблокирующих присваиваний, параметризацией итд, то у него будут глюки и он будет биться как рыба об лед, наслаивать говнокод и заплаты, отлаживать это бесконечно, надеяться, что кто-то исправит за него итд. Этот этап нужно пройти в учебных проектах, не на производстве. Да и всякие алгоритмы замещения кэша и прочее из картинок в учебнике тогда будут выглядеть по другому.


https://habr.com/ru/post/673916/
🔥10👍1😁1
Господа! Я решил провести отпуск на озере Иссык-Куль. Это мой незакрытый гештальт с тех пор, как я прочел "Легенду озера Иссык-Куль" Ильфа и Петрова. При этом, чтобы совместить приятное с полезным, я договорился с Американским Университетом в Центральной Азии и Siemens Electronic Design Automation GmbH провести трехдневный семинар в Бишкеке 1-3 августа. Если еще не решили, куда ехать в отпуск - присоединяйтесь.
О чем пойдет речь:

Как показывает пример Южной Кореи и Тайваня, для небольшой страны очень выгодно интегрироваться в международную экосистему проектирования и производства микроэлектронных чипов. Каким же образом может интегрироваться страна, у которой есть опыт разработки программного обеспечения, но нет сообщества разработчиков микросхем? Она может создать группу по аутсорсу так называемой функциональной верификации. Эта группа технологий очень востребована и имеет реалистичный порог входа. Японская компания Seiko Epson создала такую группу на Филиппинах, корейская компания SK Hynix создала такую компанию в Беларуси.

Микросхемы внутри смарфонов, компьютеров и сетевого оборудования построены из блоков, спроектированных с помощью языка описания аппаратуры Verilog. Для этих блоков пишутся тесты на SystemVerilog, которые во многом похожи на программы на таких языках как Java. Кроме этого, для создания среды верификации блоков используют скриптовый язык Python. Для задач верификации аппаратных блоков можно переучить программистов с Java и Python на SystemVerilog, если добавить к их умениям понимание, как работает цифровая логика.

Это всё не абстрактные рассуждения. Американский Университет в Центральной Азии и Siemens Electronic Design Automation GmbH решили провести 1-3 августа пилотный семинар в Бишкеке, чтобы: 1) выяснить интерес у бизнесменов Кыргызстана к такого рода проектам и 2) показать студентам бишкекских вузов и коледжей, как работать с верилогом на ПЛИС, чтобы понять, пойдет ли им эта тематика. Участники из других стран тоже могут приехать.

Детали и как зарегистрироваться - https://habr.com/ru/post/675564/
🔥18👏3😁1
Выложил часть материалов недавнего семинара «Модели бизнеса и основы технологий микроэлектроники для Центральной Азии» на сайт https://ddvca.com - Digital Design & Verification in Central Asia. Семинар проходил в Американском Университете Центральной Азии - учреждении, новый кампус которого в свое время прилетал открывать лично государственный секретарь США Джон Керри. Вместе с АУЦА семинар проводил Siemens EDA - отделение компании Siemens по автоматизации проектирования микросхем, которое ранее было топ-3 EDA компанией Mentor Graphics.

Среди выложенных материалов:

1. Информацию где скачать новую версию пакета v1.1.

2. Слайды, которые применялись на семинаре, а также предложение по совместной работе по их улучшению.

3. Короткие видео с семинара.

4. Фотографии с семинара.

Я собираюсь также выложить:

5. Список рекомендуемой литературы.

6. Объявление о поиске ведущего преподавателя по проектированию и верификации цифровых схем в Американском Университете в Центральной Азии (АУЦА).

7. Сообщение от Siemens EDA как они могут помочь в формировании группы компетенции в АУЦА и других университетах и компаниях региона.

8. Информацию о пректах участников семинара (в Кыргызстане уже есть инженеры, которые занимались FPGA и ASIC design).

9. Полную запись лекций семинара.

О слайдах:

https://ddvca.com/2022/08/15/slides/

Разыскиваются коллеги для совместной разработки слайдов для следующих семинаров
August 15, 2022 By Yuri Panchul

Вы можете найти слайды, которые я (Юрий Панчул) использовал для лекций в Бишкеке в августе 2022 года здесь:

HDL, RTL and FPGA: Part 1. The Synthesis of Combinational logic
HDL, RTL and FPGA: Part 2. Sequential logic, FSM and Pipelining

Я начал разрабатывать эти слайды еще в 2014 году и использовал их версии для разнообразных семинаров в Калифорнии, России, Украине, Казахстане и теперь в Кыргызстане.

К сожалению, эти слайды не идеальны. В частности, в них есть ссылки на примеры, которые готовились для предыдущих семинаров, совместно с ВШЭ МИЭМ, казанским Иннополисом и другими вузами. В старых примерах используется синтаксис Verilog-2001, при том, что в новых примерах я перешел на SystemVerilog 1800-2017. В слайды стоило бы ввести больше информации о новых примерах (например с обработкой звука), а также объяснить детали симуляции (гонки / race conditions) и использования новых типов (не все тонкие различия между wire, reg и logic описываются даже в продвинутых материалах на эту тему).

Но в каждой проблеме скрывается возможность. Я готов помогать преподавателям, которые готовы помочь мне в переработке слайдов и создании новых учебных материалов, превосходящих по качеству слайды от MIT 6.111 и слайды от Харрис & Харрис. В новые слайды можно внести не только механизм симуляции (например используя книгу Дональда Томаса как источник), но и например использование открытого пакета Open Lane для проектирования ASIC-ов, более детальное обсуждение конвейера, а также материалы по двойным буферам (например из Digital Design: A Systems Approach 1st Edition by William James Dally, R. Curtis Harting), FIFO, арбитрам (см. сайт RTLery.com и статью Arbiters: Design Ideas and Coding Styles by Matt Weber), а также кредитным счетчикам (см. дискуссию в комментах). Кроме этого, есть идеи и для слайдов по процессорам, дополняющих слайды из Харрис & Харрис.

Сотрудничество может выглядеть в виде еженедельных созвонов по Zoom по воскресеньям в 9 утра по Калифорнии и соотвественно 22.00 по Бишкеку, во время которых мы можем обсуждать слайды и примеры. Если вас это интересует, пришлите мне емейл на yuri@panchul.com с копией на yuri.panchul@gmail.com. Слайды такого рода можно использовать как для будущих семинаров (не только в Кыргызстане, но и в Казахстане, Узбекистане или других местах), так и для ваших университетских курсов, а также (если вы не преподаватель), для повышения вашей квалификации как инженера (да и я могу от вас чему-нибудь научиться).
👍133
Фотки с семинара «Модели бизнеса и основы технологий микроэлектроники для Центральной Азии»". Больше информации на https://ddvca.com/
👍1