Category: дизайн

2017

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

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

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

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

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













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

Ура!
49(96.1%)
Из-за бугра плюете?
2(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%)

Некоторые из ключевых людей в истории Verilog-а и SystemVerilog-а

Я проинтервьировал человека, который является для языка Verilog примерно тем же, кем являются для языка Си Керниган и Ричи. Джон Сангвинетти - ранний гуру верилога со времен 1980-х, основатель компании Chronologic Simulation, которая подарила миру быстрый симулятор верилога VCS (Verilog Compiled code Simulator), который сейчас использует большинство разработчиков крупных чипов. Джон поприветствовал российских молодых людей, которые изучают Verilog и высказал пару мыслей о высокоуровневом синтезе и его применимости к разработке out-of-order процессоров:



Применим ли высокоуровневый синтез к разработке out-of-order процессоров?



Для тех читателей, кто не в курсе, как выглядит Verilog, привожу один из примерчиков, которые я написал для студентов, вместе со схемой, в которую он транслируется ("синтезируется"):

module pow_5_implementation_3
(
    input clock,
    input reset_n,
    input run,
    input [17:0] n,
    output ready,
    output [17:0] n_pow_5
);

    reg [4:0] shift;

    always @(posedge clock or negedge reset_n)
        if (! reset_n)
            shift <= 0;
        else if (run)
            shift <= 5'b10000;
        else
            shift <= shift >> 1;

    assign ready = shift [0];

    reg [17:0] r_n, mul;

    always @(posedge clock)
        if (run)
        begin
            r_n <= n;
            mul <= n;
        end
        else
        begin
            mul <= mul * r_n;
        end

    assign n_pow_5 = mul;

endmodule




Из моего старого разъяснения:

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

Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. - получается файл под названием GDSII, который отправляют на фабрику, и фабрика выпекает микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.


На конференции DAC'15 в Сан-Франциско, где я словил Сангвинетти, также продавали книжки по верилогу:



А вот стенд компании Doulos Training которая за деньги учит инженеров разных компаний языкам Verilog и VHDL, верификации и связанным технологиям. У этой компании есть несколько конкурентов, в частности Willamette HDL и Sutherland HDL:



Также я встретил начальников отделения верификации в Synopsys, эта группа сейчас поддерживает симулятор верилога VCS.
Глава отделения - Manoj Gandhi (слева), Executive Vice President and General Manager, Verification Group, а справа - Jayant Nagda, он был менеджером реализации SystemVerilog в VCS в начале 2000-х:



А вот на стенде Cadence, конкурирующей с Synopsys компании, демонстрировали новый тул для синтеза Verilog-а под названием Cadence Genus - по-видимому конкурент Synopsys Design Compiler - основного тула для логического синтеза, используемого разработчиками ASIC-ов:



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

1984-1989
0(0.0%)
1990-1994
0(0.0%)
1995-1999
4(19.0%)
2000-2004
6(28.6%)
2005-2009
7(33.3%)
2010-2015
4(19.0%)

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

1984-1989
2(9.5%)
1990-1994
1(4.8%)
1995-1999
4(19.0%)
2000-2004
4(19.0%)
2005-2009
6(28.6%)
2010-2015
4(19.0%)

Видели ли вы другие HDL?

PALASM
2(7.7%)
ABEL
2(7.7%)
CUPL
1(3.8%)
IHDL
0(0.0%)
LOLA
2(7.7%)
Handel-C
2(7.7%)
Cynlib
1(3.8%)
Cycle-C
1(3.8%)
SystemC
11(42.3%)
SpecC
0(0.0%)
BlueSpec
0(0.0%)
Другие (пояснить в комментариях)
4(15.4%)



Мой полный отчет о DAC'15 - http://habrahabr.ru/post/260069

Мексика и Россия: схожие проблемы в обучении разработке электроники

Разговаривал с мексиканскими студентами, которые приехали на семинар MIPSfpga в Лос-Анджелесе. Вообще студенты учатся в Калифорнийском университете в Ирвайне, тоже возле Лос-Анджелеса, но при этом они являются участниками распределенной исследовательской группы, часть которой работает в университете в Мехико, в Мексике. Студенты говорят, что главная проблема Мексики заключается в том, что никому не приходит в голову, что в Мексике можно проектировать электронику - все покупают готовые изделия типа айфона у американцев. Миссия группы в КУ в Ирвайне и в Мексики - изменить это представление.



Мексиканская группа занимается разработкой своего собственного суперскалярного микропроцессора с архитектурой MIPS64 Release 6, той же архитектурой, которая используется и в новом микропроцессоре от Imagination Technologies - MIPS I6400. При этом микроархитектура (устройство конвейера и вычислительных блоков) у мексиканской группы своя.

Разработчики из UC Irvine и Мексики используют стандартную за последние 25 лет методологию электронного дизайна под названием Register Transfer Level (RTL, уровень регистровых передач). Согласно этой методологии, дизайн пишется на языке Verilog, после чего специальная программа (logic synthesis) превращает дизайн в граф из проводов и логических элементов, другая программа (static timing analysis) сообщает разработчику, вписывается ли он в бюджет скорости, а третья программа (place-and-route) раскладывает этот дизайн по площадке микросхемы.

Когда дизайн проходит все этапы: кодирование на верилоге, отладка, верификация, синтез, static timing analysis, floorplanning, place-n-route, parasitics extraction и т.д. – получается файл под названием GDSII, который отправляют на фабрику, где и изготавливаются микросхемы. Самые известные фабрики этого типа принадлежат компании Taiwan Semiconductor Manufacturing Company или TSMC.

Понятно, что обычно воплощение микропроцессора в кремний на фабрике стоит дорого, с начальными тратами на производство порядка миллиона долларов и выше. Такие траты оправданны только когда речь идет об отлаженном коммерческом продукте. Поэтому студенты пока используют софтверный симулятор Verilog-а и оценку задержек с помощью программы логического синтеза, затем собираются сделать прототип на ПЛИС / FPGA, после чего думают использовать сервис MOSIS для академических разработчиков который позволяет кооперироваться несколькими разработчикам для малотиражного производства микросхем.

Я сообщил студентам, что проблемы России похожи на проблемы Мексики, в том, что большинству россиян даже не приходит в голову, что в России можно проектировать современную электронику. Хотя у России есть сильное преимущество - даже в годы упадка 1990-х российское правительство подкармливало государственными заказами для космоса и других применений несколько групп разработчиков в Зеленограде. Поэтому в России есть плацдармы, с которых можно развить отрасль, чтобы доля российской микроэлектроники в мире поднялась от современных ~0.5% до хотя бы ~5%.

Впервые опубликовал на http://habrahabr.ru/post/258109/

У кого лучше шансы в микроэлектронике - у России или Мексики?

У России, из-за большего качества и количества преподавания математики и физики
10(13.3%)
У России, из-за существования дюжины дизайн-центров, которые в тяжелые годы жили на госзаказы
12(16.0%)
У России, из-за наличия пусть не самых новых, но своих фабрик, вокруг которых можно обучать студентов
8(10.7%)
У Мексики, из-за географической близости к Соединенным Штатам
10(13.3%)
У Мексики, из-за меньшего числа гемороя по поводу экспортного контроля
11(14.7%)
Росийскому правительству было бы неплохо сделать российский аналог MOSIS или Europractice для образования
16(21.3%)
Забыли про Украину! Из-за бугра плюете?
8(10.7%)
Waveform 8 delay 5

Почему микроэлектроника не сводится к гонке за нанометрами





Почему микроэлектроника не сводится к гонке за нанометрами
Юрий Панчул, Саннивейл, Калифорния, апрель-май 2013

1. Введение

Господа! В нескольких ветках предыдущего поста возникла дискуссия, сводится ли микроэлектроника к гонке за нанометрами.

Ответ на этот вопрос не менее архиважен для будущего России, чем судьба Пусси Райотс.

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

К счастью, микроэлектроника НЕ сводится к гонке за нанометром, и российским разработчиками микросхем ЕСТЬ что ловить. В частности, они могут создавать прибавочную стоимость за счет выдумывания более хитрой микроархитектуры специализированных IP-блоков и лицензирования оных международным компаниям.

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


2. Отступление. Архитектура и микроархитектура - два большие разницы.

Вопрос микроархитектуры вызывает замешательство у трех групп людей, спорящих о вопросе:

1. У Юлии Латыниной, also known as "стрелка осциллографа".
2. У чистых программистов, которые рассматривают процессор как черный ящик.
3. У чистых физиков, которые видят на уровне транзистора.

Чистым програмистам при слове "микроархитектура" мерещится либо архитектура, либо многоядерность, либо выплывшее из какой-то старой книжки смутное слово "микрокод". А чисто физическое видение мира иногда передается даже некоторым программистам, которые специализируются на EDA-тулах физического уровня (EDA = Electronic Design Automation).

Поэтому введем понятия архитектуры и микроархитектуры.

Архитектура процессора - это то, как процессор выглядит для программиста. В нее входит система команд, видимая программисту организация памяти и видимых программисту регистров.

Микроархитектура процессора - это то, как процессор выглядит для разработчика логики (но не физики) процессора. В нее входит организация конвейера, алгоритм предсказателя перехода, такие трюки как forwarding, register renaming и т.д.

Collapse )

3. Разъяснение на пальцах концепций комбинационной (combinational), секвенциальной (sequential) и конвейерной (pipelined) организации вычислений

Представьте, что вам нужно организовать работу медкомиссии военкомата. Это можно сделать несколькими способами, в зависимости от поставленных целей.

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




Collapse )

4. Проиллюстрируем наши рассуждения кодом и мигающими лампочками

Для иллюстрации я не буду использовать конвейерный процессор, а возьму нечто гораздо более базовое, а именно покажу свою реализацию несколькими способами хардвера для вычисления целочисленного квадратного корня. Я выложил весь код на https://code.google.com/p/fpga-examples/source/browse/trunk/showroom/isqrt/

Если вы никогда не слышали слова "верилог", "синтез", "симуляция", то я рекомендую вам для начала прочитать мой пост в ru_programming

http://ru-programming.livejournal.com/1271886.html
Введение в дизайн харвера микросхем для тех программистов, которые этим никогда не занимались

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

Hacker's Delight (2nd Edition) by Henry S. Warren

http://www.amazon.com/Hackers-Delight-Edition-Henry-Warren/dp/0321842685

Collapse )

5. Комбинационная имплементация

Collapse )

Эта комбинационная (combinational) имплементация. Протокол общения с ней очень прост - нужно положить число на вход x, и через довольно длинное по хардверным меркам время (типа 100 наносекунд на Altera Cyclone II FPGA) на выходе появится правильное значение. Все эти томительные 100 наносекунд комбинаторная логика внутри дизайна будет чавкать и булькать вдоль довольно длинного combinational path, пока не прийдет в стабильное состояние. Вот фрагмент этого пути:



6. Секвенциальная имплементация

Количество логики можно сильно уменьшить, если имплементировать только одну итерацию цикла, с одним сумматором и компаратором, но прогнать через него временные значения x и y шестнадцать раз. Для того, чтобы железо (косная материя) поняла недвусмысленно, что бы хотите делать чего-нибудь итеративно, вам прийдется ввести концепцию тактового сигнала (clock) и импементировать фактически небольшой конечный автомат.

Collapse )

7. Вопросы стиля при секвенциальной имплементации

У читателя моего блога, который начинает использовать Верилог, может появиться два вопроса:

1. А зачем делать два always-блока (combinational и clocked)? Почему бы не поместить все в один clocked always block? Ведь синтезатору все равно?
2. Почему все присваивания в combinational always block являются blocking, а все присваивания в clocked always block являются non-blocking?

Collapse )

Этот дизайн можно гонять на довольно неплохой тактовой частоте - 123 MHz на Altera Cyclone II FPGA, т.е. каждый цикл будет занимать всего восемь с небольшим наносекунд. К сожалению, это не впечатляет, так как на вычисление каждого квадратного корня будет тратиться 16 циклов или в сумме более 130 наносекунд, что хуже, чем комбинационный квадратный корень.

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

Пропускную способность дизайна можно существенно повысить тремя способами:

1. Введением нескольких вычислителей квадратного корня, работающих параллельно (в рамках военкоматной аналогии - введение нескольких комиссий на военкомат)
2. Организацией конвейера
3. Введением передового нанометра (этот способ из-за происков Госдепа против россиян мы не рассматриваем)


8. Постепенно введем конвейерную имплементацию

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

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

Пропускная способность может увеличиться не в 16 раз (так как во многих дизайнах стадии разные) но в несколько раз, за вычетом неравномерности скорости в разных стадиях и издержек (setup и hold time) на вход и выход из каждой комнаты.

Для начала структурируем нашу комбинационную имплементацию, чтобы она не шокировала людей.

Для начала сделаем подмодуль, который имплементирует комбинационную логику для одной итерации:

http://fpga-examples.googlecode.com/svn/trunk/showroom/isqrt/004_combinational_structured_no_generate/isqrt_slice.v

module isqrt_slice
(
    input  [31:0] ix,
    input  [31:0] iy,
    output [31:0] ox,
    output [31:0] oy
);

    parameter [31:0] m = 32'h4000_0000;

    wire [31:0] b      = iy | m;
    wire        x_ge_b = ix >= b;

    assign ox = x_ge_b ? ix - b : ix;
    assign oy = (iy >> 1) | (x_ge_b ? m : 0);

endmodule




Collapse )

У такого описания есть несколько проблем стиля, которые OK для небольших дизайнов, но которые могут превратиться в большие проблемы, когда количество cтрочек кода меряется в сотни тысяч.

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

И особенно не рекомендуется подсоединение к портам по позиции, а не по имени. То же относится к параметрам модулей. Даже для небольших модулей лучше методически подсоединять по имени, т.е. писать не "f #(a) i (b, c)", а "f #(.a (a)) i (.b (b), .c (c))". Потому что потом кто-нибудь введет в модуль f дополнительный параметр или порт, а кто-нибудь другой перепутает порядок или не обратит внимание на warning с подсоединением по умолчанию.

В SystemVerilog введена конструкция для специального подсоединения по имени по умолчанию (".*"), но она может не поддерживаться бесплатными тулами от Xilinx и Altera, которые я рекомендую для читателей, не имеющих доступа к Synopsys, Cadence и полной версии Mentor.

Collapse )

Правда как вы понимаете, у этой версии есть очень противная черта - многословие. К счастью, в районе 2000-го года в новый стандарт верилога (Verilog 2000 который из-за опоздания стал Verilog 2001) спионерили полезную конструкцию из VHDL под названием generic и с ее помощью адское многословие Verilog-95 удалось обуздать. До появления generate в верилоге наиболее хитрозадые пользователи использовали Perl-генерируемый код, при виде которого возникало желание никогда не связываться с этой профессией, а стать феминистическим журналистом, как Наталья Радулова.

Collapse )

Почти готово.

9. Конвейерная имплементация с 16 стадиями конвейера

Collapse )

Collapse )

Пропускная способность (количество вычислений квадратного корня в секунду) у данного устройства будет 175 миллионов вычислений при имплементации на Altera Cyclone II. Хотя каждый отдельный корень будет проходить через устройство за 16 циклов или (1000 / 175) * 16 = примерно 90 наносекунд, одновременно в устройстве будут находится 16 корней на разных стадиях обработки, т.е. обрабатываться будет корень в цикл.

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

Collapse )

Collapse )

Для иллюстрации поведения дизайнов во времени по циклам тактового сигнала привожу три теста и три waveform diagrams, сделанные в бесплатной версии ModelSim-а. Правда имейте в виду, что я не ставил реальный timescale, т.е. все числа пикосекунд нужно игнорировать и ориентироваться только по тактовому сигналу. Комбинационный же дизайн симулируется как работающий мгновенно (т.е. все действия внутри вычислительного модуля происходят за время 0:

Collapse )

Collapse )

10. Конвейерная имплементация с параметризуемым количеством стадий конвейера - 1, 2, 4, 8 или 16 стадий

И наконец, с небольшим творческим усилием можно сделать модуль параметризуемым - с возможностью задания ему количества стадий конвейера - 1, 2, 4, 8 или 16 стадий.

http://fpga-examples.googlecode.com/svn/trunk/showroom/isqrt/008_pipelined/isqrt.v

// pipelined with configurable number of stages

module isqrt
(
    input         clock,
    input         reset_n,
    input  [31:0] x,
    output [15:0] y
);

    parameter n_pipe_stages = 16;

    localparam n_slices           = 16;
    localparam n_slices_per_stage = n_slices / n_pipe_stages;

    localparam [31:0] m = 32'h4000_0000;

    wire [31:0] ix [0:15], iy [0:15];
    wire [31:0] ox [0:15], oy [0:15];

    generate
        genvar i;

        for (i = 0; i < 16; i = i + 1)
        begin : u
            if (i % n_slices_per_stage != n_slices_per_stage - 1)
            begin
                isqrt_slice_comb #(.m (m >> i * 2)) inst
                (
                    .ix      ( ix [i]  ),
                    .iy      ( iy [i]  ),
                    .ox      ( ox [i]  ),
                    .oy      ( oy [i]  )
                );
            end
            else
            begin
                isqrt_slice_reg #(.m (m >> i * 2)) inst
                (
                    .clock   ( clock   ),
                    .reset_n ( reset_n ),
                    .ix      ( ix [i]  ),
                    .iy      ( iy [i]  ),
                    .ox      ( ox [i]  ),
                    .oy      ( oy [i]  )
                );
            end
        end

        for (i = 1; i < 16; i = i + 1)
        begin : v
            assign ix [i] = ox [i - 1];
            assign iy [i] = oy [i - 1];
        end

    endgenerate


    assign ix [0] = x;
    assign iy [0] = 0;

    assign y = oy [15];

endmodule


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

Версия с 4 стадиями конвейера (фрагмент):



Версия с 8 стадиями конвейера (фрагмент):



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

Я сделал табличку для синтеза на Altera Cyclone II, на нем все довольно нелинейно, но вы можете увидеть так сказать тренд в тактовой частоте:

# стадий конвейера # комбинаторных функций # регистров частота, MHz
1 82 5 n/a
2 82 15 79.38
4 142 38 74.31
8 102 48 127.18
16 94 111 175.53


А вот пепелац, на котором я прогнал все тесты вживую с миганиями лампочек - студенческая плата Altera / Terasic DE1:




Poll #1915941 Почему микроэлектроника не сводится к гонке за нанометрами

Вам понравился мой образовательный пост? Хотите еще?

Это был образовательный пост?
16(19.3%)
Мои родители не одобряют, что я читаю ваш ЖЖ
3(3.6%)
Очень понравился, вот такое раз в месяц - и мы сможем возродить СССР!
48(57.8%)
Я почувствовала в посте сексизм и контрреволюционность, но не могу указать, в какой строчке
10(12.0%)
Из-за бугра плюете?
6(7.2%)

Что вам больше всего понравилось в моем посте?

Вступление про клин протестантских журавлей и Пусси Райотс
7(8.9%)
Дискуссия про архитектуру и микроархитектуру
10(12.7%)
Аналогия про комбинационный, секвенциальный и конвейерный военкомат
12(15.2%)
Путь от "наивной" комбинационной имплементации к структурированной с generate
10(12.7%)
Секвенциальная имплементация и вопросы стиля хорошо верифицируемого HDL
8(10.1%)
Конвейерная версия, ее параметризованная форма, анализ тайминга и пропускной способности
10(12.7%)
Пепелац с кнопочками и мигающими лампочками
22(27.8%)

Какая девушка, образ которой приведен в посте, имеет самое одухотворенное выражение лица?

Надя Толокно
32(41.0%)
Юлия Латынина
7(9.0%)
Наталья Радулова
13(16.7%)
Я готова выставить свои фотографии ню для следущего поста Панчула с кодом на верилоге или ассеблере
9(11.5%)
Из-за бугра плюете?
17(21.8%)
Waveform 8 delay 5

Визит делегации MIPS Technologies в офисы MФТИ в Долгопрудном



Сегодня, 6 июля, в офисы МФТИ в Долгопрудном приедет делегация компании MIPS Technologies, известной как разработчик процессоров для бытовой электроники и сетевых устройств. Процессорные ядра MIPS используются в телевизорах Sony, роутерах Cisco, принтерах Hewlett-Packard и других устройствах. В делегацию MIPS на физтех входят члены европейского представительство MIPS Technologies в Германии – Vice President European Operations Stefan Büchmann и Solutions Architect Christian Berg, а также двое русских инженеров-физтехов из штаб-квартиры MIPS Technologies в Саннивейл, Калифорния – Юрий Панчул и Сергей Вакуленко.

Визит делегации MIPS Technologies в офисы МФТИ в Долгопрудном состоится в среду 6 июля с 14.00 до 18.00. Если у вас есть какая-либо интересная идея, которая имеет отношение к экосистеме MIPS, то у вас есть возможность подойти в это время на физтех и познакомится с европейским представительством компании лично, чтобы вам потом было проще обсуждать технические и бизнес-детали вашей идеи по е-мейлу.

Этот визит стал возможен в результате контактов с MIPS Technologies сотрудников МФТИ - Юрия Аммосова, Антона Моисеева, Александра Злобина, Александра Бибикова, Александра Тормасова и их студентов.

Ниже - небольшой текст о том, чем занимается MIPS Technologies и почему MIPS приехал на физтех.

Collapse )

Collapse )

Collapse )

Collapse )

Collapse )

Вы придете на физтех?

Всенепременно
2(6.9%)
Я бы пришел, но я не физтех
7(24.1%)
Я физтех, но меня отделяют от Долгопрудного океаны
5(17.2%)
А туда придет феминистка Радулова, чтобы поразить Панчула электрошокером?
11(37.9%)
Из-за бугра плюете?
4(13.8%)


2017

Мой молескин - Electronic Design Automation и радуловщина

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

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

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

Collapse )

Я выложил текст выше как фрагмент большого поста на http://ru-programming.livejournal.com/1271886.html пару недель назад и меня тут же стали упрекать, что мой текст "устарел", так как он не рассказывает про развитие тулов High-Level Systhesis за последние 15 лет. Ад! Особенно учитывая, что 15 лет назад я был одним из пионеров этой группы технологий (см. напр. United States Patent 6226776, Panchul et al). Тем не менее, последнего я не сказал, а ответил вот так:

Если говорить о всех новых разработках (пост-RTL), то это собъет с толку начинающего читателя. См. http://ru-programming.livejournal.com/1271886.html?thread=20457806#t20457806

Вообще у меня есть надежда именно на то, что те или иные сегодняшние молодые люди прочтут это (стандартный RTL -> GDSII flow), потом посмотрят, что дальше (уровень выше, чем RTL), выяснят, что дальше в последние 15 лет происходил разброд и шатания и придумают что-то новое. Проблема еще далеко не решена.


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

* * * * *

Текст 2. Обращение к журналисту Юрию Васильеву с просьбой помочь мне уломать его коллегу Наталию Радулову вступить со мною в публичный диспут:

http://scottishkot.livejournal.com/826547.html?thread=28857523#t28857523

Товарищ Юрий Васильев!

У меня к вам имеется деликатная просьба как журналист журналиста (правда я не профессиональный журналист так как написал всего 40 статей, но тем не менее).

После 20 лет жизни в Калифорнии я собираюсь посетить Москву (с 2 по 10 июля). До 7 июля у меня деловые встречи, но потом я буду рассматривать достопримечательности.

И Главной Московской Достопримечательностью для меня является ... да, вы угадали - ваша коллега Наталия Радулова. Нельзя ли мне зайти в вашу редакцию в пятницу, 8 июля и сходить на ланч с вашим журналистским коллективом во главе с Наталией? Для меня посетить Москву без ланча с Наталией Радуловой - это как посетить Ленинград без посещения Эрмитажа или Вашингтон без Смитсоновского Музея.

Я буду вести себя хорошо.

Да, я знаю, что Наталия написала обо мне некоторое количество нехороших слов, но бОльшая часть их них является её фантазиями.

Например она утверждает, что я якобы взламывал её какие-то странички в социальных сетях, но этого не может быть, так как я не обладаю skills (трудовыми навыками) в области интернет-технологий. Да, я технический специалист, но у меня очень узкая специализация - моделирование систем на чипе. Для меня взламывать соцсети так же трудно, как для скульптора танцевать балет (хотя и скульптор, и балерун technically speaking оба являются работниками искусства).

Откуда же у Наталии возникли эти фантазии? Возможно они появились в её мозгу спонтанно, из-за творческой природы натуры Наталии, но скорее всего эти фантазии придумал её психоаналитик. Не зря американцы говорят "В психоаналитики идёт тот, кто хотел пойти в мединститут (medical school), но провалил экзамен по органической химии".

Также вы не могли бы пригласить на наш с Наталией ланч вашего главного редактора Виктора Лошака? Я хочу предложить ему попробовать меня в роли колумниста. Я могу вести колонку "Женщина глазами мужчины" - скажем раз в две недели по 6000 символов с пробелами. По четным неделям в Огоньке будет писать Наталия ("Мужчина глазами жещины"), а по нечетным неделям я буду ей "отвечать". Не менее десятка читателей "Огонька" в разное время утверждали, что мои комментарии к статьям Наталии Радуловой были для них интереснее, чем сами статьи.

UPD: Интересно, а зачем Радулова спрятала от посторонних глаз пост http://radulova.livejournal.com/2112470.html в котором она меня пиарила? Вот чудачка, у меня же скриншот есть:

Collapse )


Какой текст вам ближе?

Мне близки оба текста
6(23.1%)
Мне ближе текст про Electronic Design Automation
9(34.6%)
Мне ближе текст про Радулову
8(30.8%)
Ни тот, ни другой. Я вообще не понимаю, что я делаю в журнале Панчула
3(11.5%)
Из-за бугра плюёте?
0(0.0%)

Кто-нибудь из моих читателей возмется уломать Радулову прийти на нашу встречу в Москве 9 июля в 11 утра у памятника Пушкину?

Я берусь уломать Радулову по е-мейлу radulova2009@gmail.com
0(0.0%)
Я берусь уломать Радулову разговором в реале
0(0.0%)
Да она и сама прийдет
5(19.2%)
Панчул! После этого текста я сама встречу тебя еще в аэропорту с распростертыми объятиями!
2(7.7%)
Панчул! После этого текста я сама встречу тебя еще в аэропорту с газовым баллончиком!
2(7.7%)
Радулова улетит на неделю в Калифорнию, пока Панчул в Москве и не может случайно встретить её в Голливуде
13(50.0%)
Из-за бугра плюёте?
4(15.4%)
2017

Решил сразиться с Ваксельбергом за сердце Маши Сергеевой

Сегодня днем я прививал камелии. И вдруг неожиданно я получил твит от Маши Сергеевой anaitiss:



Я прошел в ЖЖ Маши и обнаружил, что она решила расспросить известного олегарха Ваксельберга про Сколково, но не была полностью удовлетворена его ответом.

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

Итак сначала вопрос Маши Вексельбергу:

Мария Сергеева – здравствуйте, меня зовут Сергеева Мария. У меня 2 вопроса. Первый такой вопрос: я знаю, что сейчас подобного рода инновационные площадки, инновационные города делаются не только в России. И в чем преимущество именно Сколково? И второй вопрос. Я очень много слышала от разного рода государственных деятелей такого рода аксиому, под которой подразумевается, что Россия полна Зворыкиных, полна Кулибиными. И вообще надо государству хоть что-нибудь сделать и тут же к нам сюда попрут, главное только их найти. Но де-факто Зворыкины и Кулибины советской школы умудрились уехать в Лондон, США. Сейчас та система образования, которая есть у нас, ну она объективно слабее, чем та, которая была у нас 20 лет назад. Это просто даже мне заметно, что люди, которые на 10 лет меня старше, их средняя общеобразовательная школа была, в принципе, сильнее. Вы говорили про Сингапур. Я сама там видела, что делалось в Китае в инновационных городах. Там у них есть такое конкурентное преимущество – дешевая рабочая сила. А что будет у нас?

Виктор Вексельберг – вы знаете, спасибо за вопрос. Одним из главных аргументов у меня проведения такого рода встреч и общений, причем с широким Интернет-сообществом как раз и попытка найти ответы на этот вопрос. Понятно, в Силиконовой долине ходят в шортах, а у нас за окном метель. Непросто. Мы думали и продолжаем думать о том, чем же мы будем привлекать сюда молодых талантливых ученых для того, чтобы они работали здесь, а не работали там. Знаете, сейчас Алексей попробует помочь. Я считаю, что, в конечном счете, как бы мы не говорили, но этот проект будет российский. И мы исходим из того, что в силу самых разнообразных культурно-исторических причин, в России, мы верим, все-таки есть достаточно большой потенциал, интеллектуальный потенциал, который не находит возможности для своей реализации. И вообще говоря, когда мы говорим о Сколково надо реально себе давать отчет, что это не тот проект, который может перевернуть всю экономику России. Мы не ставим перед собой такой задачи, но в значительной степени видим задачу интерпретировать проект «Сколково» как пилотный проект для того, чтобы на нем откатать некоторые правила, процедуры, форматы. Collapse )

Альтернативный ответ Юрия Панчула:

Юрий Панчул: Мария, прежде всего вы не совсем правы насчет Сингапура. У меня информация из первых рук – в 1994-1995 я работал в американском отделении сингапурской компании Creative Technologies, которая в начале 1990-х была символом сингапурского хайтека и дарлингом Волл-Стрита. Наш основатель был самым молодым сингапурским миллиардером, он приезжал к нам в Милпитас, Калифорния и пожимал нам, инженерам, руки. Я был немножко влюблен в сингапурскую девушку-инженера, а другая девушка-инженер из Гонконга была возможно немножко влюблена в меня, по крайней мере сослуживцы мне несколько раз толсто намекали, что у неё нету бойфренда.

Да, так о чем это я ... Ах, да, дешевая рабочая сила. Наша «дешевая рабочая сила», то бишь фабрика для производства всяких плат (или по крайней мере одна из фабрик), находилась в штате Оклахома – отнюдь не самом дешевом месте на Земле. Конечно, в то время коммунистический Китай не был так развит для производства, как сейчас, но была куча других более дешевых мест, чем американская провинция Оклахома, например Малайзия, Индонезия и т.д.

Что же было конкурентным преимуществом Creative Technologies? Я считаю, то же, что является и важным конкурентным преимуществом многих современных китайских компаний – беззастенчивый незакомплексованный оппортунизм, позволяющий им находить незанятые места или перекосы рынка, после чего бросаться на них в манере акулы, почувствовавшей запах крови. Creative начиналась как лавка по ремонту компьютеров, затем они сделали одну из первых звуковых карт, их конкуренты не смогли имитировать эти карты достаточно точно, из-за чего писатели драйверов и софта оставались лояльными к Creative, из-за чего компания несколько лет выжимала все что можно из этой рыночной ниши.

Какие же перекосы и несовершенства мирового рынка могли бы эксплуатировать российские компании? Collapse )



Poll #1720294 Как вы думаете, кто лучше ответил Маше - Юрий Панчул или Виктор Ваксельберг

Как вы думаете, кто лучше ответил Маше - Юрий Панчул или Виктор Ваксельберг?

Юрий Панчул
39(90.7%)
Виктор Ваксельберг
4(9.3%)

И чего еще скажете?

Тысяча чертей, да ведь Маша Сергеева действительно может сфоткаться с Панчулом у MIPS Technologies!
14(31.1%)
Что бы не говорил Панчул, его Ваксельберг яйцами Фаберже задавит
16(35.6%)
О, молодая фотка Панчула в костюмчике снята в году, когда он здоровался с сингапурским миллиардером?
8(17.8%)
Сволочь ты Панчул, как и всякий русский мужик. Сергеевой опус написал, а мне сегодня комментарий не оставил. Радулова.
5(11.1%)
Из-за бугра плюёте?
2(4.4%)
2017

В комментариях к статье Радуловой спросили "Как стать верификационным инженером цифрового дизайна"?

В комментариях к статье Радуловой про её депрессии и хождения по психиатрам меня спросили "Как стать верификационным инженером цифрового дизайна"? Хотя я скорее инженер в области тулов для верификационных инженеров (Electronic Design Automation), чем верификационный инженер как таковой, но мы это все проходили и проходим, так что я ответил:



Для того, чтобы стать верификационным инженером электронного дизайна, человеку нужны знания в трех областях:

1. Базовые представления о дизайне цифровой логики - clock, combinational and sequential logic, state machines, bus protocols, знание языка описания хардвера Verilog.

2. Умение программировать, хотя особая виртуозность при этом не обязательна. При этом, знание объектно-ориентированного программирования полезно, хотя не обязательно (введение в ООП содержиться в курсах по SystemVerilog для верификационных инженеров)

3. Специфические верификационные технологии - coverage-driven constrained random-based verification methodology, SystemVerilog, SV assertions, Universal Verification Methodology (UVM).

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


Базовые представления о дизайне цифровой логики можно получить с помощью изучения любой вводной книжки по цифровому дизайну, например Sarah Harris. Digital Design and Computer Architecture. В ней же содержится введение в язык Verilog.

Вообще кучу таких книжек можно отыскать на Amazon.com по ключевым словам "logic design".

Также полезно перед нырянием в SystemVerilog выучить Verilog, по которому тоже сейчас есть куча книжек. Поиск по ключевому слову Verilog


Далее идут специфические книжки по SystemVerilog - Поиск по ключевому слову Verilog

Из них легче всего читать Chris Spear. SystemVerilog for Verification: A Guide to Learning the Testbench Language Features

Также есть широко известная, но несколько нудноватая книжка
Janick Bergeron. Writing Testbenches using SystemVerilog


Чрезвычайно полезны курсы. Курсы бывают трех видов:

1. Курсы в университетах, причем не только для full-time студентов, но и всякие вечерние и одноразовые курсы. Например вот список курсов в University of California Santa Cruz Extension in Silicon Valley:
http://www.ucsc-extension.edu/programs/vlsi-engineering/courses

2. Курсы от производителей софтвера для верификационных инженеров, а именно компаний Synopsys, Cadence и Mentor Graphics.
Такие курсы делаются как внутри компаний, так и краткие однодневные введения в те или иные технологии на коференциях типа DVCon:
http://www.dvcon.org/monmat.html

3. Курсы от специализированных компаний для тренировки инженеров в области электроники, в частности:
Wilamette HDL - http://www.whdl.com
Doulos - http://www.doulos.com

Также есть полезные вебсайты:

Ведение - http://www.asic-world.com
Введение - http://testbench.in
Universal Verification Methodology - http://uvmworld.org
Протоколы шин Open Core Protocols (OCP) - http://www.ocpip.org
Комитеты по стандартам - http://www.accellera.org


Poll #1706571 Какой текст из моих двух последних постов вам понравился больше всего?

Какой текст из моих двух последних постов вам понравился больше всего?

Рассказ Радуловой про её походы к психиатрам, психологам и психоаналитикам
0(0.0%)
Суждение Панчула о том, как Радуловой найти Цель Жизни
4(11.4%)
Художественный рассказик Панчула "Радулова и Маньяк"
3(8.6%)
Советы Панчула "Как стать верификационным инженером цифрового дизайна"
22(62.9%)
Из-за бугра плюёте?
6(17.1%)


UPD: Интересно, почему меня расфрендила ubunturka? Она испугалась, что я в очередную поездку в Лос-Анжерес напишу в реале рассказик "Ubunturka и Маньяк"?
2017

Опросник по инструментарию для программистов, электронных дизайнеров и верификационных инженеров

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

Collapse )