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
Home grown CPU core legal?
Started by ●November 9, 2003
Reply by ●November 10, 20032003-11-10
> 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
Reply by ●November 10, 20032003-11-10
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ö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ö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--
Reply by ●November 10, 20032003-11-10
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�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
Reply by ●November 10, 20032003-11-10
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.
Reply by ●November 10, 20032003-11-10
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�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. > > > > > >
Reply by ●November 10, 20032003-11-10
> 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?) >Thanks, the Picoblaze looks like a simple one to look at first. Plenty of documentation and free tools as well. BP
Reply by ●November 10, 20032003-11-10
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�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
Reply by ●November 10, 20032003-11-10
"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
Reply by ●November 10, 20032003-11-10
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�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ö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"><goran@xilinx.com></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--






