Исходники промислових процесорів стануть доступними для університетів

Панове! Днями Imagination Technologies (компанія, яка спроектувала графічний процесор GPU PowerVR всередині Apple iPhone) і Xilinx (компанія №1 в ПЛІС-ах / FPGA) почали потроху оприлюднювати кілька іконоборчу ініціативу з безкоштовної роздачі університетам джерел сучасного індустріального процесорного ядра MIPS microAptiv UP, яке використовується, наприклад в мікроконтролері Microchip PIC32MZ. Студенти зможуть міняти команди цього процесора, додавати до нього свої периферійні пристрої та реалізовувати отриманий дизайн на ПЛІС-ах.

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

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

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



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

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 на трьох університетах UK US і успішно завершений. Продукт тепер буде проходити бета-тестування в більшій кількості університетів у США, Європі та Азії. Якщо ви працюєте в університеті, і в ньому є достатня експертиза в Verilog або VHDL щоб працювати з пакетом, ви можете взяти участь як early adopter і отримати перевагу перед іншими вузами в його використанні.

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

3. До моменту семінару в Лос-Анжелесі MIPSfpga буде офіційно оголошено, а після завершення (1) стане загальнодоступним. Тому якщо ви не маєте можливості взяти участь як early adopter, ви тим не менш зможете почати працювати з продуктом влітку.

Можливість використання індустріальних процесорних ядер на верилоге в освітніх цілях і без покупки комерційної ліцензії, дозволить великому числу молодих розробників в academia зайнятися прототипированием іноваційних рішень в області систем на кристалі і розширень мікроархітектури, з безпосереднім шляхом комерціалізації — створення своїх мікросхем для інтернету речей та інших додатків.

Юрій Панчул
Senior Hardware Design Engineer, MIPS processors
Imagination Technologies
Якими зі згаданих технологій ви володієте або збираєтеся вивчити?

/>
/>


<input type=«checkbox» id=«vv66493»
class=«checkbox js-field-data»
name=«variant[]»
value=«66493» />
Основи цифрової схемотехніки
<input type=«checkbox» id=«vv66495»
class=«checkbox js-field-data»
name=«variant[]»
value=«66495» />
Мова опису апаратури Verilog, підмножина для рівня регістрового обміну (RTL)
<input type=«checkbox» id=«vv66497»
class=«checkbox js-field-data»
name=«variant[]»
value=«66497» />
Мова опису апаратури VHDL, підмножина для рівня регістрового обміну (RTL)
<input type=«checkbox» id=«vv66499»
class=«checkbox js-field-data»
name=«variant[]»
value=«66499» />
Мова опису апаратури Verilog, підмножина для верифікації
<input type=«checkbox» id=«vv66501»
class=«checkbox js-field-data»
name=«variant[]»
value=«66501» />
Мова опису апаратури VHDL, підмножина для верифікації
<input type=«checkbox» id=«vv66503»
class=«checkbox js-field-data»
name=«variant[]»
value=«66503» />
SystemVerilog
<input type=«checkbox» id=«vv66505»
class=«checkbox js-field-data»
name=«variant[]»
value=«66505» />
Архітектура процесорів — система команд, асемблер
<input type=«checkbox» id=«vv66507»
class=«checkbox js-field-data»
name=«variant[]»
value=«66507» />
Микроахитектура процесорів — організація конвеєрів, блоків обчислень
<input type=«checkbox» id=«vv66509»
class=«checkbox js-field-data»
name=«variant[]»
value=«66509» />
Розробка систем на кристалі, рівень верифікації протоколів і системи
<input type=«checkbox» id=«vv66511»
class=«checkbox js-field-data»
name=«variant[]»
value=«66511» />
Розробка систем на кристалі, фізичний рівень
<input type=«checkbox» id=«vv66513»
class=«checkbox js-field-data»
name=«variant[]»
value=«66513» />
Інше (розповісти в коментарях)

Проголосувало 9 осіб. Утрималося 18 осіб.


Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.


Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.