ПО для разработчиков цифровой электроники
Средства разработки для NeuroMatrix
NMC-SDK представляет собой полный набор кросплатформенных инструментов для создания и отладки программ, написанных для процессоров NeuroMatrix 6403, 6407 (НТЦ "Модуль"). Инструментарий включает в себя:
  • Интергрированную среду разработки, созданную на базе IDE Eclipse;
  • Компилятор C/C++ - кода на основе GCC;
  • Набор стандартных библиотек для разработки;
  • Набор бинарных инструментов и утилит разработчика;
  • Полносистемный эмулятор на основе бинарной трансляции;
  • Отладчик.

Генератор драйверов
Источник идеи: работа с компанией «Миландр» (разработка драйверов ИМ)

Ближайший аналог: Jungo WinDriver

Главное преимущество: разработка драйвера одновременно для нескольких ОС (Windows, Linux)

Статус проекта: тестирование, разработка пилотного драйвера

Опробовать генератор драйверов можно здесь.

SystemC-Verilog-транслятор
SystemC-Verilog-транслятор - основанный на инфраструктуре CLANG инструмент преобразования высокоуровневой модели в описание на языке описания архитектуры Verilog, созданный командой дизайн-центра МФТИ. Описание моделей аппаратуры на языках высокого уровня с последующей трансляцией в HDL позволяет серьезно упростить отладку и верификацию модели.

Краеугольным камнем предлагаемого продукта является демонстрация таких возможностей C++ (SystemC), как наследование, поддержка виртуальных функций, а также поддержка sc_interface - абстрактных каналов с настраиваемыми пользователем методами обработки данных и корректное их преобразование в подзадачи на Verilog. В трансляторе налажена возможность доступа к методам класса, реализована поддержка стандартных C-типов в модулях.

Подробнее о трансляторе можно прочитать здесь.
Компилятор SmartCC
SmartCC – компилятор на основе УБТ и LLVM для многоядерной ARM, x86, MIPS

Замеры выполнены на Cortex A57 8 ядер на пакете SPEC/CPU2006

smcc
на 44% лучше gcc linaro (это индустриальный лидер)

И на 55% лучше Clang

Язык PPDL
PPDL (Processor and Peripheral Description Language) – это язык описания архитектур ядер процессоров и специальных вычислительных модулей. Из одного целостного описания архитектуры компилятор PPDL может сгенерировать как Verilog описание процессора, из которого можно осуществить синтез микросхемы, так и сопутствующее программное обеспечение - ассемблер, компилятор, симулятор.

Разработка на языке PPDL является первым шагом в технологической цепочке "от идеи до кристалла". И в случае разработки вручную, и в случае генерации из PPDL результат представляется в виде Verilog-кода, но использование технологии автоматической генерации из PPDL-описания серьезно удешевляет разработку.

В конечном итоге использование языка PPDL даёт возможность сократить затраты на проектирования ядра микропроцессора в 3-5 раз. То, что раньше создавала группа из десятка специалистов, становится возможным для команды из двух-трех человек. Если учесть сокращение затрат на коммуникации, применение технологии PPDL позволяет значительно упростить и ускорить процесс разработки и сделать его более гибким.


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

Реализация указанных алгоритмов выполнена в виде библиотеки "строительных" блоков. Промежуточное представление и развитая инфраструктура позволяют эффективно создавать новые системы трансляции и анализа кода. УБТ может быть использована как в уже существующих, так и вновь создаваемых системах компиляции практически для любой целевой архитектуры.

Ознакомиться с подробным описанием библиотеки можно здесь.

C помощью УБТ также был реализован автоматический распараллеливатель для вычислительных систем в рамках широко распространенного компилятора GCC. Ознакомиться с описанием предлагаемого распараллеливателя, а также скачать демо-версию можно по этой ссылке.
Совместные проекты с «ПКК Миландр»
Сотрудничаем с ППК «Миландр» с 2012 года в рамках 218ПП

Создана отдельная лаборатория, работающая по следующим направлениям:

Микроядро ОС:
Поддержка многопоточных приложений
Поддержка многоядерной архитектурой с межъядерным взаимодействием по протоколам LINK
Поддержка примитивов синхронизации (мьютексы, семафоры, сообщения)
Поддержка динамического распределения памяти

Библиотеки функций ЦОС:
Реализация основных алгоритмов ЦОС
Поддержка конфигурируемого распараллеливания по данным на несколько ВПЦОС

Набор библиотек и драйверов для управления кластерами:
Поддержка операционных систем: Windows, Linux
Поддержка протоколов связи ИМ с ПК: TCP/IP, PCI
API для кросс-платформенной разработки приложений

Компилятор для VLIW DSP:
С языков С/С++
С поддержкой ассемблерных вставок
Made on
Tilda