FPGARelated.com
Forums

Home grown CPU core legal?

Started by Bruce P. November 9, 2003
I've always been interested in designing my own 8-bit CPU core in an
FPGA for educational purposes.  After visiting www.opencores.org, it
seems the easiest/most popular way to go about this is to make the CPU
core be compatible with an existing ISA (Instruction Set Architecture)
from an available device (e.g. 8051, PIC, etc.).  That way I could use
readily available development tools to write code, debug, create a hex
file, etc.

If by some chance I ever used my home grown, ISA compatible, core in a
commercialized product, would there be legal issues?   Chances are I
would never use my own and would probably use a Nios or Microblaze
instead, but if I just needed a simple little core, it could prove
useful.

I know very little about the IP core business, but I've seen off the
shelf compatible CPU cores for sale, so I'm guessing these IP
companies must pay companies like Microchip when they sell a PIC
compatible core?

Just curious if anyone has any insight into how all this works. 

Thanks.

-Bruce
> If by some chance I ever used my home grown, ISA compatible, core in a > commercialized product, would there be legal issues? Chances are I > would never use my own and would probably use a Nios or Microblaze > instead, but if I just needed a simple little core, it could prove > useful.
AFAIK (and IANAL) the only effective legal way against a processor clone are patents. This means that very old designs like the 8051, 6502, PIC, etc. should be no problem. The patents only affect ways to design or implement the processor, not the ISA. So if you knew the patents you could design the CPU in a way that does not violate the patent. Unfortuanatle as an amateur you can never be sure what kind of wierd patents suddenly surface out of nowhere. The ISA can not be protected effectively. This does not mean that a pissed processor vendor will not send a hord of lawyers after you to scare you or to cover you in loads of expensive paperwork. Therefore you should stay away from CPUs from companies that live from processor licensing fees. (Like ARM or MIPS) If you really want to play it safe you should implement a SPARC ISA. That's an open standard. Or do a reimplementation of picoblaze or microblaze or xr16. I believe that Xilinx won't mind another Microblaze implementation that helps selling there Chips. (G�ran, can you comment on that?) And Jan Gray explicitely stated that he does not object to reimplementations of his xr16 design. Kolja Sulimma
This is a multi-part message in MIME format.
--------------050408080207040802060803
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

I can't see why Xilinx would be against a clean room implementation of 
MicroBlaze.
It would actually be quite interesting.
We actually want to promote the use of MicroBlaze.
We are not getting our money from MicroBlaze sells but rather on the 
FPGAs that MicroBlaze uses.
If someone did a clean room, open source implementation of MicroBlaze it 
would probably letting us sell more FPGAs.

As Kolja said, you can't really effectively patent an ISA, only an 
implementation.
BUT an implementation can have certain features which you can patent and 
thus make it hard to design around that patent.
ARM has the shadow registers at interrupts and MIPS has the unaligned 
word access handling,...

Even if you did a clean room implementation of ARM and avoid all 
patents, ARM will sue you to the end.
So unless you have big financial backing that will pay your lawyers, you 
will not win.

G�ran

Kolja Sulimma wrote:

>>If by some chance I ever used my home grown, ISA compatible, core in a >>commercialized product, would there be legal issues? Chances are I >>would never use my own and would probably use a Nios or Microblaze >>instead, but if I just needed a simple little core, it could prove >>useful. >> >> > >AFAIK (and IANAL) the only effective legal way against a processor >clone are patents. This means that very old designs like the 8051, >6502, PIC, etc. should be no problem. >The patents only affect ways to design or implement the processor, not >the ISA. So if you knew the patents you could design the CPU in a way >that does not violate the patent. Unfortuanatle as an amateur you can >never be sure what kind of wierd patents suddenly surface out of >nowhere. > >The ISA can not be protected effectively. This does not mean that a >pissed processor vendor will not send a hord of lawyers after you to >scare you or to cover you in loads of expensive paperwork. Therefore >you should stay away from CPUs from companies that live from processor >licensing fees. (Like ARM or MIPS) > >If you really want to play it safe you should implement a SPARC ISA. >That's an open standard. > >Or do a reimplementation of picoblaze or microblaze or xr16. I believe >that Xilinx won't mind another Microblaze implementation that helps >selling there Chips. (G�ran, can you comment on that?) > >And Jan Gray explicitely stated that he does not object to >reimplementations of his xr16 design. > >Kolja Sulimma > >
--------------050408080207040802060803 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> Hi,<br> <br> I can't see why Xilinx would be against a clean room implementation of MicroBlaze.<br> It would actually be quite interesting.<br> We actually want to promote the use of MicroBlaze. <br> We are not getting our money from MicroBlaze sells but rather on the FPGAs that MicroBlaze uses.<br> If someone did a clean room, open source implementation of MicroBlaze it would probably letting us sell more FPGAs.<br> <br> As Kolja said, you can't really effectively patent an ISA, only an implementation.<br> BUT an implementation can have certain features which you can patent and thus make it hard to design around that patent.<br> ARM has the shadow registers at interrupts and MIPS has the unaligned word access handling,...<br> <br> Even if you did a clean room implementation of ARM and avoid all patents, ARM will sue you to the end.<br> So unless you have big financial backing that will pay your lawyers, you will not win.<br> <br> G&ouml;ran<br> <br> Kolja Sulimma wrote:<br> <blockquote type="cite" cite="midb890a7a.0311100755.72deef43@posting.google.com"> <blockquote type="cite"> <pre wrap="">If by some chance I ever used my home grown, ISA compatible, core in a commercialized product, would there be legal issues? Chances are I would never use my own and would probably use a Nios or Microblaze instead, but if I just needed a simple little core, it could prove useful. </pre> </blockquote> <pre wrap=""><!----> AFAIK (and IANAL) the only effective legal way against a processor clone are patents. This means that very old designs like the 8051, 6502, PIC, etc. should be no problem. The patents only affect ways to design or implement the processor, not the ISA. So if you knew the patents you could design the CPU in a way that does not violate the patent. Unfortuanatle as an amateur you can never be sure what kind of wierd patents suddenly surface out of nowhere. The ISA can not be protected effectively. This does not mean that a pissed processor vendor will not send a hord of lawyers after you to scare you or to cover you in loads of expensive paperwork. Therefore you should stay away from CPUs from companies that live from processor licensing fees. (Like ARM or MIPS) If you really want to play it safe you should implement a SPARC ISA. That's an open standard. Or do a reimplementation of picoblaze or microblaze or xr16. I believe that Xilinx won't mind another Microblaze implementation that helps selling there Chips. (G&ouml;ran, can you comment on that?) And Jan Gray explicitely stated that he does not object to reimplementations of his xr16 design. Kolja Sulimma </pre> </blockquote> </body> </html> --------------050408080207040802060803--
In article <b890a7a.0311100755.72deef43@posting.google.com>,
Kolja Sulimma <news@sulimma.de> wrote:

>The ISA can not be protected effectively. This does not mean that a >pissed processor vendor will not send a hord of lawyers after you to >scare you or to cover you in loads of expensive paperwork. Therefore >you should stay away from CPUs from companies that live from processor >licensing fees. (Like ARM or MIPS)
I'm not so sure about this, look at some of the unique ISA features (eg, the initial conditional execution in ARM, the IA64 deferred exceptions (good idea) and rotating register file (bad idea)). I think these items can and are patented.
>If you really want to play it safe you should implement a SPARC ISA. >That's an open standard.
Just don't call it SPARC. You have to say "Sparc Compatabile IEEE whatever" until you pay sparc money. But that's no big deal.
>Or do a reimplementation of picoblaze or microblaze or xr16. I believe >that Xilinx won't mind another Microblaze implementation that helps >selling there Chips. (G&#4294967295;ran, can you comment on that?)
Microblaze is probably a nice one, since it should map well to large families of FPGAs. -- Nicholas C. Weaver nweaver@cs.berkeley.edu
Hi Goran,
    So, playing devli's advocate, Xilinx wouldn't mind if the clean room
Microblaze was targeted at their competitors' devices? Or do you think that
no one would do this because Microblaze only efficiently fits the Xilinx
devices? Or the competitors have their own solutions for their parts?
    I wonder....
                cheers, Syms.


"Goran Bilski" <goran@xilinx.com> wrote in message
news:boodq5$bgr2@cliff.xsj.xilinx.com...
Hi,

I can't see why Xilinx would be against a clean room implementation of
MicroBlaze.
It would actually be quite interesting.
We actually want to promote the use of MicroBlaze.
We are not getting our money from MicroBlaze sells but rather on the FPGAs
that MicroBlaze uses.
If someone did a clean room, open source implementation of MicroBlaze it
would probably letting us sell more FPGAs.




Hi Symon,

I don't think Xilinx would be happy but I don't think we would do 
anything against it.
I also think that MicroBlaze will be better implemented in our FPGA than 
in our competitors.

If someone did a clean, pure RTL implementation of MicroBlaze, I think 
that someone will very quickly try it on our competitors FPGA.

I have a pure RTL version of MicroBlaze and it doesn't look good when 
targeting other devices than Xilinx's devices.

But someone started from scratch, the design would probably not be so 
biased against Xilinx.

G&#4294967295;ran

Symon wrote:

>Hi Goran, > So, playing devli's advocate, Xilinx wouldn't mind if the clean room >Microblaze was targeted at their competitors' devices? Or do you think that >no one would do this because Microblaze only efficiently fits the Xilinx >devices? Or the competitors have their own solutions for their parts? > I wonder.... > cheers, Syms. > > >"Goran Bilski" <goran@xilinx.com> wrote in message >news:boodq5$bgr2@cliff.xsj.xilinx.com... >Hi, > >I can't see why Xilinx would be against a clean room implementation of >MicroBlaze. >It would actually be quite interesting. >We actually want to promote the use of MicroBlaze. >We are not getting our money from MicroBlaze sells but rather on the FPGAs >that MicroBlaze uses. >If someone did a clean room, open source implementation of MicroBlaze it >would probably letting us sell more FPGAs. > > > > > >
> If you really want to play it safe you should implement a SPARC ISA. > That's an open standard. > > Or do a reimplementation of picoblaze or microblaze or xr16. I believe > that Xilinx won't mind another Microblaze implementation that helps > selling there Chips. (G&#4294967295;ran, can you comment on that?) >
Thanks, the Picoblaze looks like a simple one to look at first. Plenty of documentation and free tools as well. BP
news@sulimma.de (Kolja Sulimma) wrote in message news:<b890a7a.0311100755.72deef43@posting.google.com>...
> Or do a reimplementation of picoblaze or microblaze or xr16. I believe > that Xilinx won't mind another Microblaze implementation that helps > selling there Chips. (G&#4294967295;ran, can you comment on that?)
Once a version of microblaze becomes widely available on the Cyclone series (or other Altera chip) and starts selling Altera chips, I'm sure Xilinx would mind. :) Jake
"Goran Bilski" <goran@xilinx.com> wrote in message
news:booi3e$bg72@cliff.xsj.xilinx.com...
> Hi Symon,
> But someone started from scratch, the design would probably not be so > biased against Xilinx. >
Perhaps you should do one that is biased *towards* Xilinx parts ;-) Ralph
This is a multi-part message in MIME format.
--------------090508090504070508040605
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit

Well, MicroBlaze is biased against Xilinx FPGA.
The whole ISA is done towards our devices.

That's why I mean it will probably not be efficient in other FPGA 
vendors architecture.
But I think it would be very suited for an ASIC implementation.

G&#4294967295;ran

Ralph Mason wrote:

>"Goran Bilski" <goran@xilinx.com> wrote in message >news:booi3e$bg72@cliff.xsj.xilinx.com... > > >>Hi Symon, >> >> > > > >>But someone started from scratch, the design would probably not be so >>biased against Xilinx. >> >> >> > >Perhaps you should do one that is biased *towards* Xilinx parts ;-) > >Ralph > > > >
--------------090508090504070508040605 Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"> <title></title> </head> <body text="#000000" bgcolor="#ffffff"> Well, MicroBlaze is biased against Xilinx FPGA.<br> The whole ISA is done towards our devices.<br> <br> That's why I mean it will probably not be efficient in other FPGA vendors architecture.<br> But I think it would be very suited for an ASIC implementation.<br> <br> G&ouml;ran<br> <br> Ralph Mason wrote:<br> <blockquote type="cite" cite="midFZRrb.148$Vd1.9121@news.xtra.co.nz"> <pre wrap="">"Goran Bilski" <a class="moz-txt-link-rfc2396E" href="mailto:goran@xilinx.com">&lt;goran@xilinx.com&gt;</a> wrote in message <a class="moz-txt-link-freetext" href="news:booi3e$bg72@cliff.xsj.xilinx.com">news:booi3e$bg72@cliff.xsj.xilinx.com</a>... </pre> <blockquote type="cite"> <pre wrap="">Hi Symon, </pre> </blockquote> <pre wrap=""><!----> </pre> <blockquote type="cite"> <pre wrap="">But someone started from scratch, the design would probably not be so biased against Xilinx. </pre> </blockquote> <pre wrap=""><!----> Perhaps you should do one that is biased *towards* Xilinx parts ;-) Ralph </pre> </blockquote> </body> </html> --------------090508090504070508040605--