?

Log in

No account? Create an account
Исходники промышленных процессоров станут доступными для университетов - Юрий Панчул [entries|archive|friends|userinfo]
Money can buy bandwidth. Latency requires bribing God.

[ website | My Website ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Исходники промышленных процессоров станут доступными для университетов [Apr. 21st, 2015|11:21 pm]
Yuri Panchul
Господа! На днях Imagination Technologies (компания, которая спроектировала графический процессор PowerVR GPU внутри Apple iPhone) и Xilinx (компания №1 в ПЛИС-ах / FPGA) начали понемногу предавать гласности несколько иконоборческую инициативу по бесплатной раздаче университетам исходников современного индустриального процессорного ядра MIPS microAptiv UP, которое используется например в микроконтроллере Microchip PIC32MZ. Студенты смогут менять команды этого процессора, добавлять к нему свои периферийные устройства и реализовывать полученный дизайн на ПЛИС-ах.

Вот линк на сообщение о семинаре 13-14 мая возле Лос-Анжелеса, на котором Imagination и Xilinx будет показывать новый продукт под названием MIPSfpga представителям academia - http://imgtec.com/mipsfpga

Фактически MIPSfpga - это бесплатная лицензия на базовую конфигурацию экономичного процессорного ядра MIPS microAptiv UP, которое предоставляется в исходных текстах на языке описания аппаратуры Verilog. Это то же самое ядро, которое продается коммерческим клиентам за сотни тысяч долларов. MIPS microAptiv UP - это простой дизайн с пятью стадиями последовательного конвейера (как в учебниках компьютерной архитектуры), но в нем есть кэши и TLB MMU. TLB MMU позволяет даже использовать на нем Линукс.

Описание ядра: http://www.imgtec.com/mips/aptiv/microaptiv.asp



Наиболее широко известным примером использования ядра MIPS microAptiv UP является 32-битный микроконтроллер Microchip PIC32MZ, который начали выпускать в прошлом году. А из самых последних примеров использования: 10 апреля этого года Electronic Engineering Times опубликовала статью про южнокорейский стартап Standing Egg, который лицензировал ядро MIPS M5100 (фактически MIPS microAptiv без кэшей и MMU, но с добавленным расширением для виртуализации) для создания платформы для MEMS сенсоров, с приложениями для Internet of Things:

http://www.eetimes.com/document.asp?doc_id=1326327




Разработчики микросхем с MIPS microAptiv UP используют стандартную за последние 20 лет методологию электронного дизайна под названием 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. При этом, ничего не мешает производить микросхемы с ядром MIPS microAptiv UP на российских фабриках Микрон и Ангстрем.

Альтернативой производству микросхемы на фабрике является реализация дизайна на программируемых пользователем матрицах логических элементов (Field Programmable Gate Array - FPGA), что и используется для образовательных целей в новом продукте MIPSfpga.

Хотя пакет MIPSfpga и заточен на синтез для FPGA (например в MIPSfpga есть реализация памяти внутри кэшей, используя макро для Xilinx Artix-7 и Altera Cyclone IV), но в основном это те же исходники, которые используются и для синтеза в ASIC. Иными словами, студенты и аспиранты могут экспериментировать с ядром на недорогих FPGA-платах, придумать какое-нибудь интересное решение (скажем многоядерную SoC из малых некогерентных ядер, или комбинацию из ядра MIPS microAptiv UP со специализированным студенческим DSP процессором), не вкладывая при этом денег инвесторов, после чего, когда идея доказана, найти инвесторов, приобрести коммерческую лицензию и сделать микросхему на фабрике - ASIC.

Обращаю внимание, что в случае с MIPSfpga речь идет не об ограниченном образовательном подмножестве MIPS (таких подножеств довольно много из других источников) и не об open-source ядре типа OpenRISC или Leon4, а о коммерчески успешном современном индустриальном ядре, которое за деньги лицензировало несколько десятков компаний.

У конкурирующей компании ARM тоже есть soft core для образовательного экспериментирования на FPGA, но их ядро не в открытом исходном тексте (т.е. студенты не могут подключать провода к внутренним регистрам и модифицировать верилог), у ARM-овского ядра ARM Cortex M0 в конкурирующем продукте нет кэшей, интерфейса к отладчику и TLB MMU. Все это у MIPSfpga есть.

Дополнительные детали:

Сейчас MIPSfpga работает на двух платах Digilent Nexys-4 с Xilinx Artix-7 и Altera DE2-115 с Cyclone IV E. У первой академическая цена $180 / коммерческая $320, у второй академическая $300 / коммерческая $600. Перенести его на другие платы довольно легко (при условии, что вместится) – нужно заменить некоторые макро для памяти и подсоединить top-module к board-specific внешнему verilog wrapper-у. В частности, можно попробовать перенести его на дешевую плату Digilent Basys-3 с Xilinx Artix-7 (академическая $80 / коммерческая $150), а также на платы, которые спроектированы или производятся в России.



В качестве toolchain предлагается Codescape MIPS SDK, который содержит отладчик и GCC toolchain. Связь между отладчиком и платой Nexys-4 делается с помощью EJTAG, BusBlaster probe и OpenOCD. На Altera DE2 115 применяется отладочный интерфейс который стоит прямо на плате, т.е. BusBlaster не нужен. Также прилагается Boot code на ассемблере, который инициализирует кэши и MMU и т.д.

Теперь какое это может иметь отношение к вам:

1. Первый этап апробации MIPSfpga на трех университетах в US и UK успешно завершен. Теперь продукт будет проходить бета-тестирование в бОльшем количестве университетов в США, Европе и Азии. Если вы работаете в университете, и в нем есть достаточная экспертиза в Verilog или VHDL чтобы работать с пакетом, то вы можете принять участие как early adopter и получить преимущество перед другими вузами в его использовании.

2. 13-14 мая в Лос-Анжелесе будет проходить семинар, организованный Imagination Technologies вместе с Xilinx, на котором профессора Harvey Mudd College и application engineers из Imagination будут тренировать профессоров различных вузов использовать MIPSfpga. Если вы или кто-либо из ваших знакомых преподавателей уиверситетов хочет в нем участвовать и может приехать в это время в Лос-Анжелес, просьба связаться либо с менеджером образовательных программ Робертом Оуэном (его координаты в http://imgtec.com/mipsfpga ), либо со мной (yuri.panchul@imgtec.com).

3. К моменту семинара в Лос-Анжелесе MIPSfpga будет официально объявлен, а после завершения (1) станет общедоступным. Поэтому если вы не имеете возможности принять участие как early adopter, вы тем не менее сможете начать работать с продуктом летом.

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

Юрий Панчул
Senior Hardware Design Engineer, MIPS processors
Imagination Technologies


Этот текст я сначала написал для http://habrahabr.ru : Исходники промышленных процессоров станут доступными для университетов


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

Основами цифровой схемотехники
13(21.3%)
Язык описания аппаратуры Verilog, подмножество для уровня регистрового обмена (RTL)
7(11.5%)
Язык описания аппаратуры VHDL, подмножество для уровня регистрового обмена (RTL)
4(6.6%)
Язык описания аппаратуры Verilog, подмножество для верификации
2(3.3%)
Язык описания аппаратуры VHDL, подмножество для верификации
2(3.3%)
SystemVerilog
3(4.9%)
Архитектура процессоров — система команд, ассемблер
12(19.7%)
Микроахитектура процессоров — организация конвейеров, блоков вычислений
7(11.5%)
Разработка систем на кристалле, уровень верификации протоколов и системы
2(3.3%)
Разработка систем на кристалле, физический уровень
0(0.0%)
Linux, MEMS, Internet of Things, другое (рассказать в комментариях)
9(14.8%)
LinkReply

Comments:
From: raygo
2015-04-22 09:16 am (UTC)
Извините, а вы не знаете -что там у хохлов ?
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 10:53 am (UTC)
В Киев приехал Макфол @mcfaul , омайданенные близки к экстазу, что он назвал Киев - Kyiv, а не Kiev - на фейсбуке.
(Reply) (Parent) (Thread)
[User Picture]From: sergegers1
2015-04-22 10:05 am (UTC)
А вот, допустим, Super Mario на нём можно запустить?
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 10:50 am (UTC)
Можно, если подсоединить нужную периферию и поставить нужный софт
(Reply) (Parent) (Thread)
[User Picture]From: oppad1
2015-04-22 11:03 am (UTC)
а что это даст против микроблейза? там тоже все, что описано есть.
может патентную чистоту? то есть использовать это ядро не только с ксайлинсами, но и, например, печь отечественные БМК и чипы (отпрототипировав на ПЛИС вначале), для управления боеголовками, которыми мы покажем кузькину мать пиндосам и хохлам

upd: про патентую чистоту прочитал, но это не остановит наши боеголовки. если будут исходники, то покажите того храброго, кто проверит лицензию


Edited at 2015-04-22 11:08 am (UTC)
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 11:22 am (UTC)
Микроблейз насколько я понимаю, оптимизирован чисто для Xilinx и, что самое главное, генерируется как "черный ящик". А в MIPSfpga все в читабельных исходниках, можно поменять, прицепить провода к внутренним регистрам.

Вот поо микроблейз из википедии:

Для ядра MicroBlaze EDK генерирует зашифрованное описание (не читаемое человеком), но исходники на VHDL могут быть приобретены у Xilinx.


Помимо этого важного обстоятельства, у микроблейз софтверная экосистема поменьше ( для MIPS есть дюжина rtos-ов, поддержка компиляторами,линкс и т
д. ). MIPS также лучше поддерживается учебниками ( Patterson Hennessy, Harris & Harris )
(Reply) (Parent) (Thread) (Expand)
From: raygo
2015-04-22 06:39 pm (UTC)
Register Transfer Level (RTL, уровень регистровых передач)-какоето неудачное название.Интуитивно непонятное. А кроме того сбивает с толку слово уровень. Если есть один уровень,то где другие?

Но конечно спасибо вам за вашу работу по популяризации ...ммм...Verilog? FPGA? электронного дизайна микросхем?
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 06:42 pm (UTC)
*** Register Transfer Level (RTL, уровень регистровых передач)-какоето неудачное название ***

Передача данных от флип-флопа до флип-флопа с преобразованием оных посередине

*** Если есть один уровень,то где другие? ***

Physical Level
Switch Level
Gate Level
Register Transfer Level
Microarchitecture Level
Architecture Level
Operating System Level
Application Level


Edited at 2015-04-22 06:44 pm (UTC)
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: nicka_startcev
2015-04-22 11:11 pm (UTC)
>Xilinx (компания №1 в ПЛИС-ах / FPGA) начали понемногу предавать гласности несколько иконоборческую инициативу по бесплатной раздаче университетам исходников современного индустриального процессорного ядра MIPS

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

а то "винда или убунта х64" - выбор грустный, плюс "из 10 версий айса исхитрись найти три, которые поддерживают пять нужных тебе архитектур" утомляет (нафига из свежих айсов выносить поддержку старых фпга?)

>У первой академическая цена $180 / коммерческая $320

а вот STM свои дискавери продает по цене ардуино. итого я тыщу раз подумаю и во всех сомнительных случаях возьму stm32. то есть, маркетинговый подход микрософта^W, пардон, альтеры и ксилинкса отсекает очень большую часть мелких разработчиков, которые потом вырастут, но по привычке будут пихать ардуины и стм32 везде где можно.

ну и вдогонку.

пару недель назад мне нужно было сделать преобразователь из двух "почти spi почти TI mode (не та полярность клока, 32 а не 16 бит)" в один хоть какой-то i2s. для фпга задача плёвая - по сути, два-три сдвиговых регистра и аккуратная обработка полярности и переполнений. но в Москве фиг купишь за разумные деньги (этак до примерно $30-$60) мелкую готовую плату с фпга, можно только на заказ и за неразумные деньги. итого, вместо "ep2c5 board" ($16 на ебае или $287 ближайший аналог в ближайшем магазине В НАЛИЧИИ) я с наценкой в чипдипе купил за $60 stm32f4discovery, в которую эта задача вписалась с плясками, бубном и довешиванием снаружи нескольких инверторов.
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 11:16 pm (UTC)
*** а вот STM свои дискавери продает по цене ардуино ***

Я не понимаю. Какой смысл сравнивать цены на микроконтроллерные платы и цены на FPGA платы? Это как сравнивать цены на тракторы с ценами на катера. Это э-э-э-э, разное. Одно пашет, другое плавает.
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: nicka_startcev
2015-04-22 11:20 pm (UTC)
> Linux, MEMS, Internet of Things, другое (рассказать в комментариях)

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

2. для себя. неспешно обдумываю очередной 3д-принтер с точностью порядка 10мкм и скоростью печать порядка 30см3/час, при цене копирования порядка 2-10к баксов (цена разработки уже, по факту, больше 5к, и, по ходу, выйдет выше 50к).

возможно, на нем можно будет штучно без дорогих матриц-масок-штампов, реально штучно как на прочих 3д-принтерах, печатать убогие микросхемы с этак 1к-10к ключей, дурным рабочим напряжением и низкой нагрузочной способностью, но быстро-штучно.
(Reply) (Thread)
[User Picture]From: panchul
2015-04-22 11:25 pm (UTC)
Очень интересно, я как раз недавно читал в книжке пример про использование FPGA для конверсии в I2S

Advanced FPGA Design: Architecture, Implementation, and Optimization. Jun 29, 2007 by Steve Kilts
(Reply) (Parent) (Thread) (Expand)
From: raygo
2015-04-23 10:31 am (UTC)
Вот кстати мнение о китайской экономике.
http://hueviebin1.livejournal.com/155940.html
(Reply) (Thread)
[User Picture]From: panchul
2015-04-23 04:47 pm (UTC)
Оставил ему коммент:

Мне по барабану средняя температура по больнице ВВП per capita PPP, но как человек, лично наблюдающий рост влияния КНР в Silicon Valley за последние 20 лет, я могу сказать, что тот факт, что в Китае есть серьезные компании по разработке микросхем, ориентированных на массовый рынок (от Huawei до Ingenic и Vivante ) - это серьезное достижение. В России есть группы, которые могли бы стать аналогами Ingenic и Vivante, но эти группы до последнего времени работали в основном на военных и космос.

Это не из области дешевых рабочих рук, тут эффект грамотной политики в области образования и активная работа с американскими и другими (напр. японскими) компаниями.
(Reply) (Parent) (Thread)
[User Picture]From: livejournal
2015-04-27 11:17 am (UTC)

Революция в преподавании SoC - теперь официально

(Reply) (Thread)
[User Picture]From: livejournal
2015-04-28 06:42 pm (UTC)

Исходники промышленных процессоров станут доступными

User 1i7 referenced to your post from Исходники промышленных процессоров станут доступными для университетов saying: [...] ится. Оригинал взят у в Исходники промышленных процессоров станут доступными для университетов [...]
(Reply) (Thread)