FPGARelated.com
Forums

patent free ARM cores

Started by Antti May 30, 2009
Hi

I wonder if there ary another patent free implementation of ARM cores
excpet the Pollex series

http://www.r-and-d.de/

Antti
> I wonder if there ary another patent free implementation of ARM cores > excpet the Pollex series >
I wonder if this one is ;) How has this succeeded where picoTurbo failed? You could probably do an ARM clone without violating a patent - but Thumb support and being 100% binary compatible seems tricky. Jon
On May 30, 6:53=A0am, j...@beniston.com wrote:
> > I wonder if there ary another patent free implementation of ARM cores > > excpet the Pollex series > > I wonder if this one is ;) > > How has this succeeded where picoTurbo failed? > > You could probably do an ARM clone without violating a patent - but > Thumb support and being 100% binary compatible seems tricky.
From what I have read it is not the binary code that is a problem. I don't think you can patent that. ARM patented some aspect of their interrupt handling that is essential to a correct implementation. I'm not sure when that runs out, but that is the only patent I know of in the ARM family that can't be designed around. My understanding is that is what got the guy in trouble who had an ARM version on opencores.org (since gone). Rick
rickman wrote:
> On May 30, 6:53 am, j...@beniston.com wrote: >>> I wonder if there ary another patent free implementation of ARM >>> cores excpet the Pollex series >> >> I wonder if this one is ;) >> >> How has this succeeded where picoTurbo failed? >> >> You could probably do an ARM clone without violating a patent - but >> Thumb support and being 100% binary compatible seems tricky. > > From what I have read it is not the binary code that is a problem. I > don't think you can patent that. ARM patented some aspect of their > interrupt handling that is essential to a correct implementation. > I'm not sure when that runs out, but that is the only patent I know > of in the ARM family that can't be designed around. My understanding > is that is what got the guy in trouble who had an ARM version on > opencores.org (since gone). >
Of all the ARM things I wouldn't want to copy would be their interrupt handling. If the NXP variety of ARM7 is anything to go by, there are enough supurious and missing interrupts to make me want to see an improvement.
> From what I have read it is not the binary code that is a problem. =A0I > don't think you can patent that.
Sure. However, as you mention, there are some instructions / features that may be difficult to implement without violating a patent, thereby meaning you are not 100% compatible (not that the various ARMs themselves are). For patents possibly covering instructions, you have: 5583804: Data processing using multiply-accumulate instructions Although there was some evidence in the picoTurbo case that this patent may not be valid has it had been publicly disclosed before filing.
> =A0ARM patented some aspect of their > interrupt handling that is essential to a correct implementation. > I'm =A0not sure when that runs out, but that is the only patent I know > of in the ARM family that can't be designed around. =A0
That is 5386563: Register substitution during exception processing. It has a couple more years before it expires. There is also 5701493: Exception handling method and apparatus in data processing systems There is potentially prior art that would invalidate 5386563. Then you have the patents covering thumb mode: 5758115/6021265: Interoperability with multiple instruction sets 5568646: Multiple instruction set mapping 5740461: Data processing with multiple instruction sets If you have a single decoder you might be able to work around these. There's probably a few others as well. Jon
On 30 May, 17:15, rickman <gnu...@gmail.com> wrote:
> On May 30, 6:53=A0am, j...@beniston.com wrote: > > > > I wonder if there ary another patent free implementation of ARM cores > > > excpet the Pollex series > > > I wonder if this one is ;) > > > How has this succeeded where picoTurbo failed? > > > You could probably do an ARM clone without violating a patent - but > > Thumb support and being 100% binary compatible seems tricky. > > From what I have read it is not the binary code that is a problem. =A0I > don't think you can patent that. =A0ARM patented some aspect of their > interrupt handling that is essential to a correct implementation. > I'm =A0not sure when that runs out, but that is the only patent I know > of in the ARM family that can't be designed around. =A0My understanding > is that is what got the guy in trouble who had an ARM version on > opencores.org (since gone). > > Rick
no, the reason nnARM was fighted was that it potentially used some of the original code or was borrowed from original code, or ARM assumed it was. I think ARM did license the rtl to some china universities, and it hit back the nnARM code is still available but rather large and useless anyway, what DOES make sense in FPGA is M3, it is real small and nice, full ARM7 or M3 are much larger than M1 Antti
On May 30, 11:16=A0am, j...@beniston.com wrote:
> > From what I have read it is not the binary code that is a problem. =A0I > > don't think you can patent that. > > Sure. However, as you mention, there are some instructions / features > that may be difficult to implement without violating a patent, thereby > meaning you are not 100% compatible (not that the various ARMs > themselves are). For patents possibly covering instructions, you > have: > > 5583804: Data processing using multiply-accumulate instructions > > Although there was some evidence in the picoTurbo case that this > patent may not be valid has it had been publicly disclosed before > filing. > > > =A0ARM patented some aspect of their > > interrupt handling that is essential to a correct implementation. > > I'm =A0not sure when that runs out, but that is the only patent I know > > of in the ARM family that can't be designed around. =A0 > > That is 5386563: Register substitution during exception processing. It > has a couple more years before it expires. > There is also 5701493: Exception handling method and apparatus in data > processing systems > > There is potentially prior art that would invalidate 5386563. > > Then you have the patents covering thumb mode: > > 5758115/6021265: Interoperability with multiple instruction sets > 5568646: Multiple instruction set mapping > 5740461: Data processing with multiple instruction sets > > If you have a single decoder you might be able to work around these. > > There's probably a few others as well. > > Jon
I'm not sure how many of these would actually be an issue in an FPGA implementation of the ARM instruction set. I believe a patent covers an implementation of a concept, not the concept itself. So if you can get the job done without using the same implementation, you should be ok. But I have not read any of these patents. I read here or another newsgroup that the problem was the particular patent relating to the interrupt handling would be very hard to work around. Rick
> I'm not sure how many of these would actually be an issue in an FPGA > implementation of the ARM instruction set. =A0I believe a patent covers > an implementation of a concept, not the concept itself. =A0
Doesn't it depend if the claims are method or apparatus? Jon