Category: дизайн

Category was added automatically. Read all entries about "дизайн".

2017

Трассировка silicon-а в формате хакатона. Без Physical Design не будет Айфона



Все смотрели фильм Дудя про стартапы Силиконовой Долины? А вы знаете, какой стартап Долины был самый силиконовый в 1977 году? Это был Silicon Valley Research, также известный как SVR и Silvar-Lisco. Стартап делал программы, которые автоматически размещали транзисторы на площадке чипа и соединяли их дорожками. Стартап вышел на биржу и даже дожил до 21 века, но не смог конкурировать с новыми лидерами - сначала Daisy/Mentor/Valid, а потом Synopsys и Cadence.

Программы, которые делал SVR, назывались программами размещения и трассировки, по английски Place & Route - P&R. Они сильно повысили производительность труда инженеров - до P&R программ чертежи маски чипа клеили из цветного картона (Intel 4004), рисовали карандашами на бумаге, или бегали курсором по текстовому экрану и соединяли плюсиками и минусиками элементарные блоки, которые изображались звездочками (так проектировали чипы в IBM/370-совместимых компьютерах Amdahl, продвинутых родственниках советских ЕС ЭВМ).

SVR основал профессор из Стенфорда Билл ван Климпат, которого я знал лично, так как он был ангел-инвестором и членом совета директоров моего собственного стартапа. Билл периодически воспитывал меня за плохое поведение на заседаниях и прокрастинацию, а также рассказывал байки про патентные суды, по которым он постоянно ходил в качестве эксперт-свидетеля.

Поэтому когда в казанском Иннополисе мне предложили организовать проект на их хакатоне для студентов по CASE Tools, я вспомнил Билла и предложил сделать на хакатоне минимальную программу трассировки. Этот пост - отчет о результатах этого экспериментального хакатона. Их также наверное стоит обсудить на zoom-конференции в Иннополисе по Open Source проектам, которая будет через неделю.



Понимание алгоритмов физического проектирования микросхем - это ключевая компетенция. Во всех группах по разработке микросхем (silicon development group) в Apple, NVidia, Intel, AMD, Cisco, Juniper, Huawei, Samsung, Tesla, Google, MediaTek, Broadcom - есть группа PD Team (Physical Design Team), которая работает с тулами от Synopsys и Cadence, которые делают это. Причем эти тулы сложные, в них больше тысячи команд и сотни подсистем, они обходятся каждой компании в миллионы или десятки миллионов долларов в год. Без наличия большего количества специалистов по PD (как на уровне юзеров, так и на уровне разработчиков custom PD tools) у России нет вообще никаких шансов стать значимой на международном рынке микросхем в смартфонах, ИИ ускорителях и самоуправляющихся авто. Примерно как у какой-нибудь африканской страны, в которой в вузах не учат биохимию, нет вообще никаких шансов стать лидером в лекарствах (каких-нибудь ингибиторах протизы) против короновируса.

Обсуждения и возражения

Мы обсудили идею P&R хакатона в рассылке silicon-russia, где к ней отнеслись с осторожным скепсисом. В частности мне возразил Михаил Шуплецов, который занимается алгоритмами EDA (Electronic Design Automation) на ВМК МГУ:

Collapse )



Collapse )

Над Силикон Вэлли заходит солнце, а над Иннополисом восходит, на чем я свою речь прекращаю. А вы что думаете?

2017

Сегодня 22 Декабря - мой День Рождения

Я родился в самую длинную ночь в году - 22 декабря, сразу после полуночи. В Калифорнии в это время еще полдень 21 декабря. Поэтому в СССР я был Козерогом, а в Америке могу рассматриваться как Стрелец. Кто может проконсультировать про разницу?

В 2019 году у меня было три значительных события:

1. Два семинара по обучению продвинутых московских школьников верилогу и ПЛИС, в кооперации с РОСНАНО и МИЭТ и c поддержкой от некоторого количества сочувствующих, от издателя ДМК Пресс до основателей российских стартапов, МИФИ и ВШЭ МИЭМ, школы Летово, российского отделения американской электронной компании (забыл уже получил ли я от них разрешение их упоминать) итд.

2. Переход на новую работу в Juniper Networks. Раньше в MIPS я занимался верификацией процессоров на уровне блоков + немного дизайном, а также общественной нагрузкой по линии образовательных программ и корпоративного маркетинга. На новой работе я 100% дизайнер, owner критического блока горячего быстрого большого чипа для high-end роутеров, которые связывают интернет провайдеров и большие компании. На летние школы в Зеленоград я буду продолжать приезжать.













Принимаю поздравления

Ура!
53(96.4%)
Из-за бугра плюете?
2(3.6%)
2017

C 14 октября я работаю разработчиком сетевых чипов в Juniper Networks



10 лет в MIPS - с октября 2009 года по октябрь 2019 года - прошли как миг. Но все когда-нибудь кончается, и сегодня я приступаю к работе как разработчик высокоскоростных сетевых чипов для самого сердца Интернета. Чипы в ящиках по 6 миллионов долларов, которые связывают города и в ящиках подешевле, которые связывают всего лишь интернет-провайдеров и крупные корпорации. Staff ASIC RTL Design Engineer @ Juniper Networks. Правда я ничего не знаю о нетворкинге, но этому меня пообещали научить.

Вопрос от одного из участников хакатона в Киеве

Один из участников семинаров и хакатона в Киеве задал мне такой вопрос: "Мне нравится подключать различные платы, датчики и т.д. Поэтому я хочу у вас спросить, какая профессия соответствует тому, перспективно ли это и немного хочу узнать как вы начинали свой путь в этой сфере?"

Написал ответ:

Если вам это нравится, вы можете рассмотреть различные работы в области Electrical Engineering и Embedded System Design, в том числе:

1. Разработка микросхем и печатных плат, в том числе хардверных интерфейсов для интеграции процессора в системе на кристалле с контроллерами периферийных устройств, в том числе сенсоров

2. Написание программного обеспечения для встроенных систем, в том числе драйверов для интеграции с сенсорами

3. Создание программных средств автоматизации проектирования микросхем, печатных плат и систем (hardware / software codesign)

4. Проектирование электронных систем, например гаджетов или например бортовых компьютеров

5. Специалист по технологиями производства

Примеры работ в области разработки микросхем и печатных плат:

1.1 Разработчик цифровой логики блоков внутри микросхемы - RTL Design Engineer, пишет код на языке описания аппаратуры (Verilog и/или VHDL) на уровне регистровых передач (Register Transfer Level - RTL. Этот код после логического синтеза, размещения и трассировки превращается в часть микросхемы ASIC (Application Specific Integrated Circuit) - или в конфигурацию FPGA / ПЛИС.

1.2 Специалист по физическим аспектам микросхемы - ASIC Physical Design Engineer - использует средства проектирования типа Synopsys IC Compiler для floorplanning (планирования геометрического расположения блоков системы на кристалле, решения физических проблем питания, помех итд). См. слайды про implementation в http://www.silicon-ukraine.com/public_materials/2016_11_04_one_day_mipsfpga_connected_mcu_materials_public_for_the_website/04_present_nanometer_asic_seminar/dna.rus.2016.MIPS.pdf

1.3 Разработчик аналоговых блоков, например преобразователь сигнала от антенны - Analog / Mixed Signal Hardware Design Engineer.

1.4 Специалисты по моделированию и верификации - Hardware Simulation Engineer, Hardware Verification Engineer, Performance Modeling Engineer. Одна из технологий верификации - написание на языке SystemVerilog специфической программы (среды тестирования), которая бомбардирует блок логики псевдослучайными транзакциями, ограниченными определенными правилами, и ведет учет покрытия интересных сценариев, и сравнения поведения этого блока логики с его высокоуровневой моделью (coverage-driven constrained-random verification methodology).

1.5 Разработчик системы на кристалле - SoC Design Engineer - комбинирует блоки спроектированные разными производителями (процессоры, графические процессоры, DSP процессоры, память и т.д.), рассматривает взаимодействие софтвера и хардвера.

1.6 Разработчик архитектуры (как процессор выглядит для программиста) и микроархитектуры (блочная организация, стадии конвейера) - CPU Architect, CPU Microarchitect.

1.7 Другие профессии, например Solutions Architect - человек, который ездит по клиентам (электронным компаниям разного размера) и консультирует их, как использовать те или иные IP блоки (процессоры, DSP итд) для разработки системы на кристалле.

Подобный список можно написать и для других областей (embedded system design, silicon manufacturing итд).

Куда пойти учиться - поговорите например с Евгением Коротким из КПИ, он ставит там обучение таким профессиям - https://www.facebook.com/korotkiy.eugene

Мой путь был довольно непрямой: программирование компиляторов - программирование средств проектирования встроенных систем - программирование средств проектирования микросхем (Electronic Design Automation - EDA) - моделирование хардвера - верификация на уровне ядра - верификация на уровне блоков - написание RTL для FPGA и (в последнее время) ASIC.

Полезная статья Ивана Шевчука "Junior FPGA Design Engineer: как стать?"


Полезная статья Ивана Шевчука "Junior FPGA Design Engineer: как стать?"

http://www.silicon-russia.com/2016/04/29/junior-fpga-design-engineer/

Всем привет!

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

Разработка под FPGA - это не просто какой-то язык. Это очень объемная область, с огромным количеством подводных камней и нюансов.

В этой статье вы найдете:

  • список тем, которые должен освоить начинающий разработчик под FPGA

  • рекомендуемую литературу по каждой из тем

  • набор тестовых вопросов и лабораторных работ

  • классические ошибки новичков (и советы по исправлению)


Что надо знать и уметь



Collapse )

P.S. Оригинал статьи и последняя версия доступны тут.

Записался на обзорный курс с элементами физической части ASIC design и бизнеса с фабриками

Записался студентом на обзорный курс с элементами физической части ASIC design и бизнеса с фабриками - эти стороны микроэлектронной индустрии я знаю недостаточно. Другие аспекты курса (например верификацию на уровне RTL) я бы мог и сам прочитать. Курс проводится в University of California Santa Cruz Extension Silicon Valley. 10 занятий с 6.30 вечера по 9.30. На расстоянии короткой прогулки от офиса Imagination в Санта-Кларе - даже ехать никуда не надо:

http://course.ucsc-extension.edu/modules/shop/index.html?action=section&OfferingID=1532058&SectionID=5277986



Collapse )

Какие аспекты данного курса вас бы заинтересовали?

Overview of ASIC architectures, including networking chips
2(8.0%)
Integration of IP cores: formats, deliverables, watermarks, etc.
4(16.0%)
Overcoming the verification bottleneck: embedded assertions, constrained random tests, equivalence checking and emulation
3(12.0%)
How on-chip firmware code interacts with the chip’s hardware
3(12.0%)
Creating layout for tape-out: metal layers and vias, routing insights, noise avoidance, DFM issues, timing closure
3(12.0%)
How a taped-out design is fabricated onto a silicon die at 32 nm
3(12.0%)
Doing business with silicon foundries: sort, shuttles, corner lots
3(12.0%)
Comprehensive coverage of the chip design flow, from spec through tape-out to fabrication and packaging, equipping students for follow-on courses in RTL design, verification, DFT, and layout
3(12.0%)
Другие (пояснить в комментариях)
1(4.0%)

Макфол разволновался от сравнения Университета Монтаны с Московским МГУ

Господа! Как вы помните, Майкл Макфол - бывший посол США в России, автор книжек про экспорт демократии и любимец московских оппозиционных бабушек. На днях товарищ Макфол отрапортовал у себя на фейсбуке, что ему дали почетную докторскую степень в Университете штата Монтана.

Я заметил, что у Университета штата Монтана та же аббревиатура, что и у Московского Государственного Университета (MSU - Montana State University или альтернативно Moscow State University) и для поддержания беседы рассказал Макфолу, что команда факультета ВМК МГУ победила на международном соревновании «2015 CAD Contest at ICCAD» по решению прикладных математических задач в области автоматизации проектирования интегральных схем. После чего поинтересовался результатами макфоловского MSU в этой же области.

Макфол разволновался, почему-то он подумал, что я якобы намереваюсь оскорбить его новый альма-матер. Я сказал, что совсем наоборот, я просто спрашивал вопрос, и даже похвалил монтанский университет за полезный курс EELE 367. Но Макфол расстроился еще больше и меня забанил:








Collapse )

Вообще алгоритмы в области автоматизации проектирования интегральных схем очень интересны, это одна из областей, которым можно посвятить жизнь. Я познакомился с данной областью в 1995 году, когда начал работать в Mentor Graphics. В то время я выучил Verilog и начал посматривать вокруг на смежные области. Мне тогда попала в руки вот такая книжка и я заценил красоту алгоритмов. Авторы кстати из Саудовской Аравии, интересно, что они думают про Макфола:

Collapse )

Согласны ли вы с Майклом Макфолом, что мой вопрос "Did anybody from Montana State win anything like that?" является оскорблением?

Да, это явный наезда на Макфола, США и Украину в стиле наездов на Радулову
19(25.0%)
Нет, в вопросе про университет я не вижу однозначного наезда. Возможно Панчулу было еще и интересно про Монтану
8(10.5%)
По-моему, Макфол слишком нервный для дипломата, и даже просто для изучателя России
26(34.2%)
Я подозреваю, что Макфол не в духе, глядя как Керри разгуливает по Арбату, который Макфол считал своей территорией
20(26.3%)
Из-за бугра плюете?
3(3.9%)

Конвейерный сумматор + self-timed схемы из Digital Arithmetic by Milos D. Ercegovac and Tomás Lang

Перед началом семинара по MIPSfpga в МИФИ один из инструкторов стал спрашивать меня на тему race conditions в некоей схеме для специализированных вычислений, которая возникла у них как студенческий проект. Я не уверен, что его правильно понял, но высказал, что в правильно организованном синхронном дизайне таких проблем не возникает и пообещал прислать в качестве примера фотографию страницы из книжки "Цифровая арифметика", на которой разбирается организация конвейерного сумматора, который содержит малое количество комбинаторной логики (такое же как в сумматоре с последовательным переносом), но при этом размещает регистры (D-триггеры) таким образом, что сумматор может запускать новую операцию сложения каждый такт, с частотой тактового сигнала, определяемой задержкой однобитного полного комбинационного сумматора.

Заодно сфотографировал пару страниц про self-times асинхронные схемы (они не имеют отношения к конвейерному сумматору, просто оказались на соседних страницах и заодно являются альтернативным ответом на исходный вопрос):

Digital Arithmetic 1st Edition by Milos D. Ercegovac and Tomás Lang

digital_arithmetic_by_milos_ercegovac_and_tomas_lang_coverdigital_arithmetic_by_milos_ercegovac_and_tomas_lang_91

Collapse )

Стоит ли ввести дизайн арифметических блоков как постоянную тему моего блога?

Да, вместо феминистических журналисток
6(17.1%)
Да, вместо Украины
6(17.1%)
Да, но с условием изучения асинхронных дизайнов
14(40.0%)
Лучше расширить в блоге тему калифорнийских хвойных лесов
7(20.0%)
Из-за бугра плюете?
2(5.7%)

Cadence организует два больших семинара в России - в МИЭТ и ИТМО

Новости дружественных организаций (Cadence, МИЭТ, ИТМО, НПЦ Элвис и других):

Cadence Design Systems, одна из двух крупнейших мировых компаний в области автоматизации разработки микросхем, 15-16 октября проведет семинары в Московском институте электронной техники (МИЭТ) в Зеленограде и Питерском Университете ИТМО, в котором (по опыту моей поездки 2012 года) студенты очень хорошо понимают Verilog и системы на кристалле.

В семинарах примут участие и три российские компании "Элекроприбор", НИИМА "Прогресс" и НПЦ "Элвис". См. статью про сотрудничество с Imagination Technologies родственной НПЦ "Элвис" организации "Элвис-Неотек" на сайте Роснано.

Среди презентаций я лично рекомендую посмотреть на новый тул для синтеза Genus - я видел и заснял его презентацию в июне на выставке Design Automation Conference в Сан-Франциско:





Collapse )

Объявление, которое мне пришло про российский семинар - ниже. На фото справа - я на фоне здания МИЭТ во время поездки по делам MIPS Technologies в 2011 году:


Cadence проводит два Technology Days в Питере в ИТМО 15-ого октября и в Зеленограде в МИЭТе 16-ого октября. Заявки на участие в ИТМО напишите Павлу Кустареву: kustarev@yandex.ru. Заявки на участие в МИЭТ напишите Владимиру Лосеву: dsd@miee.ru.

Адресс ИТМО: СПб, Биржевая линия В.О. 14 "Технопарк ИТМО"

Программа в ИТМО выглядит так:

Technology day at ITMO – Seminar Title:
Virtual Model Prototyping, High Level Synthesis, Synthesis and Digital Implementation by Cadence

9:15 – 9:45 Welcome and Cadence Overview
9:45 – 11:15 Cadence: Virtual Model Prototyping
11:15 -11:30 Break
11:30 – 12:30 Cadence: High Level Synthesis
12:30 – 13:30 Lunch
13:30 – 14:30 Cadence: Genus the new synthesis solution
14:30 – 15:30 Cadence: Innovus – state of the art digital implementation
15:30 – 15:45 Break
15:45 – 16:45 “Элекроприбор» - experience with Cadence tools
16:45 – 17:45 Выступление преподователей ИТМО
17:45 – 18:15 Round table and open discussions with the speakers

Программа в МИЭТе выглядит так:

09:00 – 09:15 Регистрация.
09:15 – 09:45 Вступление от Cadence; 0:30 hour.
09:45 – 11:15 Cadence: Virtual Model Prototyping
11:15 – 11:30 Кофе – брейк.
11:30 – 12:30 Cadence: High Level Synthesis
12:30 – 13:30 Обед.
13:30 – 14:45 Cadence: Genus the new synthesis solution
14:45 – 15:00 Кофе – брейк.
15:00 – 16:15 Cadence: Innovus – state of the art digital implementation
16:15 – 16:45 АО «НИИМА «Прогресс» – опыт использования ПО Cadence
16:45 – 17:15 ОАО НПЦ «ЭЛВИС» – опыт использования Cadence Incisive для создания и отладки тестов СнК системного уровня.
17:15 – 18:00 Открытая дискуссия, круглый стол.


Я лично очень люблю тулы от Cadence. Вот например как выглядит на моем экране отладка процессорного ядра MIPS microAptiv UP из пакета MIPSfpga в среде SimVision. Названия сигналов mpc_ на waveform - это main/master pipeline control (контроль главного конвейера):



Тулы каких производителей для разработки ASIC и FPGA вы любите?

Synopsys, Inc
0(0.0%)
Cadence Design Systems
2(15.4%)
Mentor Graphics Corporation
2(15.4%)
Xilinx
4(30.8%)
Altera
3(23.1%)
Некоммерческие открытые тулы
2(15.4%)
Другие (пояснить в комментариях)
0(0.0%)

Повторение поста про SystemC

В комментариях предыдущего поста зашла дискуссия о SystemC, по поводу чего я хочу повторить свой пост 2012 года про SystemC. Глядя назад, пост слишком энтузиастичен по поводу UVM, но мое мнение про SystemC сейчас то же, что и в 2012 году:

http://panchul.livejournal.com/203346.html

Вот позавчера мне пришло письмо от джентлемена из одного российского университета, который занимается верификацией дизайнов на VHDL с помощью тестов, написанных на SystemC. Джентлемен спрашивает, имеет ли смысл транслировать тесты из SystemC в VHDL с помощью какого-нибудь third-party тула, наподобие тула от британской компании Celoxica, который использовали его коллеги. В качестве симулятора они, насколько я понял, используют ModelSim, который входит в состав Altera Quartus.


Мой ответ:

1. Disclaimer

Я обычно пишу такие ответы довольно уверенным тоном, но мой тон не означает, что я пытаюсь навязать свое мнение как истину в последней инстанции. Вашему научному руководителю может быть виднее, а для студентов полезно экспериментировать с разнообразными технологиями, даже если подобные эксперименты были не очень удачны в прошлом. Тем не менее, мое мнение может быть для вас полезным, так как я в свое время заседал на заседаниях, на которых присутствовали и маркетеры SystemC, которые потом перестали со мной здороваться. Кроме этого, я должен предупредить, что так как я пишу блогпост в Живом Журнале, а не статью для СМИ, я не буду перепроверять все свои утверждения, а также не буду делать расследование текущего состояния тех технологий, за которыми я перестал следить. Учитывая, что речь пойдет о развитии языковых средств за последние 15 лет, я могу запросто сказать что-нибудь не то.

2. Кратко

С моей точки зрения, SystemC всегда был и остается неудачной технологией, подерживаемой на плаву маркетингом различной степени недобросовестности. Несмотря на то, что некоторые группы в Европе в начале 2000-х годов стали использовать SystemC для системного моделирования, сейчас многие индустриальные команды стараются избавиться от кода, написанного на SystemC и перевести всю верификацию на SystemVerilog. Это связано с тем, что SystemC не ликвидировал неудобства, связанном с его использованием (см. ниже), а также не смог накопить критическую массу средств для functional-coverage based constraint random verification methodology - методологии, которая появилась в языках для верификации e/Specman, OpenVera и SystemVerilog, и которая стала в последние годы мейнстримом. Кроме этого, сейчас в индустрии приобретает все большую популярность Universal Verification Methodology (UVM), основанная на SystemVerilog. Так как эта методология еще год назад считалась нестабильной, существует множество мелких возможностей для создания разнообразных стредств автоматической верификации и тулов для верификационных инженеров на платформе UVM. Несмотря на то, что UVM критикуют за излишнюю сложность, эта все еще открытая ниша может эксплуатироваться как университетскими группами, так и небольшими компаниями.

Collapse )

Узнали ли вы в моем посте что-то для себя полезное?

Да, узнал
12(92.3%)
Я это и раньше знал
0(0.0%)
Панчул просто клевещет на западную Технологию, в которой на самом деле все идеально!
1(7.7%)
Я не согласен с постом (пояснить в комментариях)
0(0.0%)
Из-за бугра плюете?
0(0.0%)