Does such an animal exist? I have looked around but as of yet Ive not seen one. Saw reference to a couple of non-open ones.
A x86 core would be nice too, but i doubt ill find one of them due to IP rights...
I know performance would be dismal, but this is just for some experimentation i want to do. ( and no, im not up to 'rolling my own' version of something that complex )
There's probably a lot less problem with IP rights on the x86 than on the PowerPC. The x86 has been around long enough for the patents to expire. (Maybe not on things like MMX and SSE, but you didn't indicate that you needed those.)
I hadnt thought about the patents expiring on the older X86 stuff, which would suit the bill fine. A reproduction of a 486 or base Pentium would be plenty for what i want to do.
I also thought that PPC was more like ARM and SPARC, and the specs were available openly, just that it would cost to be 'certified' ( which in my case doesnt matter ). But ive been wrong before ;)
I doubt it's a matter of patents, but more a matter of licening. The two are very different beasts. Having said that, what you do in your own home for your own amusement is your business... :)
But if there isn't a patent on an architecture, you don't need a license to implement it. The purpose of the license is to grant you a right that was taken away from the patent. If there's no patent, you haven't been denied the right.
Since this topic has come up, maybe someone could answer this for me:
I've seen publicly available (often open source) cores for other processors, such as the AVR. Are these sort of cores legal to make, distribute and use? Supposing I made (from scratch) an msp430 compatible core for an FPGA - any ideas whether that would be legal or not? I'm guessing that using the name "msp430" would be a trademark and/or copyright violation, but if there are no patents involved it should be okay? Does it make any difference whether it is just used by the developer, released as an inaccessible part of a closed design, or whether it is released for free use by others?
Not being a top authority on soft core I'll still observeve that:
Implementing a CISC CPU is much more resource consuming than implementing a RISC core.
x86 is way crazy because of the need to maintain compatibility with the
8086's real mode.
In late 80's Intel made a special version of 386 (385 if I remember right) that was basically a 368 without the real mode. It was much cheaper than a 386 but there were no takers: x86 is used so much only because of the huge volume of written code, not because it is a good architecture. If I had to go the CISC way, I'd much rather clone a 68000. Just as much software written and a considerably better instruction set.
I'd have been surprised if it hadn't been done, given that the msp430 core is a solid 16-bit core with a good gcc port and a (relatively) clean instruction set and programming model. I was, however, more interested in knowing where such a core stands legally (although I will also have a look at the core sometime for curiosity - and the site you gave has a few other interesting links).
["from the patent" was supposed to read "by the patent"]
Tobias We> No, you are wrong. I do not need a patent on my IP in order for me to
You can't copyright an idea. You can only copyright a specific expression of an idea.
If you invent a new processor architecture, and publish the architecture specifications, copyright does not prevent me from designing my own processor compatible with your specifications. This is a very well- established principle of US copyright law, and AFAIK the copyright laws of most other countries work similarly.
If you published Verilog code for your core, that could be copyrighted, and I wouldn't be able to use your Verilog code without a license, though I could still write my own.
On the other hand, patents *do* protect ideas. If you patent a feature of your processor architecture, I can't use it without a license. If you have a patent that doesn't apply to the architecture, but only to a feature of your implementation (e.g., your Verilog design), I could either license that patent or try to figure out a different way to implement the architecture that didn't infringe your patent. For instance, if your processor architecture had an (unpatented) multiply-by-37 instruction, but you have a very clever patented multiply-by-37 circuit, and I didn't want to license your patent, I could still design my own processor compatible with your architecture by using a different (probably less clever) multiply-by-37 circuit.
I wonder whether an x86 type replacement could be done in a different way - instead of implementing an x86, implement a simpler RISC type architecture, and translate the code off line in software. At least some of the x86 family used microcode AFAIK, so this could be feasible.
If the code is well written (no self modifying code), this might actually do what a x86 soft-core would actually want to do.
Mind you, still a lot of functionality where that wouldn't work, but from a purely instruction set point of view, this could maybe work.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.