Репост c 1i7: Автоматизация проектирования электроники

Apr 03, 2012 21:30


Я продолжаю репосты обсуждений экспериментального курса основ проектирования электроники для программистов, который создают Антон Моисеев и Андрей Маклаков, сотрудники кафедры прикладной математики Нижегородского государственного технического университета ( http://www.nntu.ru ). В числе консультантов данного курса (в хронологической последовательности):

1. Юрий Панчул panchul, MIPS Technologies, Inc.
2. Юрий Аммосов ammosov, Факультет инноваций и высоких технологий Московского Физико-Технического Института (МФТИ)
3. Сергей Вакуленко ramlamyammambam, MIPS Technologies, Inc.

Предыдущая запись - http://panchul.livejournal.com/198268.html


Originally posted by 1i7 at Автоматизация проектирования электронных приборов
Небольшой статус перед второй лабораторной работой. Сегодня пришла посылка с еще тремя интересными книгами от Юрия Панчула:




MIPS Assembly Language Programming. Robert L. Britton.




Electronic Design Automation (EDA) Mark D. Birnbaum
и
EDA where electronics begins by Clive "Max" Maxfield and Kuhoo Goyal Edson

С первой "MIPS Assembly Language" все понятно - она окажется очень полезной при подготовке к 5й лабе "программирование на голом железе".

Вторые две сообщают о существовании нового термина - EDA - Electronic Design Automation - Автоматизация проектирования электронных приборов, которым оказывается называется эта самая индустрия, с которой мы собрались знакомиться внутри курса.

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

Для подготовки к конкретным лабораторным работам эти книги в общем не обязательны, но в них представлена очень хорошая теоретическая часть для всего курса. С одной стороны, они позволяют взглянуть на всю индустрию "с высоты птичьего полета", с другой - в них в частности рассказывается о месте тех инструментов, которые будут использоваться например на лабах по программированию чипов ПЛИС (FPGI) (среда разработки на языке HDL verilog/VHDL, симулятор программы на HDL, генератор прошивки для платы ПЛИС, программатор платы ПЛИС) в общем технологическом процессе производства электронных устройств.

В книге "EDA where electronics begins by Clive "Max" Maxfield and Kuhoo Goyal Edson" используется метафора представления электронного устройства в виде инопланетного города, внутри которого на первый взгляд все выглядит очень непривычно, но на второй взгляд он оказывается очень логичным и предсказуемым, если узнать про его основные внутренние законы.







"Electronic Design Automation (EDA) Mark D. Birnbaum" не такая разноцветная, но зато содержит большое количиство интересных технических и жизненных подробностей например в заметках "А знаете ли вы, что?" (Did you know?), которые раскиданы по всем страницам в разных главах - навскидку несколько цитат:

В 2002м году мировой рынок индустрии EDA имел совокупный доход (total revenue) примерно $4 миллиарда. Внутри нее трудилось 18 тыс человек. Для сравнения, совокупный доход индустрии полупроводников был около $140 миллиардов и 270 тыс трудоустроенных человек.

Многие компании спонсируют университетские исследования. Дополнительное отчисление преподавателю в большинстве школ обходится всего в $20K-$30K. Это дает компании открытый доступ к информации обо всех происходящих исследованиях. Большинство школ имеют программы связи с индустрией с периодическими презентациями их исследовательских проектов. Поддержка EDA также осуществляется из правительственных источников. В США они включают Агентство по перспективным оборонным научно-исследовательским разработкам (Defense Advanced Research Projects Agency - DARPA) и Национальный институт науки и технологий (the National Institute of Science and Technology - NIST).

Компания, владеющая продуктом-лидером в рамках одного поколения технологии, обычно НЕ становится лидером в рамках следующего поколения технологии. Это интересное наблюдение касается любого бизнеса, не только EDA.

Большинство компаний, специализирующихся на EDA, а также крупные поставщики ASIC и ПЛИС (FPGI), предоставляют дешевые лицензии и обучающие программы для университетов. Производители хотят, чтобы студенты ближе знакомились с их продуктами. Студенты с большим желанием будут использовать уже знакомые им решения на своей будущей работе. А их работодатели захотят сократить время обучения.

Язык описания аппаратуры (hardware description language - HDL) - обычный язык программирования предназначенный для описания электронных схем. Существует множество похожих специализированных языков для других областей.

ну и т.п.

---------------------------------------------------------------------------------------------------------


Пару страниц из книжки про структуру индустрий - EDA, Semiconductor и Electronics:



---------------------------------------------------------------------------------------------------------


Мои дополнения:

http://1i7.livejournal.com/1583.html?thread=4911#t4911

Дополнение 1. Кусок моей старой неопубликованной статьи про индустрию автоматизации электронного дизайна (Electronic Design Automation или EDA) (поленился окончить и опубликовать в своё время):

Дизайнеры электроники используют специальные программы, для разработки которых возникла индустрия автоматизации электронного дизайна (Electronic Design Automation или EDA). Сама по себе индустрия EDA невелика - ее рынок менее $ 5 млрд долларов, но она «питается» на гораздо более крупной индустрии дизайна и производства микросхем ($200 млрд долл), которая в свою очередь стоит на огромной (более $1 триллиона долл) мировой индустрии электронных систем, которая выпускает всю электронику - от наручных часов до систем управления спутниками. Самая большая часть рынка EDA находится в США, за ним идет Япония, затем Европа и быстрорастущий рынок Китая и других восточноазиатских стран. Многие EDA компании имеют штаб-квартиру в калифорнийской Силиконовой Долине и группы разработчиков в других частях света - в Индии, Китае, Европе, Южной Корее, Тайване или Израиле.

В конце 1950-х годов цифровая электроника строилась на основе транзисторов в отдельных корпусах на трех ножках. Первую микросхему изобрел в 1958 году инженер из компании Texas Instruments Джек Килби (Jack Kilby), который получил за это изобретение нобелевскую премию 2000 года. Но микросхема Килби была на основе полупроводника германия, а первую микросхему на основе кремния изобрел Роберт Нойс (Robert Noyce) из Fairchild Semiconductor, который работал независимо от Килби, но сделал свою микросхему на полгода позже. Первым компьютером, построенным на микросхемах, был Apollo Guidance Computer (1962), который стоял в космических кораблях, приземлившихся на Луну.

Программы, помогающие инженерам проектировать микросхемы, стали возникать еще в 1960-х. Сначала это были графические редакторы, в которых можно было прямоугольниками разных цветов рисовать слои разных типов на поверхности микросхемы. В 1970-х количество транзисторов на одной микросхеме стало исчисляться тысячами и технология изменилась - инженеры стали вводить дизайн как сеть из логических элементов («и», «или», «не», ячеек памяти), после чего специальная программа (place-and-route) автоматически расставляла логические элементы по площадке микросхемы и соединяла их дорожками. В это же время появились программы-симуляторы, позволяющие промоделировать поведение микросхемы до воплощения ее в кремнии.

«Золотым веком» EDA стали 1980 годы, когда EDA выделилась как самостоятельная индустрия (сноска: До 1980-х EDA рассматривалась как часть индустрии CAD (Computer Aided Design) или по-русски САПР (Системы Автоматизированного ПРоектирования) - индустрии, занимавшейся также механическим дизайном). В 1981 году возникла первая тройка индустриальных лидеров - компании Daisy Systems, Mentor Graphics и Valid Logic, которые сокращенно называли DMV (сноска: игра слов - DMV - это также Department of Motor Vehicles, автотранспортная инспекция). Возникли языки дизайна Verilog и VHDL и технология логического синтеза, которые вместе позволяли инженеру писать логические и математические выражения в виде текста, а не рисовать кропотливо сеть из логических элементов с помощью мышки на экране.

В 1990-х количество транзисторов на кристалле стало ограничиваться не возможностями станков на фабрике, а производительностью труда инженеров. После окончания «холодной войны» с СССР, главными клиентами EDA-компаний стали не военные, а производители потребительской электроники.

---------------------------------------------------------------------------------------------------------


Добавления про рынок инженеров для EDA, RTL Logic Design, Hardware Verification:

*** Если рынок важный, но как написано в статье - растет медленно, нет ли такой ситуации, что все его части уже давно поделены между участниками и новичку (можно рассмотреть ситуацию как отдельного инженера, так и например мелкой конторки, которая специализируется на дезайне с FPGI) туда не протиснуться? ***

Прежде всего - не стоит путать рынок EDA с рынком пользователей EDA.

Рынок EDA (~$5B) - это рынок средств проектирования - симуляторов Верилога, синтезаторов и т.д. Все эти тулы пишутся на C++ (алгоритмический engine на C++), c добавлением GUI на Java или Tcl/Tk и всяких скриптов. Это рынок несколько стагнирует, но на нем можно найти очень интересные работы для алгоритмически-ориенированного С++ программиста со знанием Верилога - как в крупных компаниях типа Synopsys, Cadence или Mentor Graphics (которые кстати имеют и отделения в России), так и в стартапах.

Рынок пользователей EDA тулов, т.е. людей которые используют верилог и другие EDA технологии - в несколько десятков раз больше - я не знаю точных цифр и хорошо развивается. Инженеры, использующие Verilog/VHDL, работают в Intel, IBM, Cisco - всех электронных компаниях. При этом среди людей, которые используют Verilog, следует выделить две довольно разные профессии:

1. RTL (register-transfer-level) Logic Designer - инженер-схемотехник, который пишет на Verilog-е дизайн, которые потом синтезируется и после цепочки превращений выпекается в кремниевые чипы или программируется в FPGA. RTL designer использует синтезируемое подмножество верилог-а (т.е. довольно небольшую часть языка), но при этом должен хорошо знать, в какие гейты и флип-флопы превращаются все конструкции, а также понимать static timing analysis, эффекты связанные с энергопотреблением и т.д.

2. Hardware Verification Engineer - верификационный инженер, который пишет на Verilog высокоуровневые модели и программы. Они проверяют, соответствует ли хардверный дизайн, написанный RTL дизайнером, своей спецификации. Для этого верификационный инженер делает довольно хитрую программу, которая бомбардирует дизайн на верилоге псевдослучайными транзакциями, пока он его не сломает. Одновременно при этом проверяется покрытие всяких описанных в спецификации сценариев с помощью написания на SystemVerilog так называемых coverage bins и других методов. По методам данная профессия близка к объектно-ориентированному программированию на C++ или Java, но требует понимания и как пишется RTL.

Обе профессии довольно востребованы - компании ищут людей как на (1), так и на (2) месяцами. За точными текущими цифрами зарплат мне нужно смотреть, но навскидку вилка для квалифицированных инженеров этих категорий в Силиконовой Долине типа $120K-$180K в год (для начинающих инженеров - меньше, для гуру и инженеров/менеджеров - может быть и больше, особенно с премиями и опционами). Рост сложности устройств ограничен верификацией еще в большей степени, чем доступностью на рынке RTL-designer-ов, поэтому (2) требуется больше.

Рынок FPGA - это подмножество рынка всего хардверного дизайна (FPGA и ASIC), я бы его не стал особо выделять.

Еще есть более редкая профессия SoC (System-on-Chip) System Designer - человек, который конструирует комбинацию из софтвера и хардвера для системы на чипе (вариант - системы на плате).

Итого, наш курс делает профориентацию в пяти профессиях:

1. Инженер-программист EDA тулов
2. RTL (register-transfer-level) Logic Designer
3. Hardware Verification Engineer
4. SoC (System-on-Chip) System Designer
5. Инженер-программист для Embedded Systems

Есть еще и другие профессии, которые наверное необязательно выделять в данном курсе - например CAD Engineer - специалист по использованию EDA тулов в электронной компании, который создает стандартные схемы использования тулов от EDA компаний в его компании и пишет всякие "склеивающие" скрипты и небольшие внутренние тулы.

nntu

Previous post Next post
Up