ARM appears to be tolerating a number of freely available processor core clones, as long as they are based on older versions of the ARM architecture.
And so the clones keep coming. The Storm processor core is also
available from OpenCores under a license for hardware modeled on the
Lesser General Public License (LGPL) for software. Like Amber, Storm,
implements the ARMv2 instruction set architecture although the actual
hardware features of the processor core – 32-bit addresses, cache,
coprocessor bus, multiplier accumulator correspond to the ARMv3 hardware
architecture. The only thing it omits from ARMv3 is support for the
Thumb instruction set.
But others are playing with adding Thumb-2
instruction decoding to the Amber ARM processor and 16-bit only
implementations of an ARM instruction set.
Some of these enthusiasts would de well
to look at the nnARM project which is also on the OpenCores website. The project page
states: "This project is disabled or hasn't been approved yet."
The nnARM has been like that since 2001 when a clone of the ARM7 32-bit RISC
processor core, previously available free for download, was taken down
pending discussions between the core's designer – graduate student
Shengyu Shen – and a Chinese representative of ARM Holdings plc
(Cambridge, England). Prior to that event three students at Malardalen
University (Vasteras, Sweden) reported on the development of a
lightweight ARM-style processor core named BlackARM as an academic
exercise but declined to make the core available on-line.
best known is ARM's legal tussle with commercial startup PicoTurbo Inc.
(Milpitas, Calif.). ARM filed suit against PicoTurbo in March 2000
before eventually prevailing in December 2001.
But if you know of any other ARM clones – either extant today or as works in progress – please let me know.
Here is the pertinent blurb, "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical."
I think PicoTurbo showed that best defense is prior art. Other than that, you have to show that your implementation is meaningfully (approaching 100%) different than what ARM has valid patents for. Note that the patents cover only a small part of the processor though.
Yes I am sure that interfaces (the ISA in this case) are not patentable or copyrightable. To be sure, look at the paperwork in the PicoTurbo case. The patents ARM sued about were about implementations of the ISA, not the ISA itself.
I don't know if ARM paid PicoTurbo "millions to go away" as part of the settlement.
If that is right i might have to change my position on it being a win for ARM.
But even if they did spend millions it was probably money will spent to send out the message that there is little to be gained commercially by trying to clone an ARM processor.
PicoTurbo eventually settled out of court.
I would say it was a win for ARM.
PicoTurbo acknowledged ARM's patents and its rights to enforce them and agreed to stop its sales and marketing efforts on the disputed products and IP. PicoTurbo's existing customers were "legitimized" by ARM and allowed to go to market with support from PicoTurbo.
As PicoTurbo could no longer sell I think the company was dissolved soon after this happened in December 2001.