Can I use IP cores from one vendor on another vendor’s chip? - Page 1
Forum section: electronics / general

author: technix
author_rank: Super Contributor
timestamp: November 14, 2018, 10:23:07 am
content: For example, with my Microchip Libero license it came with a 8051 soft IP core. Can I borrow that for use on my Intel Cyclone IV chip and Quartus platform?

author: rstofer
author_rank: Super Contributor
timestamp: November 14, 2018, 02:45:42 pm
content: Not legally! Every IP I have ever seen comes with the admonition that it is to be used on the vendor's parts only.If all you have is the netlist (perhaps encrypted), it won't work anyway and if it uses proprietary features it is even less likely to work.Something as trivial as the 8051 would be easy enough to recreate. Here's one example:https://opencores.org/projects/8051

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 14, 2018, 04:24:41 pm
content: Quote from: technix on November 14, 2018, 10:23:07 amI have no clue what kind of rights they grant you with the Libero license. The 8051 IP is a licensable one and I'm thinking you may just get an evaluation license of the core with Libero, so even on Microsemi FPGAs you may not be granted the right to use it for commercial purposes without actually buying a specific license? The simpler approach would obviously be to ask them directly.I must admit their web site is a bit crappy.https://soc.microsemi.com/products/ip/search/detail.aspx?id=541

author: james_s
author_rank: Super Contributor
timestamp: November 14, 2018, 04:30:56 pm
content: Occasionally, but most of the fancier IP cores are written such that they directly instantiate hardware in the FPGA, so trying to use it on another vendor's product doesn't work.

author: Bassman59
author_rank: Super Contributor
timestamp: November 14, 2018, 04:53:30 pm
content: Quote from: SiliconWizard on November 14, 2018, 04:24:41 pmI used the Microsemi 8051 core in a commercial design and it was free for that use, as was the M1 core that they offer. (The M1 only works in the M1-specific variants of the parts.) I used the free version of their tools for the implementation.The processor ran at 20 MHz and had no problems meeting that timing in a ProASIC-3L device.The Core8051S as supplied with Libero 11.8 is not encrypted and the VHDL is actually easily understood. I have not tried to use it with another vendor's devices.All of that said, I'm pretty sure Microsemi's (Microchip) license might forbid such use.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 14, 2018, 05:00:11 pm
content: Quote from: Bassman59 on November 14, 2018, 04:53:30 pmAlright then. I'd be interested in seeing the exact license terms. Can't find them on the crappy Microsemi website.And I currently have no Libero install to dig into...

author: brucehoult
author_rank: Super Contributor
timestamp: November 14, 2018, 10:53:17 pm
content: There are plenty of good officially free to use soft cores around. Unless you particularity love programming the 8051?

author: Bassman59
author_rank: Super Contributor
timestamp: November 15, 2018, 12:45:53 am
content: Quote from: SiliconWizard on November 14, 2018, 05:00:11 pmYeah, their website is, and has always been, a mess. Links rarely work. When I started that project (which was five years ago!) the FAE assured us that the core was free for our use.But seehere. The 8051 cores (there are two) are listed under "DirectCore," and it says "mostDirectCores are available free within the Libero tool suite." Click "Processors."You'll see the two 8051 cores, Core8051 and Core8051s. The former has an "Evaluation" link. The latter does not. This means that you have to buy and license Core8051 for your use. I have not looked into that any further. The Core8051s is available for you to use in any design and there's no other licensing or fees required.Open Libero SoC and create or open a project. The Core8051s is available in the IP Catalog tab of the Libero screen. It has a green key icon next to the name, indicating that it's fully licensed for you to use. Core8051 is not even listed, unless you download it and add it to the catalog.There are differences between the two. The Core8051 is much closer to the classic 8051 -- it has the same interrupt structure, timers, UART and I/O ports. The Core8051s dispenses with the peripherals and I/O ports and instead has an APB interface through which you can add your own peripherals. It also has only two interrupts.This means that if you have code for an existing 8051 design which relies on the original peripherals, you have to use (and pay for) the Core8051. If you're starting from scratch, you can use the Core8051s and roll your own peripherals, so for example you can use an SPI master (or five, if you like) or any wacky thing you like. You just add an APB interface to it, and accessing the APB is done by declaring things to be in XDATA space. The interrupt thing is handled by building your own interrupt controller.The Core8051s requires an external memory for program storage, so I used a parallel flash device. Their SoftConsole IDE (based on Eclipse, of course) uses sdcc for the compiler and can also program the processor's flash as well as debug, both over JTAG from the FlashPro.

author: technix
author_rank: Super Contributor
timestamp: November 15, 2018, 02:26:45 am
content: Quote from: brucehoult on November 14, 2018, 10:53:17 pmI am using Microsemi's Core8051s as an example of the use case here.Quote from: james_s on November 14, 2018, 04:30:56 pmWhat about the IP ores provided as unobfuscated HDL? For example a lot of Microsemi's IP cores are provided that way, also the Mobile SDRAM controller from Intel MAX II CPLD application note etc. (I even have the free but obfuscated Cortex-M0 from ARM.)

author: brucehoult
author_rank: Super Contributor
timestamp: November 15, 2018, 03:40:17 am
content: Quote from: technix on November 15, 2018, 02:26:45 amI would be surprised if they allow you to use it in an SoC or on someone else's FPGA. But, as it says here, ask them...https://soc.microsemi.com/products/ip/search/detail.aspx?id=541

author: rstofer
author_rank: Super Contributor
timestamp: November 15, 2018, 04:17:53 pm
content: Sometimes there is a copyright notice in the source files that lists the terms and conditions. I don't know if that applies in this case but maybe.

author: capt bullshot
author_rank: Super Contributor
timestamp: November 15, 2018, 05:12:59 pm
content: Quote from: technix on November 14, 2018, 10:23:07 amTechnically, if it works, why not? Licenses are written on paper, and the target chip cannot read that paper. Beware, some lawyers might be able read and understand that paper.Otherwise, if you want to make money from your platform, I'd consider borrowing that core unfair.

author: technix
author_rank: Super Contributor
timestamp: November 15, 2018, 07:35:19 pm
content: Quote from: capt bullshot on November 15, 2018, 05:12:59 pmI am talking experiments here. For any projects intended to be released I will come clean with the licenses of the released tools.

author: SiliconWizard
author_rank: Super Contributor
timestamp: November 15, 2018, 07:51:23 pm
content: Well if it's just for experimenting and not releasing, I don't see why you couldn't do it. If they give unobfuscated source code, you can do whatever you want with it as long as you don't share what you did IMO. Experimenting with the code or just reading it doesn't make any difference to me. And if they don't want you to read it, they wouldn't release it in clear.It's a bit as if some company gave you a book for free and legally prevented you from reading it. Wouldn't make any sense, unless they wanted you to become schizophrenic. (Not that some of our laws don't tend towards this though...)Now it could (and usually does) prevent you from sharing it with others. So that's how I would consider this here. Your opinion may vary.