LatticeMico32
   HOME

TheInfoList



OR:

LatticeMico32 is a
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
microprocessor A microprocessor is a computer processor (computing), processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, a ...
reduced instruction set computer In electronics and computer science, a reduced instruction set computer (RISC) is a computer architecture designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a com ...
(RISC) soft core from Lattice Semiconductor optimized for field-programmable gate arrays (FPGAs). It uses a
Harvard architecture The Harvard architecture is a computer architecture with separate computer storage, storage and signal pathways for Machine code, instructions and data. It is often contrasted with the von Neumann architecture, where program instructions and d ...
, so the instruction and data buses are separate. Bus arbitration logic can be used to combine the two buses, if desired. LatticeMico32 is licensed under a free (IP) core license. This means that the Mico32 is not restricted to Lattice FPGAs, and can be legally used on any host architecture (FPGA,
application-specific integrated circuit An application-specific integrated circuit (ASIC ) is an integrated circuit (IC) chip customized for a particular use, rather than intended for general-purpose use, such as a chip designed to run in a digital voice recorder or a high-efficienc ...
(ASIC), or software emulation such as
QEMU The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
). It is possible to embed a LatticeMico32 core into
Xilinx Xilinx, Inc. ( ) was an American technology and semiconductor company that primarily supplied programmable logic devices. The company is renowned for inventing the first commercially viable field-programmable gate array (FPGA). It also pioneered ...
and Altera FPGAs, in addition to the Lattice Semiconductor parts the LatticeMico32 was developed for. AMD PowerTune uses LatticeMico32. The CPU core and the development
toolchain A toolchain is a set of software development tools used to build and otherwise develop software. Often, the tools are executed sequentially and form a pipeline such that the output of one tool is the input for the next. Sometimes the term is us ...
are available as source-code, allowing third parties to implement changes to the processor architecture.


Features

* RISC load/store architecture * 32-bit data path * 32-bit fixed-size instructions (all instructions are 32 bits, including jump, call and branch instructions.) * 32 general purpose registers (R0 is typically set to zero by convention, however R0 is a standard register and other values may be assigned to it if so desired.) * Up to 32 external interrupts * Configurable instruction set including user defined instructions * Optional configurable caches (direct-mapped or 2-way set-associative, with a variety of cache sizes and arrangements) * Optional pipelined memories * Dual Wishbone memory interfaces (one read-only instruction bus, one read-write data/peripheral bus) * Memory mapped I/O * 6 stage pipeline


Toolchain

*
GNU Compiler Collection The GNU Compiler Collection (GCC) is a collection of compilers from the GNU Project that support various programming languages, Computer architecture, hardware architectures, and operating systems. The Free Software Foundation (FSF) distributes ...
(GCC) – C/C++ compiler; LatticeMico32 support is added in GCC 4.5.0, patches are available for support in GCC 4.4.0 * Binutils – Assembler, linker, and binary utilities; supports LatticeMico32 since version 2.19 *
GNU Debugger The GNU Debugger (GDB) is a portable debugger that runs on many Unix-like systems and works for many programming languages, including Ada, Assembly, C, C++, D, Fortran, Haskell, Go, Objective-C, OpenCL C, Modula-2, Pascal, Rust, and par ...
(GDB) – Debugger *
Eclipse An eclipse is an astronomical event which occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ...
–
Integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
(IDE) * Newlib – C library * μCos-II, μITRON, RTEMS -
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time computing applications that processes data and events that have critically defined time constraints. A RTOS is distinct from a time-sharing operating system, such as Unix ...
s (RTOS) * μClinux –
operating system An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ...


See also

*
Milkymist M-Labs (formerly known as the Milkymist Project) is a company that develops, manufactures, and sells open hardware devices and software. It is known for the Milkymist system-on-chip, System-On-Chip (SoC) which is a commercialized system-on-chip w ...
– LatticeMico32-based
system on a chip A system on a chip (SoC) is an integrated circuit that combines most or all key components of a computer or Electronics, electronic system onto a single microchip. Typically, an SoC includes a central processing unit (CPU) with computer memory, ...
(SoC)


References


External links

* * , uCLinux port to Milkymist SoC, that uses LatticeMico32 * , LatticeMico32 emulator in JavaScript, cf. Fabrice Bellard's jslinux * ERIKA Enterprise (OSEK/VDX API) porting for LatticeMico32 {{Programmable logic Soft microprocessors