Вы находитесь на странице: 1из 1

КАК СТАТЬ АВТОРОМ Облака: ожидание vs реальность

Все потоки Разработка Администрирование Дизайн Менеджмент Маркетинг Научпоп Войти Регистрация

YuriPanchul 22 августа 2017 в 10:44


ЧИТАЮТ СЕЙЧАС
Следущие шаги в черной магии
процессоростроения после того, как вы освоили Судьба предателя, угнавшего
новейший МиГ-25 в Японию

Харрис & Харрис 130k 718

Высокая производительность, Анализ и проектирование систем, Профессиональная литература, FPGA,


Обратная сторона Open Source-славы:
Программирование микроконтроллеров
как угрожают автору curl
34,1k 86
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это
широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel Работа сознания: что такое пятна
(методология проектирования на уровне регистровых передач с использованием языков описания Габора?
аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, 45,3k 49
которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies,
а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История Глава Microsoft заявил об имеющихся
перевода книжки на русский тоже довольно поучительна — он начался как общественный проект доказательствах причастности России
группы энтузиастов: преподавателей российских и украинских университетов, а также русских к хакерской атаке на SolarWinds
сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, 3,9k 14

МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро
раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного 5 книг Стругацких
качества. 6,4k 17

Теперь возникает вопрос: ну хорошо, вы приобрели или скачали бесплатно книжку, поняли основы Мир JavaScript в 2021 году
цифровой схемотехники, языков описания аппаратуры Verilog и VHDL, приобрели вкус писания на 12,2k 10
ассемблере и разобрались с организацией простейшего конвейерного микропроцессора, а также как
все это стыкуется с периферийными устройствами и встроенным программированием. Что делать Самоучкам здесь не место? Опрос о
дальше? саморазвитии в IT
Опрос

Редакторский дайджест
Присылаем лучшие статьи раз в месяц

Электропочта

На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в


Московском Физико-Техническом Институте

Прежде всего, если вы после H&H подучитесь еще, вы можете получить интересную работу в одной из
компаний, которая занимается проектированием микросхем. Например в Байкал Электроникс, которая
разрабатывает процессоры для станков, контроллеров газопроводов, коммуникационных устойств и
терминалов «Таволга»:

Вот недавняя статья про встроенные компьютеры на основе микропроцессора Байкал-Т и тесты
производительности. Байкаловцы с платами для разработчиков. На них работает Линукс:

Еще вы можете пойти работать в зеленоградскую компанию ЭЛВИС-НеоТек, которая изначально


занималась космосом, но сейчас все больше расширяется в коммерческий рынок чипов для умных
камер с распознаванием образов. Название их продукта «Оруэлл-2000», с аллюзией, если кто не знает,
на роман Джорджа Оруэлла, придумал президент компании Ярослав Петричкович, слева на снимке:

Элвисовцы спроектировали чип ELISE с их собственными блоками обработки видео, и сделали на нем
вот такую плату для разработчиков, к которой можно приделать камеру и что-нибудь пораспознавать:

Также вы можете пойти в очень интересную группу НИИСИ РАН, где спроектировали микропроцессор
КОМДИВ-64 — см. видео с менеджером проекта. КОМДИВ-64 совместим по архитектуре (системе
команд) с MIPS64, но имеет собственную, спроектированную в России микроархитектуру
суперскалярного конвейера и собственный векторный сопроцессор. Вот пример компьютера на
процессоре КОМДИВ-64, который способен работать в экстремальных условиях — от канадской
Арктики до южной Аризоны:

Ну и разумеется стоит упомянуть разработчиков «Эльбрусов» МЦСТ, разработчиков встроенных


микропроцессорных чипов НИИМА «Прогресс», микроконтроллеров Миландр, чипов для умных карт
КМ-211, чипов для цифровой обработки сигналов Модуль, киевское отделение бельгийской компании
Melexis и другие компании, в которых вы можете заниматься интересными задачами и построить
плодотворную карьеру.

Но прежде чем работать разработчиком чипов, после вводной книжки Харрис & Харрис нужно
накачать некоторые рабочие навыки. Для этого существует учеба в университете (зеленоградский
МИЭТ, московские МИФИ, МФТИ и МГУ, питерский ИТМО, киевский КПИ и другие), самообразование с
помощью книг, онлайн-курсы и open-source проекты.

Начнем с книг. Если вас интересует микроархитектура (строение конвейера и логических блоков
процессора), то вы можете попробовать вот такие книжки. Фаворитом среди практикующих
микроархитекторов является Шень-Липасти, но синяя книжка посередине может понравиться
несколько больше тем, кто не любит много читать (она более краткая):

Также есть курс на курсере преподавателя из Принстона:

Если вы ходили в математический кружок в школе или на матолимпиады, то вы можете покопать


глубже область хардвера для арифметических операций, где вы обнаружите, что даже для простого
сложения и умножения чисел в столбик существуют десятки реализаций, некоторые из которых
используют конвейер для повышения пропускной способности и всякие трюки для частных случаев,
типа операций с константами. В этой области и сейчас, в 21 веке, происходят прорывы и
эмоциональные споры — см. напр. прошлогодний стон души математика из Беркли «A Critique of John L.
Gustafson’s THE END of ERROR — Unum Computation and his A Radical Approach to Computation with Real
Numbers». Вот одна из неплохих книжек по компьютерной арифметике:

Но чтобы вам реализовать микроархитектуру или даже просто арифметические блоки, вам нужен
инструмент. Когда-то давно цифровые схемы рисовали мышкой на экране, но в последние 25 лет
дизайн чаще всего пишется на языке Verilog (иногда VHDL), после чего специальная программа (logic
synthesis) превращает дизайн в граф из проводов и логических примитивов, другая программа (static
timing analysis) сообщает дизайнеру, вписывается ли он в бюджет скорости, а третья программа (place-
and-route) раскладывает этот дизайн по площадке микросхемы. Когда дизайн проходит все этапы:
кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-
route, parasitics extraction и т.д. – получается файл под названием GDSII, который отправляют на
фабрику, и фабрика выпекает микросхемы.

Если вам хочется понять, что такое Verilog и VHDL за пару дней, вы можете почитать вот такие книжки,
но вообще говоря, все, что в них есть, есть и в Харрис & Харрис, за исключением тематики PLL (блоков
для манипуляции с сигналом тактовой частоты). С другой стороны, про PLL в этих книжках рассказано
недостаточно, поэтому я упоминаю их только потому, что они необыкновенно тонкие:

Если же вам хочется почитать про Verilog от людей, которые реально стояли у его истоков, вот три
книжки. Первая похожа на Керниган-Ричи для Си, вторая (тяжеловатая) на Страструп для C++, третью
написал известный гуру-консультант, который также любит порассуждать на 37 страниц, какой сброс
лучше — синхронный или асинхронный.

Тут надо сказать, что Verilog — это не только язык для описания и синтеза схем, но и язык
программирования для написания тестов. В некоторых компаниях на каждого инженера, который
пишет код на верилоге на уровне регистровых передач, приходится три инженера, которые пишут код
для верификации. Функциональная верификация — это вообще отдельное искусство со специальными
языками, методологиями с использованием моделирования, автоматическим доказательством свойств
схемы и т.д.

Карьера Verification Engineer с писанием сред тестирования на SystemVerilog может понравится


опытным программистам, которые хотят сменить карьеру с например писания программ на Джаве. В
SystemVerilog есть элементы объектно-ориентированного и симулированно-многопоточного
программирования. Суть деятельности заключается в создание фреймворков, которые тестируют
хардверные дизайны на прочность, бомбардируя их превдослучайными транзакциями и учитывая
покрытие интересных сценариев (functional coverage).

Лучшая книга по языку SystemVerilog — на картинке ниже слева. Справа же — довольно старая книжка
по написанию сред тестирования, обновленная для SystemVerilog. Это книжка нудная, но подходит для
регулярного чтения, по полчаса в день, в общественном транспорте типа электрички, чтобы перенять
опыт предыдущих поколений пользователей верилога.

В центре я привел очень простую и тонкую книжку, которая содержит элементарное введение в
Universal Design Methology (UVM). UVM — это библиотека классов на SystemVerilog для создания средств
тестирования на уровне блоков. Методология UVM не так универсальна, как обещают ее консультанты
менеджменту, но практически каждому верификационному инженеру полезно иметь о ней
представление. Эта книжка про UVM нелохая, хотя и не описывает, как присать драйверы для
конвейерных трназакций (это часто нужно). Прочитайте эту книгу за викенд и передайте другому — она
реально такая короткая. Хороших длинных книг про UVM нет (они все плохие), поэтому я рекомендую
читать стандарт и общаться с коллегами. При использовании UVM желательно использовать здравый
смысл, иначе вместо реальной работы вы начнете бесконечно искать способы как обойти довольно
жесткую структуру, навязываемую UVM.

Также по функциональную верификацию есть курс, созданный сотрудником ЭЛВИС-НеоТек+МИЭТ и


eNano / образовательным отделением РОСНАНО.

Один из первых вопросов, который встает у людей, которые думают про изучение цифровой
схемотехники: ну допустим я спроектировал собственный процессор, но как мне его произвести, ведь
заказ типичной коммерческой микросхемы на фабрике стоит более миллиона долларов? Ответом
является использование ПЛИС / FPGA — это специальные микросхемы, которые представляют собой
матрицы из ячеек, логические функции в которых, а также соединения между которыми, можно
многократно менять после изготовления. Они гораздо дороже и медленнее, чем обычные
специализированные микросхемы, но для них нет “начального взноса” на производство. Сейчас на
рынке есть студенческие платы с FPGA стоимостью менее $100, поэтому студенту и университетам для
экспериментирования больше не нужно выкладывать крупные суммы. Научиться основам работы с
FPGA можно довольно просто (см. напр. статью на сайте росийского производителя FPGA плат), но при
более продвинутом использовании возникает много вопросов — как по техническим деталям
использования FPGA, так и по подходом м методологиям. Я рекомендую вот эти две книжки для чтения
перед сном:

Помимо разработки схемы на логическом уровне есть и физический уровень — размещение


логических элементов по площадке микросхемы и соединение их дорожками, с учетом разного рода
физических эффектов. Вы можете почитать про это вот в таких книжках. Та, которая слева, описывает
процесс, с точки зрения пользователя софтвера для проектирования. Это книгу написал Дэвид Харрис,
один из Харрисов в «Цифровой схемотехнике и архитектуре компьютеров». Книга справа — это про
алгоритмы, используемые в софтвере для автоматизации проектирования:

Один из соавторов второй книги — наш соотечественник Игорь Марков, который стал в Америке
широко признанным авторитетом по автоматизации физического проектирования электроники. Игорь
Марков также приезжал в МГУ и провел там семинары, которые помогли мгушникам включиться в
алгоритмически интересные исследовательские проекты в этой области. Вот несколько слайдов с этих
семинаров:

Но если вы не хотите углубляться в алгоритмы, используемые в софтвере для проектировщика, а хотите


быть проектировщиком сами, и при этом хотите получить общую картину всего пути от идеи до
фабрики, во можете попробовать ликбезный курс от образовательного отделения РОСНАНО. Курс
называется «Специализированные интегральные схемы наноуровня». Ниже выборка из слайдов,
которая показывает, о чем идет речь в курсе. Также есть другой, сходный по тематике курс от
преподавателя МИЭТ + eNano и еще один смежный к нему курс:

Приведенная выше куча книг может создать впечатление, что область проектирования электроники
очень сложна. Это не совсем так: в ней есть сложные задачи, но основные методы может усвоить даже
пятиклассник. Это не преувеличение: вот видео продвинутого пятиклассника Вячеслава, который
начился работать с Verilog и FPGA на Летней Школе Юных Программистов в Новосибирске в июле этого
года:

А на этом снимке восьмиклассница Дарья (справа) добавила инструкцию в простейший процессор


(модифицировав декодер и ALU), синтезировала его, написала тесты на ассемблере и запустила
процессор на FPGA плате:

Код, который Дарья модифицировала в Новосибирске, находится здесь. Учебный процессор,


используемый в проекте — это schoolMIPS от Станислава Жельнио @ sparf. schoolMIPS по сути самый
простой процессор, который можно придумать. Он однотактный и выполняет дюжину команд —
достаточно, чтобы выполнять программы типа вычисления чисел Фибоначчи. Вот его общая схема:

Станислав Жельнио начал писать процессор schoolMIPS на основе примера их Харрис & Харрис, потом
ему начал помогать преподаватель МИЭМ ВШЭ Александр Романов, который хочет использовать этот
процессор в своем курсе. Кроме этого, Станислав сделал несколько существенных улучшений и для
образовательного проекта MIPSfpga, который основан на промышленном процессорном ядре MIPS
microAptiv UP.

И schoolMIPS, и MIPSfpga можно использовать как следущие шаги после изучения Харрис & Харрис.
Они могут стать основой для цепочки стуженческих проектов.

schoolMIPS можно шаг за шагом нарастить и добавить к нему конвейерность, работу с памятью, кэши,
более длинный конвейер, суперскалярность и даже scoreboard в стиле CDC 6600 и алгоритм Томасуло.

MIPSfpga можно использовать для экспериментов по повышению производительности реальных


программ с помощью предсказания переходов, добавлять к нему математические сопроцессоры или
переписать модуль кэша, чтобы строить многоядерные системы с когерентными кэшами на основе
алгоритма MESI.

Можно просто использовать MIPSfpga для построения прототипа системы на кристалле и интеграции с
ним датчиков, как это сделал киевский студент Олег Плотников под руководством Евгения Короткого из
лаборатории Лампа КПИ:

Для таких народных проектов есть три коллекции плат — в Киеве (Киево-Могилянская Академия,
Москве (ВШЭ-МИЭМ) и Новосибирске (НГТУ). Если вы хотите сделать скажем пример «CDC 6600 на
верилоге» и обязуетесь написать про это пост на Хабре, но у вас нет платы, вы можете одолжить ее в
одном из этих мест.

Вот фотография с хакатона в Киево-Могилянской Академии, где школьники использовали FPGA плату,
показанную на видео и где собираются внедрить Харрис & Харрис в обучение:

Если вам недостаточно бесплатно скачанного учебника Харрисов, и вы хотите бумажную копию с
высоким качеством печати, то помимо интернета, вы можете купить ее в некоторых книжных, например
в московском Библиоглобусе. Правда они его поставили не среди книг по электронике, а среди книг по
программированию, но он реально находится на границе электроники и программирования, поэтому
его можно поставить хоть в два отдела:

Теги: fpga/asic, asic, mips, mipsfpga, schoolmips, ассемблер, мгу, мифи, вшэ, миэм, нгту, кпи, микроэлектроника,
verilog, vhdl, Миландр, ЭЛВИС, элвис-неотек, байкал электроникс, байкал-т1, модуль, мцст, нииси, нииси ран,
комдив-64, км-211, melexis, кму, киево-могилянская академия, плис, synopsys, cadence

Хабы: Высокая производительность, Анализ и проектирование систем, Профессиональная литература, FPGA,


Программирование микроконтроллеров

+48 194 29,4k 68 Поделиться

181,0 0,0
Карма Рейтинг

Юрий Панчул / Yuri Panchul @ YuriPanchul


Дизайнер силикона из одноименной долины

ПОХОЖИЕ ПУБЛИКАЦИИ МИНУТОЧКУ ВНИМАНИЯ

15 мая 2017 в 15:26

Технология MIPS SIMD и процессор Байкал-Т1


+25 14,3k 56 13

29 февраля 2016 в 01:11 Мегапост


Анонсирован моноблочный компьютер “Таволга Терминал TP-T22BT” на базе процессора
“Байкал-Т1” Облака: ожидания vs реальность. Даём
аналитику
+13 37,7k 23 93

19 октября 2015 в 18:13

Как России развить микроэлектронику и победить Айфон


+4 12,5k 47 7

Промо

КУРСЫ
Как косяки и заваленные сроки
научили нас релизить проекты
Основы HTML и CSS
1 марта 2021 • Бесплатно
• Нетология

Продвижение сайтов и проектов. Хайпология для стартаперов


17 мая 2021 • 6 недель • 21 000 ₽ • Loftschool

Моделе-ориентированное проектирование информационных систем


27 февраля 2021 • 2 недели • 15 000 ₽
• Школа системного анализа и проектирования

Проектирование высокопроизводительных приложений


22 марта 2021 • 38 000 ₽ • Luxoft Training

Профессиональная разработка на Ruby on Rails


22 марта 2021 • 6 месяцев • 59 500 ₽ • Thinknetica

Больше курсов на Хабр Карьере

Комментарии 68 ЧТО ОБСУЖДАЮТ

valeriyk 22 августа 2017 в 11:57 +6 Сейчас Вчера Неделя


Граждане, когда будете пилить свой процессор, не забудьте, что главное в нем — экосистема: компилятор
(желательно несколько, но хотя бы gcc), отладчик, портированные RTOS, и т.д. Без всего этого ваш процессор Цензура в интернете. Надо что-то
никому не нужен. делать
10,8k 91

Varim 22 августа 2017 в 12:01 +6 Судьба предателя, угнавшего


новейший МиГ-25 в Японию
Еще не забудьте что со временем можете пожалеть если выберете не денежную работу. Интересно, где
130k 718
больше платят, в разработке ПО или в разработке процессоров?
У меня предвзятое отношение к размеру ЗП в отечественных хардварных компаниях.
Pet-проект для джуна. Или зачем и как
выбрать pet project. (+личный опыт)
3,6k 2
Fox56 22 августа 2017 в 17:44 0

но процессоры ведь тоже кто-то должен делать!) Джон Кармак предложил способ
борьбы с дефицитом видеокарт и
игровых консолей нового поколения
Varim 22 августа 2017 в 18:31 0 31,5k 351

У кого и что они взяли в долг, под какой процент?


Как хабраюзеры сервисами банков
пользовались и остались недовольны
Мегапост
nerudo 22 августа 2017 в 23:27 +1

И мусор мести!

vvzvlad 8 сентября 2017 в 15:15 0

И пыль возмездия!

ukt 22 августа 2017 в 17:45 +3

Если учесть, что упомянули менее 10 контор, то «вывод как бы очевиден».

Интересно, где больше платят, в разработке ПО

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

Varim 22 августа 2017 в 18:26 0

45 т.р. это как то как раз что бы владелец фирмы работал в одиночку.

Сфера деятельности узкая, потому рабочих мест не много, работодатели сильно манипулируют
этим.

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

ukt 22 августа 2017 в 21:24 +2

Казалось бы что это значит наоборот, кандидаты должны ломить ЗП

Оно так не работает, оно работает примерно так:


Приходишь к работодателю и изрекаешь:
— повысьте ЗП
— а то что?
— уйду
— к кому
— к ххх
— ну хорошо, иди.

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

джависты

Ну какая Джава, например, бородатому дядьке под 45 лет, с двумя детьми?


Причем это не сферический конь, а вполне живой бывший коллега.

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

yarric 22 августа 2017 в 21:33 +1

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

AxisPod 22 августа 2017 в 19:17 0

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

Mirn 22 августа 2017 в 21:04 +2

Те кто занимается разработкой вроде как з/п на уровне.

"з/п на уровне" это сколько?


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

ukt 22 августа 2017 в 21:29 0

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

Сложность: 4-6 слоев, DDR(2/3)/ARM7-11, фильтры, linux, драйвера под них и т.п.

Varim 22 августа 2017 в 21:43 +7

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

Но это же ЗП меньше чем у среднего джависта!?

Mirn 22 августа 2017 в 22:00 0

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

UA3MQJ 23 августа 2017 в 11:53 0

Работник виноват, что компании работают в убыток?

НЛО прилетело и опубликовало эту надпись здесь

YuriPanchul 22 августа 2017 в 19:54 0

Идея создать серию таких удаленных курсов есть, над ней возможно смогут работать кто-нибудь из
преподавателей вузов, которые участвуют в конференции в Томске 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 и производство.

Disasm 22 августа 2017 в 12:16 0

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

НЛО прилетело и опубликовало эту надпись здесь

KonstantinSpb 22 августа 2017 в 14:09 +1

Еще можете добавить книжку, вышла в этом году


FPGAs Fundamentals, Advanced Features, and Applications in Industrial Electronics

lockywolf 22 августа 2017 в 14:18 0

Девушка красивая. Она замужем?

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

robofreak 22 августа 2017 в 14:55 +4

Спасибо за комплимент. Нет, я не замужем :)

YuriPanchul 22 августа 2017 в 21:11 0

*** интерпретатор для Верилога — это литографический Степпер ***

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

lockywolf 22 августа 2017 в 21:43 0

Не-не, меня интересует как раз обратная сторона вопроса. Я скоро устраиваюсь на работу
разработчиком степпера (но точное место моего применения я пока не знаю) и пока только начал
вникать в тему. Меня интересует, не нужно ли мне будет в какой-нибудь момент писать интерпретатор
Верилога. Не принесут ли мне что-нибудь, написанное на верилоге, что нужно будет прожечь и
сравнить качество прожигания с эталоном.

Извиняюсь, если сказал какую-нибудь глупость, повторюсь, что только начал вникать в тему, и пока
больше теорфизическую оптику вкуриваю.

YuriPanchul 22 августа 2017 в 21:55 0

Это интересный вопрос. С одной стороны ко времени степпера верилог какбы пропадает и остается
только геометрический файл GDSII, но с другой стороны он потом снова может вылезти при
тестировании произведенных чипов тестировочными устройствами (какие-нибудь ссылки на
исходники, back-annotation). Может @ valeriyk знает.

valeriyk 23 августа 2017 в 01:05 0

Интерпретатор Верилога писать не нужно. Верилог преобразуется в нетлист, их соответствие


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

old_bear 23 августа 2017 в 11:01 0

Mentor ModelSim

Я что-то пропустил и Моделсим стал бесплатным?

YuriPanchul 23 августа 2017 в 16:46 0

У него есть бесплатная версия с размером дизайнов до 10000 statetement-ов, по достижению


предела симулятор типа становится радикально медленнее чтобы народ купил платную версию

yarric 22 августа 2017 в 17:06 0

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

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

Ну такое.

YuriPanchul 22 августа 2017 в 17:52 0

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

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

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

yarric 22 августа 2017 в 19:57 +1

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

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

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

YuriPanchul 22 августа 2017 в 20:09 +1

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

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

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

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

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

yarric 22 августа 2017 в 20:21 –1

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


разработки»

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

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

Наверное и молдовские есть, и африканские, но каково их процентное соотношение и насколько


реалистично устроится в Интел, следуя советам из статьи?

valeriyk 22 августа 2017 в 20:44 –1

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

YuriPanchul 22 августа 2017 в 20:48 –1

При чем тут 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/

YuriPanchul 22 августа 2017 в 21:02 0

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

yarric 22 августа 2017 в 21:18 +1

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

YuriPanchul 22 августа 2017 в 21:32 +1

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

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

yarric 22 августа 2017 в 21:36 0

Идут программисты туда, где хорошо платят :) Просто похоже в сфере


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

YuriPanchul 22 августа 2017 в 21:39 +1

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


— они на этом экономят

SparF 22 августа 2017 в 23:49 0

В том же Quartus или ModelSim встроенные редакторы действительно ужасны чуть


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

old_bear 23 августа 2017 в 11:20 0

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

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

yarric 23 августа 2017 в 21:26 0

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


разработчика HDL?

old_bear 23 августа 2017 в 21:31 0

Обратите внимание на слова «в первую очередь».


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

yarric 24 августа 2017 в 19:59 0

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


не для редактирования кода?

old_bear 24 августа 2017 в 20:27 0

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

yarric 25 августа 2017 в 09:01 0

когда я пишу asm для планшетного arm-а, то я где-то в другом месте


должен его отлаживать

Как-то не сталкивался. Зато когда нужно нарисовать GUI и написать что-то


на C++ — Xcode в самый раз.

YuriPanchul 24 августа 2017 в 20:39 0

Подавляющее большинство разработчиков на HDL с которыми я работаю и


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

ukt 22 августа 2017 в 17:56 0

Но им фпга программисты все равно нужны, вот и пиарят, со всего маху.

список реальных работодателей весьма ограничен

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

Ну такое.

В РФ точно не стоит за такое браться, выгоднее хотя бы ПЫХ программистом, за большие деньги и
меньшие проблемы с трудоустройством.

robofreak 22 августа 2017 в 18:14 0

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

yarric 22 августа 2017 в 20:03 0

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

antonsosnitzkij 22 августа 2017 в 17:52 +1

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

FForth 22 августа 2017 в 18:52 +1

Навеяло темой статьи.


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

firegurafiku 22 августа 2017 в 19:11 0

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

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

WRP 22 августа 2017 в 19:36 0

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

Varim 22 августа 2017 в 19:43 0

90 лет не срок

andy_p 5 сентября 2017 в 20:34 0

> Сейчас всё доступно кроме времени и возраст уже не тот.

Тут на Хабре как раз статья, как дожить до 90 и продожать кодить.

dunaich75 22 августа 2017 в 23:22 0

Вместо команды пиарщиков из Байкала лучше бы прикрепили фотографию разработчиков Байкала. Или нет
такой?

YuriPanchul 22 августа 2017 в 23:25 0

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

dunaich75 23 августа 2017 в 00:00 0

Я прекрасно знаю, кто на фото. :) Потому и просил фото разработчиков. Ну, впрочем, оставим это дело на
откуп нынешнего Байкала.

YuriPanchul 23 августа 2017 в 00:10 0

Я двумя руками за. Если байкаловский менеджмент пришлет мне групповую фотку разработчиков и если
разработчики будут не против сами, я это поставлю.

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

dunaich75 23 августа 2017 в 14:56 0

Вряд ли Байкал пришлет такое фото. А если и пришлет, то фото с «несколькими разработчиками».

SadAngel 23 августа 2017 в 00:12 0

Планируете ли Вы размещать курс на платформах 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 их нет…

YuriPanchul 23 августа 2017 в 00:14 0

Я написал выше, скопирую:

Идея создать серию таких удаленных курсов есть, над ней возможно смогут работать кто-нибудь из
преподавателей вузов, которые участвуют в конференции в Томске 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 и производство.

desmond_breezey 23 августа 2017 в 10:30 +1

Питерский Политех (кафедра «Радиотехнические и телекоммуникационные устройства») сделал такой курс:


openedu.ru/course/spbstu/CUMICR2

SadAngel 23 августа 2017 в 10:33 0

Спасибо за ссылку!

OneGoodCat 28 августа 2017 в 18:35 0

Не плохой альтернативой книге CMOS VLSI Design: A Circuits and Systems Perspective является Digital Integrated
Circuits (2nd Edition) под авторством Jan M. Rabaey (профессора из Беркли). Эта книга переведена на русский
язык, а на youtube есть даже видео курс читаемый автором на основе материала книги.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

САМОЕ ЧИТАЕМОЕ

Сутки Неделя Месяц

Судьба предателя, угнавшего новейший МиГ-25 в Японию


+42 130k 63 718

Обратная сторона Open Source-славы: как угрожают автору curl


+84 34,1k 36 86

Черные дыры могут иметь «волосы». Эйнштейн не прав?


+15 33,3k 23 16

На 30 тысячах компьютеров с macOS нашли странный зловред, который ждёт команду


+16 14,7k 23 29

Куда же плывут облака? Подбиваем итоги опроса и даём аналитику


Мегапост

Ваш аккаунт Разделы Информация Услуги

Войти Публикации Устройство сайта Реклама

Регистрация Новости Для авторов Тарифы

Хабы Для компаний Контент

Компании Документы Семинары

Пользователи Соглашение Мегапроекты

Песочница Конфиденциальность Мерч

© 2006 – 2021 «Habr» Настройка языка О сайте Служба поддержки Мобильная версия