В Сколково собрались дать поиграться с эмулятором, который использовался для проектирования чипов в BMW и 5G модемах
Вы водите BMW? Если да, то вам может быть занятно узнать, что BMW — партнер MobilEye, компании, которая проектирует чипы для автомобильной электроники. А для отладки процессора MIPS I6500 внутри последнего чипа MobilEye использовался логический эмулятор Mentor Veloce (произносится «Велочи»).
Что такое эмулятор логики? Это такой ящик с реконфигурируемыми микросхемами, который используется для отладки еще не спроектированных массовых микросхем. Идея похожа на плату с ПЛИС, но гораздо больше, дороже и специально для задач эмуляции. Intel, Apple — все крупные электронные компании используют эмуляторы. Сделать тестовый чип на фабрике дорого, а симулировать чип в софтвере медленно. Загрузка Линукса на готовом чипе занимает секунды, а на симулируемом в софтвере чипе неделю. На эмуляторе же минуты или часы, но не неделю. И эмулятор можно много раз рекофигурировать. Поэтому при разработке процессора простые тесты в тысячу инструкций гоняют на программном симуляторе (например Synopsys VCS или Cadence IES), но реальные программы — на эмуляторе типа Veloce.
Короче, 5 марта в Сколково решили показать, как работает эмулятор Veloce от Mentor Graphics, отделения Siemens. Зовут всех, кто интересуется процессорным IP, AI, IoT, 5G, беспилотными автомобилями. Я бы от себя добавил и сетевыми чипами, и GPU. Если кому-нибудь в России захочется отнять сердце геймеров у NVidia или AMD и спроектировать российский GPU, то без эмулятора им не обойтись — там любой программный симулятор сдохнет. Сколковцы написали на сайте, что Veloce поддерживает 15 миллиардов вентилей.
Как вообще сколковцы ввязались в этот бизнес?
Как вообще сколковцы ввязались в этот бизнес? Я только недавно сокрушался, что в Сколково большинство проектов связано с использованием готовых чипов и мало с проектированием чипов. Использование — это хорошо (например они сделали протез руки на микроконтроллере и программируют NVidia на CUDA), но недостаточно для технологически продвинутой страны.
И вот оказывается, сколковцы решили начать копать и внутрь чипов, для чего переняли опыт европейской организации Europractice, которая предоставляет университетам дешевый доступ к софтверу для проектирования от компаний-партнеров. Софтверу, который для коммерческих пользователей типа Интела или Теслы стоит типа $300000 за инженеро-место (такие суммы можно нагуглить для Synopsys IC Compiler).
Причем, как видно по сайту skolkovo.tools, сколковцы решили Европрактис превзойти — в дополнение к софту для проектирования микросхем и печатных плат у них есть фотоника, измерительные приборы, 3d моделирование и — НАКОНЕЦ! — шатлы, то бишь производство инженерных образцов экспериментальных микросхем за недорого. Это то, как изготавливают собственные процессоры (и биткоин майнеры) ученые в университетах, у которых нет денег заплатить пару миллионов долларов начального платежа за коммерческий чип. И вот теперь — эмуляторы. Очень рекомендую зайти, я сам работал с Veloce, и для процессорного, и для AI чипа, и это шикарная игрушка для разработчика.
UPD: Logic emulation — это не просто использование FPGA плат. В эмуляторах изначально, еще с 1990-х годов, стояли не off the shelf FPGA, а специализированные ASIC-и с чертами FPGA, заточенные на эмуляцию. При использовании Veloce делается не обычный FPGA synthesis, а custom компиляция. Это вообще хороший вопрос для семинара — чем harware emulator отличается от просто FPGA плат. См.
www.mentor.com/products/fv/verificationhorizons/innovation-behind-veloce
The Veloce SoC, while FPGA-like in its computation resources, has a different kind of network for interconnecting the computation resources that is optimized specifically for faster compile time. The constraint in designing programmable logic core is not to build the most optimized commercial FPGA, but to optimize the logic for emulation applications using a distinctive interconnect network. Veloce SoC supports a capability to independently compile the logic part of the design from the communication part; these are unique steps that use distinct, system-level resources for predictable compiles.