Рубрика «imagination technologies»

У каждой российской микроэлектронной компании есть рассказ, почему она самая хорошая и передовая. По английски это называется «claim to fame» — «заявка на славу». Одни российские компании славятся оригинальной архитектурой CPU, другие — спроектированной в России системой на кристалле, третьи — спроектированными в России блоками, которые были лицензированы западными компаниями.

У российской компании ЭЛВИС (ELVEES), которая исторически специализировалась на космической электронике, DSP и хардверно-поддерживаемом распознавании образов, текущая «заявка на славу» выражена в совместном российско-британско-американско-тайваньском чипе для «умных камер» под названием ELISE. Инженеры в подмосковном Зеленограде спроектировали внутри этого чипа важные блоки для видео-обработки и GNSS, которые потом кросс-лицензировала британско-американская Imagination Technologies.

Блоки от элвисовцев интегрированы с тремя разнородными процессорными ядрами: двухядерным кластером суперскалярных ядер MIPS P5607 (Apache) с частотой 1.2 GHz, на котором работает Linux, процессором с аппаратно-поддерживаемой многопоточностью MIPS interAptiv (1 GHz) и небольшим вспомогательным процессором с аппаратно-поддерживаемой виртуализацией MIPS M5150 (Virtuoso).

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

На фотографиях ниже некоторые из инженеров-участников проекта. Девушка слева спроектировала часть load-store unit в MIPS P5607, юноша в зеленой майке написал модели интерфейсов шин, а товарищ в клетчатой рубашке — архитектор софтверной экосистемы:

Чип для умных камер ELISE — одно из самых высокотехнологичных изделий России 2017 года. Плата для разработчиков и камера - 1
Читать полностью »

В первой части я описал на примере cmoda7 как портировать MIPSfpga (Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1) на FPGA платы отличные от уже портированых среди которых такие популярные как: basys3, nexys4, nexys4_ddr фирмы Xilinx, а так же de0, de0_cv, de0_nano, de1, DE1, de10_lite, de2_115, DE2-115 фирмы Altera(Intel), во второй части как интегрировать клавиатуру Pmod KYPD (Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2).

В этой части добавим к MIPSfpga-plus встроенный АЦП, и популярный LCD от Nokia 5100.
С предыдущих частей можно сделать вывод, что интеграция периферии в MIPSFPGA состоит из пять основных этапов:

  • Добавление модуля интерфейса общения с периферией (i2c, spi, и т.д.).
  • Соединение входных/выходных портов модуля с шиной AHB-Lite.
  • Присваивание адресов сигналов подключаемого устройства.
  • Добавление констрейнов на физические контакты платы.
  • Написание программы для MIPS процессора.

Подключение встроенного в cmoda7 АЦП


Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3 - 1
Как я уже говорил плата cmodA7 имеет встроенный АЦП, pin 15 и 16 используются в качестве аналоговых входов модуля FPGA. Диапазон работы встроенного АЦП от 0-1V, поэтому используется внешняя схема для увеличения входного напряжения до 3.3V.
Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 3 - 2

Эта схема позволяет модулю XACD точно измерить любое напряжение от 0 В и 3,3 В (по отношению к GND). Чтобы работать с АЦП в Vivado существует блок IP (интеллектуальной собственности) Xilinx, с помощью которого можно будет просто его интегрировать в нашу систему MIPSfpga.
Читать полностью »

MIPSfpga микропроцессор MIPS32 microAptiv описаный на языке Verilog для образовательных целей фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора доступен пользователю (инструкция по скачиванию) и может использоваться для моделирования и реализации процессора на FPGA плате.

Данная статья является продолжением статьи о том как портировать MIPSfpga-plus на другие платы, и в ней будет описано как интегрировать периферию в систему MIPSfpga:
Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2 - 1

Так же о том как начать работать с MIPSfpga написано в статье:
habrahabr.ru/post/275215

Процессор использует интерфейс памяти для связи с периферийными устройствами. То есть, это означает что данные записываются и считываются с подключенной периферии так же, как и с блока памяти RAM. Интеграция периферии в процессор осуществляется подключением к шине AHB-Lite(подробная документация). Подробней попробуем разобраться в процессе подключения.

Для начала нужно иметь понятие как будут проходить сигналы по шине AHB-Lite:
Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 2 - 2

Видно, что процесс считывания данных с периферии осуществляется по сигналу HRDATA, передача данных производится по HWRITE с активным высоким уровнем на сигнале разрешения записи, выбор GPIO осуществляется выбором адреса на HADDR.
Читать полностью »

MIPSfpga представляет собой предназначенный для образовательных целей микропроцессор MIPS32 microAptiv фирмы Imagination, который имеет кэш-память и блок управления памятью. Код процессора на языке Verilog доступен пользователю и может использоваться для моделирования и реализации процессора на FPGA плате.

В даной статье будет описано на примере Digilent cmodA7 как портировать процессор MIPSfpga-plus на другие платы.

Портирование MIPSfpga на другие платы и интеграция периферии в систему. Часть 1 - 1

На сегодняшний день MIPSFPGA портирован на популярные платы таких фирм как ALTERA и Xilinx, среди них Basys 3, Nexys4 ddr, и другие (полный список находится на github). Такие платы наиболее популярны среди разработчиков на FPGA. Цена на такие платы довольно не маленькая, да и загружаются программы в ядро MIPSfpga с использованием интерфейса EJTAG и адаптера Bus Blaster ценой около 50$. Адаптер Bus Blaster получает команды по высокоскоростному кабелю USB 2.0 и преобразует их в последовательный протокол EJTAG, это позволяет загружать программы в ядро MIPSfpga и управлять отладкой программ, которые на нем выполняются. Проблема с относительно дорогим Bus Blaster была решена введением в систему MIPSfpga ряда улучшений. Улучшеный вариант системи MIPSfpga, названый MIPSfpga-plus включает в себя такие новые функции:

— Возможность загрузки программного обеспечения с использованием USB-to-UART коннектора ценой в $ 5 FTDI вместо $ 50 Bus Blaster, который иногда не так уж и легко достать.

— Возможность изменять тактовую частоту на лету с 50 или 25 МГц до 1 Гц (один цикл в секунду) для наблюдения за работой процессора в режиме реального времени, включая промахи в кэш-памяти и перенаправления конвеера.

— Пример интеграции датчика освещенности с протоколом SPI.

— Небольшая последовательность инициализации программного обеспечения, которая вписывается в 1 КБ вместо 32 КБ памяти, что позволяет переносить MIPSfpga на более широкий выбор плат FPGA без использования внешней памяти. Реализация UART описана в статье: MIPSfpga и UART.
Читать полностью »

Сегодня утром я заходил в офис калифорнийского отделения Ардуино. Там было межкомпанейское совещание по образовательным программам, на которое меня пригласил менеджер из AMD Тимур Палташев. В конце мероприятия возникла любопытная дискуссия:

Вот сейчас школьников учат программировать Ардуино и другие устройства на основе микроконтроллеров и встроенных процессоров (Лего, Расберри Пай итд). А вот в 1970-е годы школьников учили здесь же, в Калифорнии, собирать схемы на макетной плате, на транзисторах и микросхемах малой степени интеграции (7400 TTL, CMOS 4000 итд) с элементами И-ИЛИ-НЕ и D-триггерами. Это как бы и прогресс — на микроконтроллере можно написать программу, которая бы осмысленно двигала роботической рукой, чего трудно сделать на индивидуальных логических элементах, но как мы вырастим школьников, которые бы умели проектировать (не программировать) сами микроконтроллеры?

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

Зашел в офис Ардуино; поговорили о ПЛИС-ах; требуются добровольцы - 1

Идея учить школьников по всему фронту цифровой схемотехники и встроенного программирования звучит хорошо теоретически, но как воплотить это в жизнь?
Читать полностью »

На днях в офисе Imagination Technologies в Санта-Клара, Калифорния ко мне подходит специалист по многоядерному Линуксу Леонид Егошин и говорит:

Егошин: Вот, написал самый маленький гипервайзер в мире.

Я: Да? А как называется?

Егошин: Еще не придумал. И маркетинг названия не спустил. Придумай название! Это все равно будет opensource-проект.

Я: Мне чего-то трудно такое придумать. Как говорится «как вы яхту назовете, так она и поплывет». Надо общественность спросить.

Егошин: И я еще в апреле в Долгопрудном буду, в МФТИ. Не был там с XX века. Есть ли там кто-нибудь, кого интересует MIPS-Linux/IoT/гипервизоры на MIPS?

Я: Ну об этом тоже можно спросить общественность.

Итого, я написал этот пост, чтобы спросить общественность. Но сначала я расскажу, кто такой Леонид Егошин и что такое гипервайзер.

***

Не вся молодежь знает, но в СССР был свой Unix. Не при Брежневе, но уже при Андропове.

И вот одним из первых советских юниксологов и был Егошин (он единственный на фотке на Красной Площади 1980-х, кто улыбается). Потом Егошин переехал в Silicon Valley и стал работать в MIPS Technologies, которая стала Imagination Technologies. На снимке справа Егошин уже в 2015 году, с первой привезенной в Америку из России платой с российским микропроцессором Байкал-Т — Егошин помогал отлаживать на ней Линукс:

Придумываем название для нового гипервайзера для архитектуры MIPS с аппаратно-поддерживаемой виртуализацией - 1

А теперь что такое гипервайзер.
Читать полностью »

Смотрим внутренности отечественного 28нм MIPS процессора — Baikal-T1 - 1Думаю многие уже слышали про реализованный московскими разработчиками Байкал Электроникс процессор Байкал-Т1 — с двумя ядрами Imagination Technologies P5600 MIPS 32 r5 и набортным 10GbE. Байкал оказался первым, кто реализовал в кремнии это ядро.

Терзал этот процессор я с перерывами больше года — но наконец под катом могу поделиться результатами.Читать полностью »

Год назад вышло бесплатное электронное издание на русском языке всеохватного вводного учебника Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера». Книга попала в струю, ее скачивания завалили британский сайт Imagination Technologies (дважды — 1, 2), после чего учебник стали использовать преподаватели московских МФТИ, МГТУ, питерского ИТМО, киевского КНУ, КПИ и других вузов. Интересной особенностью учебника является то, что его перевод на русский сделала группа энтузиастов: преподавателей российских и украинских университетов, русских сотрудников компаний в Silicon Valley (AMD, Synopsys, Apple, NVidia ...) и российских компаний (НИИСИ, МЦСТ, Модуль ...).

При этом, электронное издание Харрис-энд-Харрис сформатировано для планшета, и уже после первых скачиваний посыпались емейлы, когда же учебник будет и на бумаге. И вот час настал — Учебник Дэвида Харриса и Сары Харрис «Цифровая схемотехника и архитектура компьютера» можно заказать на бумаге (выходит в новогоднюю ночь). В этом посте я покажу, чем этот учебник отличается от других. Бонус: фотки участников и участниц проекта!

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

Есть много учебников, которые хорошо вводят в цифровую логику на уровне триггеров и мультиплексоров, или в программирование готовых микроконтроллеров на ассемблере, или показывают красивые диаграммы процессорных конвейеров, или обучают синтаксису Verilog или VHDL. Но если учить скажем микроархитектуре без HDL, или если например пропускать уровни между триггером и программированием микроконтроллера, то получатся студенты, которые могут сдать экзамен и спорить умными словами в интернете, но ничего не могут сделать практически.

Учебник H&H решает эту проблему:
Читать полностью »

Господа! Семинар Nanometer ASIC, организованный РОСНАНО, МИСиС и Imagination Technologies, оказался довольно популярным — на него зарегистрировались более 180 человек, пришли 127, причем в аудитории засветились предствители всех значимых российских микроэлектронных проектов — от радиационно-стойких микросхем для космоса из НИИСИ до чипов для умных камер от ЭЛВИС-НеоТек, инженеров из Байкал Электроникс, руководителей проектов по автоматизации проектирования микросхем из МГУ, разработчики российских ПЛИС-ов из Воронежа, преподаватели из ВШЭ/МИЭМ и других вузов, организаторов олимпиад для школьников из МФТИ и многие другие.

Несмотря на то, что для профессиональных спецов по использованию Synopsys IC Compiler семинар был слишком элементарный, но его вводный характер искупился его широтой — инженеры из всей цепочки проектирования и производства могли освежить в памяти области, которые они забыли, инвесторы в полупроводниковой индустрии смогли посмотреть что делают компании, в которые они инвестируют, студенты посмотрели, что им может нравится и так сказать куда копать (в полупроводниковой индустрии Silicon Valley молодые инженеры специализируются в логический / физический / аналоговый дизайн довольно рано в своей карьере).

Ведущий семинара, лектор Калифорнийского университета в Санта-Крус (отделение в Кремниевой долине) Чарльз Данчек (Charles Dancak) отвечает на вопросы:

Можно скачать материалы семинара Nanometer ASIC (РОСНАНО - МИСиС - Imagination Technologies) — ликбез по всему про чипы - 1

Скачать все слайды на русском можно здесь.

Под катом — избранные слайды Nanometer ASIC (25 из 322):
Читать полностью »

Традиционно московская конференция CEE-SECR (Central & Eastern European Software Engineering Conference in Russia) была про софтвер, но в этом году ее организаторы решили поэкспериментировать и впустить темных демонов хардвера. Причем не из чего-то народного типа Ардуино, а из уровней посуровее: микроархитектуры микропроцессоров, прототипирования систем на кристалле с помощью микросхем ПЛИС/FPGA, и автоматической генерации тестов для процессоров во время их разработки. Чтобы привязать данный материал к чему-то знакомому для программистов, в хардверной теме возникли приложения встроенных процессоров для интернета вещей, связь лицензируемых микропроцессорных ядер с российскими микропроцессорными проектами, обучение хардверу в российских университетах, а также российские встроенные операционные системы реального времени для тех применений, куда нельзя впускать длинный нос американского Госдепа.

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

Хардвер вторгается в софтвер на московской конференции SECR - 1

Читать полностью »