LatticeMico32
Encyclopedia
LatticeMico32 is a 32-bit microprocessor
Microprocessor
A microprocessor incorporates the functions of a computer's central processing unit on a single integrated circuit, or at most a few integrated circuits. It is a multipurpose, programmable device that accepts digital data as input, processes it according to instructions stored in its memory, and...

 soft core from Lattice Semiconductor
Lattice Semiconductor
Lattice Semiconductor Corporation is a United States based manufacturer of high-performance programmable logic devices . Founded in 1983, the company employs about 700 people and has annual revenues of around $300 million, with Darin Billerbeck as the chief executive officer...

 optimized for field-programmable gate array
Field-programmable gate array
A field-programmable gate array is an integrated circuit designed to be configured by the customer or designer after manufacturing—hence "field-programmable"...

s (FPGAs). It uses a Harvard architecture
Harvard architecture
The Harvard architecture is a computer architecture with physically separate storage and signal pathways for instructions and data. The term originated from the Harvard Mark I relay-based computer, which stored instructions on punched tape and data in electro-mechanical counters...

, 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 an open intellectual property
Intellectual property
Intellectual property is a term referring to a number of distinct types of creations of the mind for which a set of exclusive rights are recognized—and the corresponding fields of law...

 (IP) core license. This means that the Mico32 is not restricted to Lattice FPGAs, and can be legally used on any host architecture (FPGA, ASIC
ASIC
ASIC may refer to:* Application-specific integrated circuit, an integrated circuit developed for a particular use, as opposed to a customised general-purpose device.* ASIC programming language, a dialect of BASIC...

, or software emulation). It is possible to embed a LatticeMico32 core into Xilinx
Xilinx
Xilinx, Inc. is a supplier of programmable logic devices. It is known for inventing the field programmable gate array and as the first semiconductor company with a fabless manufacturing model....

 and Altera
Altera
Altera Corporation is a Silicon Valley manufacturer of PLDs . The company offered its first programmable logic device in 1984. PLDs can be reprogrammed during the design cycle as well as in the field to perform multiple functions, and they support a fairly fast design process...

 FPGAs, in addition to the Lattice
Lattice Semiconductor
Lattice Semiconductor Corporation is a United States based manufacturer of high-performance programmable logic devices . Founded in 1983, the company employs about 700 people and has annual revenues of around $300 million, with Darin Billerbeck as the chief executive officer...

 parts the LatticeMico32 was developed for.

Both the CPU core and the development toolchain are available in source-code form, 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 (computer bus)
    The Wishbone Bus is an open source hardware computer bus intended to let the parts of an integrated circuit communicate with each other. The aim is to allow the connection of differing cores to each other inside of a chip...

     memory interfaces (one read-only instruction bus, one read-write data/peripheral bus).
  • Memory mapped I/O.
  • 6 stage pipeline.

Toolchain

  • GCC - C/C++ compiler. Support for the LatticeMico32 has been added to GCC 4.5.0, but patches are available to add LatticeMico32 support to GCC 4.4.0.
  • Binutils - Assembler, linker and binary utilities. Binutils has supported the LatticeMico32 since version 2.19.
  • GDB - Debugger.
  • Eclipse - IDE
    Integrated development environment
    An integrated development environment is a software application that provides comprehensive facilities to computer programmers for software development...

    .
  • Newlib - C library.
  • µCos-II
    MicroC/OS-II
    MicroC/OS-II , is a low-cost priority-based pre-emptive real-time multitasking operating system kernel for microprocessors, written mainly in the C programming language...

    , uITRON, RTEMS
    RTEMS
    RTEMS is a free open source real-time operating system designed for embedded systems....

     - Real-time operating systems.
  • uCLinux - O/S
    Operating system
    An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

    .

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK