I worked for Lexra, a scrappy CPU company, now out of business. The Lexra story is an interesting one, filled with
lessons about the business of selling microprocessors and semiconductor intellectual property. I have found many
incorrect statements published about Lexra. With this document, I hope to set the record straight.
Lexra was founded in 1997 but the story begins in the 1980s. Academics at Stanford and Berkeley realized that a
computer processor could achieve higher performance by running simpler instructions at a higher clock speed. Such a
computer processor is known as a reduced
instruction set computer (RISC). The MIPS instruction
set architecture was developed as an academic project at Stanford by a group working under the direction of
John Hennessy who was since promoted to president
of Stanford. MIPS originally stood for microprocessor without interlocked pipeline stages. MIPS Computer Systems
Inc. was formed to develop and sell commercial chips that executed the MIPS instruction set. The largest customer of
MIPS Computer Systems Inc was Silicon Graphics, which dominated the market for high end workstations used for creating
synthetic digital graphics and animations. In the early 1990s MIPS Computer Systems was in danger of going out of
business so Silicon Graphics acquired their key chip supplier.
Also in the 1990s it became apparent to the developers of chips for embedded systems (any machine with a computer
processor that is not a PC, workstation, or server) that the simplicity of RISC processor architectures made them
well suited for such small low-cost chips. ARM proved this quite successfully with their own RISC instruction set that
had been created for the Acorn PC in the 1980s. ARM
pioneered the business of developing a processor without making chips and licensing the design to many other companies
that make chips. This is known as the
semiconductor intellectual
property (IP) business.
The founders of Lexra, Charlie Cheng and Pat Hays, recognized that the MIPS-I
instruction set architecture (ISA) was a
classic RISC processor architecture with all of the properties that make a processor useful for embedded chips, plus
the benefit of having an existing strong base of software development tools
(compilers, assemblers, debuggers, etc.). Lexra incorporated and
began developing an IP core that executed the MIPS-I instruction set. Lexra developed its processor from scratch
without using source code or other intellectual
property from any other company. Incidentally, at the time, ARM only licensed hard core chip lay-outs. Lexra
was among the first IP companies to license soft core RTL designs, which has since become the preferred method for
delivering IP products.
An instruction set is a language of commands given to a machine. Nobody can patent, copyright, or otherwise own a
language or an instruction set. Lexra had the right, legally and ethically, to design an IP core with the MIPS
instruction set.
Meanwhile, back in Mountain View, Silicon Graphics' business was struggling despite a booming high tech economy.
Silicon Graphics spun-out MIPS Technologies, Inc. as a semiconductor intellectual property licensing company that
would compete directly with Lexra after Lexra was already established in that business. Due to a single deal
between Silicon Graphics and Nintendo, MIPS Technologies Inc. began its life with approximately ten times as much
money as Lexra. MIPS Technologies also had about five times as many engineers as Lexra.
Though you can not patent an instruction set, you can patent designs and methods that are necessary to implement a
particular unusual instruction that is part of the instruction set. That prevents competitors from creating a fully
compatible clone of your processor without infringing your patent. There are four instructions in the MIPS-I
instruction set that are protected by one US patent,
4,814,976.
These instructions, lwl, lwr, swl, and swr are known as the unaligned load and store instructions. These instructions
are useful in systems in which memory is scarce or expensive. In such systems, it is often useful to pack 16-bit or
32-bit data values in to memory in such a way that they are aligned to arbitrary byte boundaries and not necessarily
to natural 16-bit half-word or 32-bit word boundaries. Accessing such unaligned variables requires at least two bus
clock cycles, whereas accesses to aligned data can be performed in a single cycle. Most assembly programmers and
compilers for modern systems align data to their natural address boundaries in order to gain the system bus
performance benefit of aligned loads and stores.
Prudent high tech companies study their competitors' patent portfolios, and Lexra was no exception. Lexra was well
aware of the patent on unaligned loads and stores that was owned by MIPS Computers Systems, then by Silicon Graphics,
and later by MIPS Technologies. To avoid infringing, Lexra chose not to implement unaligned loads and stores in its
processor design.
When MIPS filed its S-1 IPO prospectus form in 1998 it sued Lexra
for copyright infringement. The suit was settled after a few months with Lexra agreeing not to use MIPS trademarks
without attribution and to state in its documentation and in its public statements that it implemented "the MIPS-I
instruction set except for unaligned loads and stores". MIPS Technologies agreed to the settlement, apparently
acknowledging that Lexra did not execute unaligned loads and stores.
If a Lexra processor encountered an unaligned load or store instruction in the program that it was executing then it
did the same thing that it would do for any other invalid opcode, it took a reserved instruction exception. In the
second lawsuit between MIPS Technologies and Lexra, filed November 1999, MIPS Technologies claimed that because
exception handler software could be written to emulate the function of unaligned load and store hardware, using
many other instructions, Lexra's processors infringed the patent. Upon learning of this broad interpretation of the patent, Lexra
requested that the US Patent and
Trademark office (USPTO) reexamine whether the patent was novel when granted. Almost every microprocessor in the
world can emulate the functionality of unaligned loads and stores in software. MIPS Technologies did not invent that.
By any reasonable interpretation of the MIPS Technologies' patent, Lexra did not infringe. In mid-2001 Lexra
received a preliminary ruling from the USPTO that key claims in the unaligned load and store patent were invalid
because of prior art in an IBM CISC patent. However, MIPS Technologies appealed the USPTO ruling and won a favorably
broad interpretation of the language of the patent from a judge. That forced Lexra into a settlement that included
dropping the reexamination request before MIPS Technologies might have lost its appeal.
One interesting problem with the patent system is that one institution, the USPTO, determines whether a
patent is valid but a different institution, the courts, determine whether one infringes. It is entirely possible for
the two institutions to interpret a patent differently and for either a non-infringer to be wrongly convicted or an
infringer to get away with the crime.
The case of MIPS Technologies v Lexra was ultimately settled out of court and the request for reexamination of the
patent was dropped. To this day there is no precedent indicating that processors that execute the MIPS-I instruction
set that treat unaligned loads and stores as reserved instructions, such as Lexra's, infringed the '976 patent. The
patent expired on December 23, 2006 at which point it became legal for anybody to implement the complete MIPS-I
instruction set, including unaligned loads and stores.
After its experience with Lexra MIPS Technologies changed all of its 32-bit cores to use its new MIPS32 instruction
set which extends the MIPS-I instruction set to include other features patented by MIPS Technologies. This is similar
to Intel's addition of the instruction set extensions to Pentium III in order to prevent AMD from building
compatible processors.
Cores from Lexra as compared to cores from MIPS Technologies were smaller, had higher clock speed, had high
performance instruction extensions, brought features (such as on-chip debug, MIPS16, write-back caches, MMU, and
more) to market sooner, and were less expensive. Despite MIPS Technologies' relatively abundant resources, their
product offerings in the market were inferior, their investors wanted to see MIPS Technologies defend its
intellectual property, and MIPS Technologies needed to justify the license fees that other companies such as
Broadcom, PMC-Sierra, and LSI Logic were paying for rights to use the instruction set for their own processors. This
left MIPS Technologies little choice but to sue Lexra, despite a weak case.
Ultimately, MIPS Technologies hurt Lexra's business, Lexra hurt MIPS Technologies' business, and ARM made off with a
solid dominance of the IP market. In the court case MIPS Technologies' stalled at every opportunity possible until
Lexra ran out of money to fight. Because MIPS Technologies started the game with far more money than Lexra, they
outlasted and Lexra was forced into a settlement one week before a trial. Though MIPS Technologies was suing Lexra,
the settlement agreement involved MIPS paying Lexra money. The benefit that MIPS Technologies got in exchange was that
Lexra exited the IP business. Lexra failed one year later in an attempt to establish itself as a communications chip
company during the bottom of the telecom business downturn.
Some Lexra customers disabled the reserved instruction exception for unaligned loads and stores in their chip
products. With such a design modification, unaligned loads and stores are treated as no-ops and can not be emulated in
an exception handler. MIPS Technologies would have had no claim of infringement against such designs. Despite that,
after settling with Lexra, MIPS Technologies threatened legal action against Lexra's former customers. Many companies
each found it less expensive to agree to contracts that require payments to MIPS rather than to fight. This strategy by
MIPS Technologies is viewed by some as extortion under threat of
malicious prosecution.
Lexra had about 40 licensees while it was in business, about 30 of which manufactured chips with Lexra processor
cores. Some chips based on Lexra processor cores are still in production today. Many Lexra licensees do not want their
use of Lexra to be known. Several publicly known Lexra core users include
Macronix, a digital still camera chip maker in Taiwan,
Micronas, an audio/video/automotive chip maker in Europe,
Realtek, a wired/wireless LAN ethernet chip maker in Taiwan,
Zoran, a digital still camera, DVD, and video system chip maker in Israel and Silicon Valley,
Analog Devices, a multi-market DSP chip maker headquartered
in Massachusetts (through its acquisition of Chiplogic), Trident
Microsystems, a digital television chip maker, and Crystal Media, a
voice over IP telephone chip maker in Taiwan. Many hobbyists have adapted the Realtek RTL8181, RTL8186, and RTL8651B
chips for other purposes by writing software that runs on the Lexra LX5280 processor in those chips.
I am a hardware, not a software, engineer but I know that in principal it is possible to compile software for Lexra
processors using the gnu gcc tools for the MIPS-I R3000 processor. This can be done either by writing an exception
trap handler for reserved instructions that detects unaligned load and store instructions and emulates their
functionality with shifts and aligned loads and stores or else modifying the compiler so that it does not generate
lwl, lwr, swl, and swr instructions. With either of those changes, any C code can run on Lexra processors.
Advanced hobbyists might even choose to accelerate their critical inner loops by coding them in assembly code using
digital signal processing (DSP) instructions that Lexra implemented as extensions to the MIPS-I instruction set.
Each core that Lexra created built on its predecessors:
| CPU |
distinguishing feature |
pipeline stages |
code base |
test chip |
target market |
notes |
| LX4080 |
MIPS-I RISC soft core |
5 stage pipeline |
|
yes |
|
|
| LX4180 |
with MIPS16 code compression and EJTAG on-chip debug |
yes |
|
155 MHz push-button synthesis in .25um technology |
| LX4189 |
configurable multi-way write-back caches and a MMU |
6 stage pipeline |
Z |
|
|
266 MHz push-button synthesis in .18um technology |
| LX4280 |
dual-issue superscalar |
yes |
|
200 MHz push-button synthesis in .18um technology |
| LX5180 |
power efficient DSP enhanced with Radiax DSP extensions |
|
DSP |
|
| LX5280 |
dual-issue superscalar enhanced with Radiax DSP extensions |
yes x2 |
DSP |
200 MHz push-button synthesis in .18um technology |
| LX8000 |
coarse-grained multithreading |
|
NPU |
450 MHz in a .15um hard core |
| NetVortex |
a chip multiprocessor (CMP) packet processing system |
|
NPU |
16 CPUs at 450 MHz |
| LX4380 |
deeper pipeline |
7 stage pipeline |
Y |
|
|
300 MHz push-button synthesis in .15um technology |
| LX4580 |
fine-grained hardware multithreading (HMT) |
W |
|
NPU |
400 MHz in .13um technology |
The LX4580 fine-grained multithreaded processor was a cool internal processor
design that ran at 400 MHz with push-button synthesis in .13um technology but was never licensed.
It was the processor core for Lexra's Stream Processor chip project that never made
it to tape-out.
Lexra also offered a LX-PB20K general purpose FPGA / PLD prototyping board.
Products known to contain Lexra processors:
- Minolta Dimage7 digital still cameras, using the
Macronix image processing chip
- Toshiba SD3750, SD4700, and SD4800 DVD, VCD, MP3-CD, CD players,
using the Zoran Vaddis 5 chip
- Toshiba SDP2000 portable DVD player,
using the Zoran Vaddis 5 chip
- Toshiba RD-X2 DVD-Ram/HDD recorder,
using the Zoran Vaddis 5 chip
- Arcam FMJ DV27A, DiVA DV78, DV79, DV79 HDMI, DV88 Plus and DV89 DVD players,
using the Zoran Vaddis 5 chip
- Pioneer DVR-3000 DVD recorder,
using the Zoran Vaddis 5 chip
- many wireless access points
and gateways using the LX5280-based Realtek RTL8181, RTL8186, and
RTL8651B chips
- products using the LX4280-based Micronas
MDE-9500 or MDE-9502 including:
- The Cabot Communications Callisto over-air
download module and Mercator MHEG-5 development kit for integrated analog & digital
televisions.
- products using the LX4189-based Analog Devices
AD6489, AD6680, AD6681, Fusiv-VX200 (AD6834), AD6836, Fusiv-NP 210 (AD6843),
Fusiv-NP 220 (AD6844), Fusiv-NP 230 (AD6846), or AD6847 including:
- The Sagem F@St series residential and SOHO triple-play modems and gateways
- The icube Play@TV home networking audio/video player set-top box
- The Viewtran broadband video phone
- The NEC UNIVERGE IX2004 router for small enterprises
- The Yamaha RTX1500 enterprise router
- other undisclosed large carrier-oriented equipment
- products using the Crystal Media CM5000 and CM5001 including:
There are many other products with Lexra inside that I have yet to confirm.
I write this with no disrespect or hard feelings towards my many friends - and they are friends - at MIPS Technologies.
However, I feel great pride knowing that people are still using Lexra processors. As best I can, I will help anybody
using Lexra processors today.
Feel free to contact me.
© Copyright 2005-2012 Jonah Probell
|
|