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 32- bit units. Compared to smaller bit widths, 32-bit computers can perform large calculati ...
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
reduced instruction set computer In computer engineering, a reduced instruction set computer (RISC) is a computer designed to simplify the individual instructions given to the computer to accomplish tasks. Compared to the instructions given to a complex instruction set comp ...
(RISC) soft core from
Lattice Semiconductor Lattice Semiconductor Corporation is an American semiconductor company specializing in the design and manufacturing of low power, field-programmable gate arrays (FPGAs). Headquartered in the Silicon Forest area of Hillsboro, Oregon, the company ...
optimized for
field-programmable gate array A field-programmable gate array (FPGA) is an integrated circuit designed to be configured by a customer or a designer after manufacturinghence the term ''Field-programmability, field-programmable''. The FPGA configuration is generally specifi ...
s (FPGAs). It uses a
Harvard architecture The Harvard architecture is a computer architecture with separate storage and signal pathways for instructions and data. It contrasts with the von Neumann architecture, where program instructions and data share the same memory and pathway ...
, which means 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-effici ...
(ASIC), or software emulation, e.g.,
QEMU QEMU is a free and open-source emulator (Quick EMUlator). It emulates the machine's central processing unit, processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it t ...
). 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 was known for inventing the first commercially viable field-programmable gate array (FPGA) and creating the fi ...
and
Altera Altera Corporation was a manufacturer of programmable logic devices (PLDs) headquartered in San Jose, California. It was founded in 1983 and acquired by Intel in 2015. The main product lines from Altera were the flagship Stratix series, mid-ran ...
FPGAs, in addition to the Lattice Semiconductor parts the LatticeMico32 was developed for.
AMD PowerTune AMD PowerTune is a series of dynamic frequency scaling technologies built into some AMD GPUs and APUs that allow the clock speed of the processor to be dynamically changed (to different ''P-states'') by software. This allows the processor to me ...
uses LatticeMico32. The CPU core and the development
toolchain In software, a toolchain is a set of programming tools that is used to perform a complex software development task or to create a software product, which is typically another computer program or a set of related programs. In general, the tools for ...
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 Wishbone commonly refers to: * Furcula, a fork-shaped bone in birds and some dinosaurs Wishbone may also refer to: * Wish-Bone, an American salad dressing and condiment company * Wishbone formation, a type of offense in American football * Wishb ...
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 an optimizing compiler produced by the GNU Project supporting various programming languages, hardware architectures and operating systems. The Free Software Foundation (FSF) distributes GCC as free softwar ...
(GCC) – C/C++ compiler; LatticeMico32 support is added in GCC 4.5.0, patches are available for support in GCC 4.4.0 *
Binutils The GNU Binary Utilities, or , are a set of programming tools for creating and managing binary programs, object files, libraries, profile data, and assembly source code. Tools They were originally written by programmers at Cygnus Solutions. ...
– 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, C, C++, Objective-C, Free Pascal, Fortran, Go, and partially others. History GDB was first written ...
(GDB) – Debugger *
Eclipse An eclipse is an astronomical event that 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 c ...
Integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools ...
(IDE) *
Newlib Newlib is a C standard library implementation intended for use on embedded systems. It is a conglomeration of several library parts, all under free software licenses that make them easily usable on embedded products. It was created by Cygnus S ...
– C library * µCos-II,
µITRON The ITRON project is the first of several sub-architectures of the TRON project. Originally undertaken in 1984, ITRON is a Japanese open standard for a real-time operating system (RTOS) initiated under the guidance of Ken Sakamura. This project ai ...
,
RTEMS Real-Time Executive for Multiprocessor Systems (RTEMS), formerly Real-Time Executive for Missile Systems, and then Real-Time Executive for Military Systems, is a real-time operating system (RTOS) designed for embedded systems. It is free and open ...
-
real-time operating system A real-time operating system (RTOS) is an operating system (OS) for real-time applications that processes data and events that have critically defined time constraints. An RTOS is distinct from a time-sharing operating system, such as Unix, which m ...
s (RTOS) *
μClinux μClinux is a variation of the Linux kernel, previously maintained as a fork, that targets microcontrollers without a memory management unit (MMU). It was integrated into the mainline kernel as of 2.5.46; the project continues to develop patc ...
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...


See also

*
Milkymist M-Labs (formerly known as the Milkymist project) is a company and community who develop, manufacture and sell advanced open hardware devices and software. It is known for the Milkymist system-on-chip (SoC) which is a commercialized system-on-chip ...
– LatticeMico32-based
system on a chip A system on a chip or system-on-chip (SoC ; pl. ''SoCs'' ) is an integrated circuit that integrates most or all components of a computer or other electronic system. These components almost always include a central processing unit (CPU), memor ...
(SoC)


References


External links

* * , uCLinux port to Milkymist SoC, that uses LatticeMico32 * , LatticeMico32 emulator in JavaScript, cf.
Fabrice Bellard Fabrice Bellard (; born 1972) is a French computer programmer known for writing FFmpeg, QEMU, and the Tiny C Compiler. He developed Bellard's formula for calculating single digits of pi. In 2012, Bellard co-founded Amarisoft, a telecommunicat ...
's jslinux *
ERIKA Enterprise ERIKA Enterprise is a real-time operating system (RTOS) kernel for embedded systems, which is OSEK/VDX certified. It is free and open source software released under a GNU General Public License (GPL). The RTOS also includes RT-Druid, an integ ...
(OSEK/VDX API) porting for LatticeMico32 {{Programmable logic Soft microprocessors