[proxy] web.archive.org← back | site home | direct (HTTPS) ↗ | proxy home | ◑ dark◐ light

The LXP32 Processor

The Wayback Machine - https://web.archive.org/web/20210509231323/https://lxp32.github.io/

LXP32 is a lightweight, open source and FPGA-friendly 32-bit CPU IP core

A soft processor core based on a simple, original instruction set designed for efficient FPGA implementation

Features

Portable

  • Described in behavioral VHDL
  • Easily integrated into Verilog and VHDL based designs
  • Usable on virtually any FPGA, not tied to any particular vendor

Optimized for FPGA

  • 3-stage hazard-free pipeline
  • 256 registers implemented as a RAM block
  • Only 30 distinct opcodes
  • Clock frequencies of 100 MHz and above are achievable on most modern FPGAs

Harvard architecture

  • Separate instruction and data buses
  • WISHBONE compatible
  • Can use on-chip or external RAM

Configurable

  • Three multiplier options
  • Optional instruction cache
  • Optional divider

Proven

  • Comes with a verification environment (self-checking testbench)
  • Used in commercial projects
  • OpenCores Certified Project

Open source

  • Permissive MIT license, friendly for commercial use
  • Open source simulation is available using GHDL

Download

The latest version of the LXP32 soft microprocessor, 1.1, was released on 2019-01-11.

lxp32-cpu-1.1.7z

The package includes:

The LXP32 instruction set architecture doesn't have a compiler backend yet, only assembly based workflow is supported. This makes LXP32 more useful in a small bare metal SoC running from on-chip RAM.

Documentation

The LXP32 soft CPU core comes with a comprehensive and up-to-date manual which contains all the information needed to integrate the processor into your design and develop software for it:

LXP32 CPU Technical Reference Manual

Application Notes / White Papers

Why use a soft CPU core?

LXP32 coding style guidelines

A tiny bootloader for LXP32

A simple example: CRC32 calculation

Development

GitHub project page

File a defect report

Clone the source code repository:

git clone https://github.com/lxp32/lxp32-cpu.git

To leave a message, please create a GitHub issue.