4
\$\begingroup\$

Many IP cores especially from Xilinx have an AXI interface from ARM. (AXI, AXI-Lite, AXI-Stream, APB, ... are parts of AMBA - ARM's bus architecture).

The AXI interface standard is free for download (after registration), but I don't think it's free for implementation. So I asume Xilinx has bought an AMBA license to eqip its IP cores with AXI interfaces.

I don't have such license.

Can I offer AXI interfaces for my (open source) IP cores written in VHDL or Verilog?

It's a bit off topic, but how expensive could it be? How could I get one? :)

Edit
I don't know of any Xilinx document, stating if it's legal to build AXI components interfacing with Xilinx AXI cores. Xilinx cores are bound to Xilinx FPGAs and tools by the Xilinx license. This does not effect own components.

On the other hand these components need to implement an AXI interface to interact with Xilinx cores. How can I atleast design such components without an AMBA license?

\$\endgroup\$
6
  • \$\begingroup\$ What are you going to do if someone here answers "no", you do it, and get sued because the answer was wrong? \$\endgroup\$
    – PlasmaHH
    Jan 10, 2016 at 21:56
  • \$\begingroup\$ @PlasmaHH Nothing. I'm looking for a good explantion. EE.SE has many hardware designers reading such questions and hopefully one can give an answer or a hint how I should interpret the AMBA license text. In my interpretation it's not possible to offer IP cores with AXI interfaces unless these cores are connected to an ARM CPU. So am I misinterpreting the license OR do all the vendors have an AMBA license OR do they violate the license? \$\endgroup\$
    – Paebbels
    Jan 10, 2016 at 22:06
  • \$\begingroup\$ Good question. I don't think I've seen axi on opencores.org \$\endgroup\$
    – johnnymopo
    Jan 10, 2016 at 22:23
  • \$\begingroup\$ @johnnymopo OC's Google search lists 4 AXI projects all from the same person mostly named robust_axi**. I would like to copy the license text, so everybody could read it, but even this is forbidden ... :(. \$\endgroup\$
    – Paebbels
    Jan 11, 2016 at 2:18
  • \$\begingroup\$ AMBA is an open-standard trademarked to ARM. You don't need a license to design AMBA component. \$\endgroup\$ Jan 11, 2016 at 8:11

3 Answers 3

5
\$\begingroup\$

The AMBA specification (which includes all of the AXI-3, AXI-4, ACP, AXI Stream protocol) is available for license from ARM for no cost. To get the license, you need to create an account at ARM.com (no cost), and download the license ( no cost, but requires you to click through a legal agreement).

This license enables you to design products that uses these buses, sell them, buy them. You can not transfer your license to some else (so perhaps you are using the Xilinx license now as a developer (grey area), but if you want to sell the product you've developed, you should click through and get a license. (as a side effect, you get the actual specifications from ARM, which will be useful in making sure your IPs are correct!)

One restriction: Under this license, you can build and sell products that include an AMBA bus and a CPU, but the CPU cannot be code-compatible with ARM, unless it includes a paid for ARM license.

What I say where is just my opinion from reading the ARM license agreement. Go get your own license agreement from www.arm.com and verify this for yourself, with all of the legal concurrence you can afford.

\$\endgroup\$
2
  • \$\begingroup\$ This should be the answer! Nailed it. Although google is full of references to Xilinx related to AXI, it is an ARM LLC standard. \$\endgroup\$
    – Anders
    Oct 8, 2016 at 4:43
  • 1
    \$\begingroup\$ Since this is a highly ranked Google answer, I just wanted to note that the standard is now free to download, there is no account or click through license needed. The restriction still seems to hold regarding the ARM CPU, but for other uses I'd consider the (now) freely available spec more of an open standard than before. \$\endgroup\$ Jun 10, 2020 at 16:36
1
\$\begingroup\$

IANAL, but I don't see why not. Take the Zynq for example -- one if its biggest selling points is the ability to put whatever custom hardware acceleration you want into its fabric to act as a co-processor for the hardened ARM silicon. Xilinx wants you to use AXI -- the primary data interfaces are all AXI between the GP and HP ports.

Now, if you're turning around selling silicon or licensing IP cores, you may want to check with legal / do some more research, but for an open-source IP core, all you're doing is implementing something that is written to a publicly available specification -- that's it. You're not using any of their IP or design collateral.

\$\endgroup\$
1
  • \$\begingroup\$ Can you present a Xilinx doc granting any rights to use AXI? Connecting Xilinx AXI cores to Zynq's AXI interfaces is covered by Xilinx's own ARM/AMBA license. Xilinx does not realy offer free HDL access, they are promoting HLS and other solutions to interact with AXI, wherby the tool generates ab AXI interface. VHDL and Verilog design seems to by a relict to Xilinx :). To your second point: also specifications have copyright e.g. in US law. So implementing such interface could violate the license.... \$\endgroup\$
    – Paebbels
    Jan 11, 2016 at 1:51
0
\$\begingroup\$

@Mac's answer is out of date. You do not need a license to access or implement the AMBA AXI protocol. From ARM's website:

The AMBA specification is open. Anyone can obtain a free copy of the specification from ARM and use the protocol to design chips. There is no associated licence or royalty.

They do also state that they own a patent on it:

ARM holds patent US/A/5525971 and other patents are pending.

However that patent expired in 2014.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.