LatticeMico32 — 32-розрядне програмне ядро процесора, розроблене компанією Lattice Semiconductor і оптимізоване для FPGA. Процесор має гарвардську архітектуру з розділеними шинами команд і даних. При потребі об'єднання шин може використовуватись спеціальний арбітр.

Ліцензія на LatticeMico32 є вільною, що означає можливість легального використання програмного ядра з будь-якою мікросхемою FPGA (не лише виробництва Lattice) або ASIC, а також у програмних емуляторах (таких, як QEMU). Як приклади апаратних платформ для Mico32 можна назвати FPGA Xilinx і Altera.

Опис ядра процесора і всі інструменти розробки доступні у форматі з відкритим початковим кодом. Таким чином, будь-хто може при потребі вносити зміни у архітектуру процесора.

Приклади використання Рудольфом Мареком () було з'ясовано, що ядро LatticeMico32 вбудоване у деякі процесори AMD (сімейства 15h і 16h).

Особливості архітектури Архітектура RISC load/store 6-стадійний конвеєр 32-розрядна внутрішня шина даних 32-розрядні (тобто, 4-байтові) інструкції 32 регістри процесора загального призначення (регістр R0, як правило, повертає нуль, але може бути сконфігурований і для інших значень) До 32 зовнішніх переривань Конфігурований набір команд; інструкції, що визначаються користувачем Опційні кеші з можливістю конфігурування Опційно конвеєризована пам'ять Два інтерфейси для пам'яті (один лише для читання — для шини команд, другий для читання і запису — для шини даних і периферії) Ввід/вивід з відображенням на пам'ять

Програмні інструменти Наступні програмні інструменти можуть використовуватися для розробки програм для LatticeMico32: Компілятори з набору GNU Compiler Collection (LatticeMico32 підтримується, починаючи з версії GCC 4.5.0) Інструменти GNU Binutils (асемблер, компонувальник, objcopy та інші програми; LatticeMico32 підтримується з версії binutils 2.19) Зневаджувач GNU Debugger (gdb) Інтегроване середовище розробки Eclipse Бібліотека функцій C Newlib ОС реального часу MicroC/OS-II, µITRON, RTEMS Операційна система μClinux

Див. також Milkymist LatticeMico32-based System on a chip

Джерела

Посилання Lattice's LatticeMico32 web site uCLinux port to the Milkymist SoC (that uses LatticeMico32) ERIKA Enterprise (OSEK/VDX API) porting for LatticeMico32 LatticeMico32 emulator in JavaScript (cf. Fabrice Bellard's jslinux)