The Lexra Story
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:
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:
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.
© Copyright 2005-2012 Jonah Probell