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

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис

Время на прочтение 9 мин
Количество просмотров 37K
Всего голосов 50: ↑49 и ↓1 +48
Комментарии 68

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

Граждане, когда будете пилить свой процессор, не забудьте, что главное в нем — экосистема: компилятор (желательно несколько, но хотя бы gcc), отладчик, портированные RTOS, и т.д. Без всего этого ваш процессор никому не нужен.
Еще не забудьте что со временем можете пожалеть если выберете не денежную работу. Интересно, где больше платят, в разработке ПО или в разработке процессоров?
У меня предвзятое отношение к размеру ЗП в отечественных хардварных компаниях.
но процессоры ведь тоже кто-то должен делать!)
У кого и что они взяли в долг, под какой процент?
И мусор мести!
И пыль возмездия!
Если учесть, что упомянули менее 10 контор, то «вывод как бы очевиден».
Интересно, где больше платят, в разработке ПО

Есть некоторая контора, которая разрабатывает параллельную архитектуру процессора. Год-два назад искали от 45 т.р. программиста на компилятор, фпга-шника в такую же стоимость озвучивали.
Сфера деятельности узкая, потому рабочих мест не много, работодатели сильно манипулируют этим.
45 т.р. это как то как раз что бы владелец фирмы работал в одиночку.
Сфера деятельности узкая, потому рабочих мест не много, работодатели сильно манипулируют этим.
Казалось бы что это значит наоборот, кандидаты должны ломить ЗП в пять раз больше чем скажем распространенные джависты. Но вместо того что бы пойти в джависты, они видимо прутся куда возьмут.
Казалось бы что это значит наоборот, кандидаты должны ломить ЗП
Оно так не работает, оно работает примерно так:
Приходишь к работодателю и изрекаешь:
— повысьте ЗП
— а то что?
— уйду
— к кому
— к ххх
— ну хорошо, иди.

Причем это работает во всех узких специализациях (в РФ).
джависты

Ну какая Джава, например, бородатому дядьке под 45 лет, с двумя детьми?
Причем это не сферический конь, а вполне живой бывший коллега.

Насмотрятся таких, вот, Постов и идут в узкую специализацию. Хотя таких специалистов нужно с десяток тысяч на _всю_ планету.

Правда в Европе и США узкая специализация действительно означает высокую зарплату.

Общался с хардварщиками, да, з/п низкая у тех, кто на базе ардуинок и готовых схем делает бегущий строки. Те кто занимается разработкой вроде как з/п на уровне.
Те кто занимается разработкой вроде как з/п на уровне.

"з/п на уровне" это сколько?
и просьба назвать хотя-бы несколько примеров компаний с такой з/п

Екб: 45-80
Питер: от 60-80
Мск: 60-110

Сложность: 4-6 слоев, DDR(2/3)/ARM7-11, фильтры, linux, драйвера под них и т.п.
Питер: от 60-80
Мск: 60-110
Но это же ЗП меньше чем у среднего джависта!?

Ничего удивительного, такие человеко-орекстры мало продуктивны: Тут уже как минимум схемотехник-технолог и программист.
Часто сюда приплетают и разработку корпуса и работа с производством и подбор компонентов и много ещё чего. Нередко такие компании ещё и в убыток работают и компы не новые. А некоторые за 60тр заставляют ещё и участвовать в маркетинге своих поделий или искать клиентов.

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

На мероприятии будет два отделения:

1. Семинар по обмену опытом преподавания электроники в университетах — программа здесь — https://nanoandgiga.com/ngc2017/documents/digital-design-seminar.pdf

2. Школа для студентов и аспирантов — программа здесь —
https://nanoandgiga.com/ngc2017/documents/digital-design-school.pdf — вместе с практическими упражнениями на FPGA платах

И на одном, и на другом мероприятии будет обсуждатся тематика языков описания аппаратуры, IP-блоки, архитектура и микроархитектура, синтез и верификация, FPGA и ASIC и производство.

Спасибо большое за подборку, выглядит завлекательно.

НЛО прилетело и опубликовало эту надпись здесь
Девушка красивая. Она замужем?

Кстати, правильно ли я понимаю, что интерпретатор для Верилога — это литографический Степпер? Или я какой-то промежуточный шаг забываю?
Спасибо за комплимент. Нет, я не замужем :)
*** интерпретатор для Верилога — это литографический Степпер ***

Помимо цепочки преобоазований, которая ведет от верилога к литографическому степперу, есть также несколько программных симуляторов Верилога, в том числе бесплатные — Icarus Verilog, Mentor ModelSim, симулятор в Xilinx Vivado и платные — Synopsys VCS, Cadence IUS итд.
Не-не, меня интересует как раз обратная сторона вопроса. Я скоро устраиваюсь на работу разработчиком степпера (но точное место моего применения я пока не знаю) и пока только начал вникать в тему. Меня интересует, не нужно ли мне будет в какой-нибудь момент писать интерпретатор Верилога. Не принесут ли мне что-нибудь, написанное на верилоге, что нужно будет прожечь и сравнить качество прожигания с эталоном.

Извиняюсь, если сказал какую-нибудь глупость, повторюсь, что только начал вникать в тему, и пока больше теорфизическую оптику вкуриваю.
Это интересный вопрос. С одной стороны ко времени степпера верилог какбы пропадает и остается только геометрический файл GDSII, но с другой стороны он потом снова может вылезти при тестировании произведенных чипов тестировочными устройствами (какие-нибудь ссылки на исходники, back-annotation). Может valeriyk знает.
Интерпретатор Верилога писать не нужно. Верилог преобразуется в нетлист, их соответствие проверяется при помощи формальной верификации (используя Formality или LEC — они берут Верилог и нетлист и говорят, совпадает ли их функциональность или нет. Это нужно, потому что в синтезаторе могут быть баги и он может сделать неправильный нетлист из правильного Верилога). Потом нетлист преобразуется в геометрию, и их эквивалентность, в свою очередь, проверяется при помощи LVS (layout versus schematics). После этого геометрия едет в степпер, грубо говоря. Для тестирования микросхемы используются эмпирические методы, основанные на «купил-включил-не работает»: внешний тестер, тестовые последовательности для которого готовит ATPG (automatic test pattern generator), и BIST (built-in self-test, он обычно бывает отдельно на память и отдельно на логику). Оба способа как раз и проверяют отсутсвие дефектов производства, например, обрывов дорожек или коротких замыканий. Ибо засунуть микросхему под микроскоп довольно накладно, особенно если в ней сто миллиардов транзисторов. Есть еще всякие извращения, например самопочиняющаяся память (memory with self-repair), но это я уже отклонился от темы.
Mentor ModelSim

Я что-то пропустил и Моделсим стал бесплатным?
У него есть бесплатная версия с размером дизайнов до 10000 statetement-ов, по достижению предела симулятор типа становится радикально медленнее чтобы народ купил платную версию

Статья как-бы подразумевает, что в нормальные компании вроде Intel или Samsung всё равно с такими знаниями лучше не соваться?


Итого сфера на порядок более сложная и ответственная, чем какое-нибудь веб-программирование, работать придётся на уровне абстракций из 70-х в программах из 90-х, а список реальных работодателей весьма ограничен, при этом никаких тебе bleeding edge проектов как в Intel: будешь пилить то, что уже и так выпускается десятком fabless и не fabless фирм, скорее всего — для какой-нибудь полувоенной "отечественной" конторы со всеми вытекающими…


Ну такое.

Ничего подобного. Все эти знания применимы и для работы в Интеле и Самсунге, которые использует те же средства проектирования, что и Байкал (напр. Synopsys Design Compiler) и ЭЛВИС-НеоТек (отделение Интела Mobileye лицензирует ядро MIPS I6500 от Imagination Technologies; это же ядро также лицензирует ЭЛВИС-НеоТек).

В последние несколько лет российские компании стали использовать те же тулы, что и компании в Silicon Valley

Девочка Даша упомянутая в тексте реализовала свой процессор на плате с Altera FPGAa, которая сейчас является частью Интела и вообще переназвана Intel FPGA.
российские компании стали использовать те же тулы, что и компании в Silicon Valley

Я тоже могу себе поставить какой-нибудь Cadence IC, это не сделает меня равным инженерам
Intel :) Тут же нужно образование, и опыт, и культура — вот это всё...


Впрочем сам этот Cadence IC и ему подобные выглядят как артефакты из 90-х, значительно отставая от более современных и удобных средств мейнстримовой разработки. А отсюда и вопрос — стоит ли с этим вообще заморачиваться, за более низкую по сравнению с теми же веб-программистами зарплату и возможность реального трудоустройства в полторы конторы...

Тут какое-то недоразумение. Что вы имеете в виду под «более современными и удобными средствами мейнстримовой разработки»? Интел, Самсунг и Байкал используют те же самые тулы. Я делал три проекта для Интела, я был в интеловском офисе в Санта-Кларе и в Фолсоме. Я не думаю, я знаю, что они используют.

Вот погуглите Synopsys Baikal, а потом Synopsys Intel.

В двух метрах от меня на работе сидит бывший инженер Интела. В Интеле есть и русские инженеры, например Амир Аупов www.facebook.com/profile.php?id=100001401986745 или например был Денис Хартиков (он сейчас в NVidia)

Он был в числе людей, которые участвовали в переводе Харрис & Харрис


Поговорите с ним, насколько все это применимо к интелу — https://www.facebook.com/denis.khartikov

Что вы имеете в виду под «более современными и удобными средствами мейнстримовой разработки»

Давайте я вам видео про Xcode, а вы мне видео про Synopsys что-у-них-там.


В Интеле есть и русские инженеры

Наверное и молдовские есть, и африканские, но каково их процентное соотношение и насколько реалистично устроится в Интел, следуя советам из статьи?

IC Compiler II вполне симпатичный. К тому же, он еще и работу делать умеет, для которой народ по 250 гигабайт оперативки ставит, а не только рюшечки рисует, как Xcode.
При чем тут Xcode? Это текстовый редактор. О чем вы?

Меня приглашали работать в Интеле, я могу сказать абсолютно точно, что все интеловские инженеры, которые пишут RTL Verilog для реализации микроархитектуры или unit-level тестбенчи, в некоторый момент своего обучения прошли именно то, о чем я пишу в посте — Verilog, синтез, верификация, SystemVerilog, микроархитектура по Хеннесси-Паттерсону итд. А что еще? Это основа их методологии.

Вот первое нагугленое:

Intel Selects Synopsys As Its Primary EDA Supplier
Semiconductor and EDA Leaders Sign Multi-Year Commercial, Collaboration Agreement
news.synopsys.com/index.php?s=20295&item=122371

Вам перевести? Какое слово тут неоднозначно?

И вот про Байкал:

Baikal Electronics Selects Synopsys Solutions to Accelerate the Design and Verification of Their Advanced SoCs
news.synopsys.com/2015-03-16-Baikal-Electronics-Selects-Synopsys-Solutions-to-Accelerate-the-Design-and-Verification-of-Their-Advanced-SoCs

Или вот посмотрите чему учат на кафедре Интела в МФТИ — там работает в частности Павел Крюков https://mipt.ru/drec/about/ilab/projects/current_projects/mipt-mips/

https://mipt.ru/education/chairs/microprocessors/
Подождите-ка, я понял. Когда вы спрашиваете про Xcode, вы хотите спросить «какие есть мейнстримные интегрированные среды для проектирования на Verilog»? Разумеется — Synopsys DVE / VCS для моделирования, Synopsys Design Vision для синтеза, Synopsys IC Compiler для physical design и эквивалентные среды для Cadence, а также toolchains для FPGA: Altera / Intel FPGA Quartus II, Xilinx Vivado. Это то, что вы спрашивали? Все их можно использовать с информацией в моем посте.

Я говорю о том, что среды для разработки на Verilog и ему подобном по удобству для программиста отстают от более удобных и активно разрабатываемых мейнстримовых IDE типа Xcode. Также нет их версий под мак и т. п. Всё выглядит сурово и по хардкору, как в 90-х.

А, вы об этом. Ну да, это факт. Просто лучшие GUI программисты идут работать в Apple и Google, а в Synopsys и Cadence идут на GUI те, кто остается. Но зато на алгоритмы EDA лучшие идут в Synopsys и Cadence.

Это одно из неудобств жизни, но это не фатально.

Идут программисты туда, где хорошо платят :) Просто похоже в сфере узкоспециализированного ПО сложилась ситуация "жрите, что дают", потому как всё равно полтора конкурента, и у них тот же подход.

В Synopsys на алгоритмическое программирование хорошо платят, на GUI не очень — они на этом экономят

В том же Quartus или ModelSim встроенные редакторы действительно ужасны чуть меньше чем полностью. Данный факт коробит ровно до осознания того, что это очень ускоспециализированный софт. Как итог: Verilog разработка у меня живет в любимом VSCode, ModelSim c нужными параметрами запускается из скрипта (a-la makefile), Quartus — только для синтеза.
В качестве аналогии: у gcc вообще нет графического интерфейса, но как компилятор он свою функцию выполняет.
Как-то так.

по удобству для программиста

Может всё дело в том, что для hdl-разработчика в первую очередь важно не то, что для программиста? А то я со стороны железячника тоже много доброго могу написать про отображение регистров процессора в отладчике xcode…

Автодополнение, рефакторинг и сглаженные шрифты точно не важны для разработчика HDL?

Обратите внимание на слова «в первую очередь».
И как там по поводу человеческого отображения в Xcode набора регистров процессора при отладке приложения на подключенном устройстве? :)

Xcode не для копания в регистрах. По вашей аналогии среды разработки на HDL не для редактирования кода?

Т.е. вы считаете, что когда я пишу asm для планшетного arm-а, то я где-то в другом месте должен его отлаживать, не в Xcode? Я бы согласился с вами, если бы Xcode позиционировался как продвинутый текстовый редактор. Но вроде он позиционируется как нечто другое…
P.S. Всегда пользуюсь для редактирования кода тем редактором, который нравится мне, а не тем, который нравится авторам среды разработки.
когда я пишу asm для планшетного arm-а, то я где-то в другом месте должен его отлаживать

Как-то не сталкивался. Зато когда нужно нарисовать GUI и написать что-то на C++ — Xcode в самый раз.

Подавляющее большинство разработчиков на HDL с которыми я работаю и когда-либо работал, используют другие текстовые редакторы (vi, emacs, joe, sublime), а не текстовые редакторы в EDA tools. Главная цель перечисленных GUI — это отладка временных диаграмм и нахождение длинных путей в анализе тайминга. Большинство процессов вообще делается в командной строке, как и генерация report-ов.
Но им фпга программисты все равно нужны, вот и пиарят, со всего маху.
список реальных работодателей весьма ограничен

Там ещё куча фишек, что не возьмут в конкурирующую компанию, в случае ухода из одной.
Так что список можно делить смело на три.
Ну такое.

В РФ точно не стоит за такое браться, выгоднее хотя бы ПЫХ программистом, за большие деньги и меньшие проблемы с трудоустройством.
ИМХО даже если что-то не сложится в Intel или Samsung — это всё равно будет солидная строчка в резюме и полезный опыт работы. Лично я после работы в государственном вузе и после этого в двух стартапах, решила попробовать себя в Samsung, и в общем, очень довольна :)

Есть сомнения, что солидная строчка сильно поможет в трудоустройстве вне этой узкой специализации, если вдруг что.

Хорошие книги для работы с FPGA производителей Xilinx и Altera так же есть под авторством профессора Понг Чу (Pong Chu), содержащие очень подробные описания и хорошие примеры кода, которые можно скачать у него на сайте.
academic.csuohio.edu/chu_p/rtl/index.html

Навеяло темой статьи.
Проза в память о разработчике компьютера Sprinter-2000 с некоторыми техническими деталями при использовании Altera FPGA (некоторое популярное изложение возможностей софт процессоров)
Мак Иван http://litresp.ru/chitat/ru/%D0%9C/mak-ivan/putj-domoj Путь домой

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис

ЕМНИП, в русском языке есть интересный момент касательно склонения мужских и женских имён собственных с нулевым окончанием. Думаю, правильнее было бы написать «Харриса & Харрис».

Э-эх. Сейчас уже, наверное, поздно заниматься этим. В своё время покупал на Невском книжки по языку С у спекулянтов. Сейчас всё доступно кроме времени и возраст уже не тот.
90 лет не срок
> Сейчас всё доступно кроме времени и возраст уже не тот.

Тут на Хабре как раз статья, как дожить до 90 и продожать кодить.
Вместо команды пиарщиков из Байкала лучше бы прикрепили фотографию разработчиков Байкала. Или нет такой?
Пиарщик Байкала на фотке ровно один — справа. Я лично не пиарщик Байкала (я на одной из фоток слева). Я разрабатывал для этого проекта BFM (Bus Functional Models) ядра MIPS P5600. Товарищ в пурпурной рубашке — менеджер по верификации SoC. У меня еще есть фотка девочки, которая разрабатывала часть LSU (load-store unit). Если у вас есть еще фотки разработчиков, выкладывайте их сюда в комментарии.
Я прекрасно знаю, кто на фото. :) Потому и просил фото разработчиков. Ну, впрочем, оставим это дело на откуп нынешнего Байкала.
Я двумя руками за. Если байкаловский менеджмент пришлет мне групповую фотку разработчиков и если разработчики будут не против сами, я это поставлю.

Пока держите вчерашнюю фотку, на которое есть в том числе и несколько разработчиков ядра P5600 внутри Байкала:


Вряд ли Байкал пришлет такое фото. А если и пришлет, то фото с «несколькими разработчиками».
Планируете ли Вы размещать курс на платформах edX или Coursera?

на edX есть два курса где лабораторные работы делаются на реальных платах:
www.edx.org/course/embedded-systems-shape-world-multi-utaustinx-ut-6-20x
www.edx.org/course/embedded-systems-shape-world-utaustinx-ut-6-10x
www.edx.org/course/real-time-bluetooth-networks-shape-world-utaustinx-ut-rtbn-12-01x-0

по микроконтроллерах курсов не много, но они есть. К сожалению по FPGA их нет…
Я написал выше, скопирую:

Идея создать серию таких удаленных курсов есть, над ней возможно смогут работать кто-нибудь из преподавателей вузов, которые участвуют в конференции в Томске 18-22 сентября — https://nanoandgiga.com/ngc2017/digital-design

На мероприятии будет два отделения:

1. Семинар по обмену опытом преподавания электроники в университетах — программа здесь — https://nanoandgiga.com/ngc2017/documents/digital-design-seminar.pdf

2. Школа для студентов и аспирантов — программа здесь —
https://nanoandgiga.com/ngc2017/documents/digital-design-school.pdf — вместе с практическими упражнениями на FPGA платах

И на одном, и на другом мероприятии будет обсуждатся тематика языков описания аппаратуры, IP-блоки, архитектура и микроархитектура, синтез и верификация, FPGA и ASIC и производство.
Питерский Политех (кафедра «Радиотехнические и телекоммуникационные устройства») сделал такой курс:
openedu.ru/course/spbstu/CUMICR2
Спасибо за ссылку!
Не плохой альтернативой книге CMOS VLSI Design: A Circuits and Systems Perspective является Digital Integrated Circuits (2nd Edition) под авторством Jan M. Rabaey (профессора из Беркли). Эта книга переведена на русский язык, а на youtube есть даже видео курс читаемый автором на основе материала книги.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации