Lattice IP Support

LatticeCORE™ IP cores are configurable design blocks that implement popular industry-standard functions. These IP blocks can be easily combined with your generated logic to provide complete custom solutions.  Lattice IP cores help you get to market more quickly, and with maximum efficiency - using programmable solutions that are already optimized for Lattice programmable products.

IPexpress

IPexpress is a software tool included with the Lattice Diamond design software. IPexpress is used to configure Lattice IP cores to your needs. For example, if you need a x16 memory width for a DDR3 Controller, you can set this in IPexpress.  The output of IPexpress is a netlist you can embed into your FPGA design using Lattice Diamond.

After you complete your design in Lattice Diamond, you can generate a programming bitstream and use the IP core normally. If you have not purchased a license for the IP core, it will only operate for a limited time (usually about 30-120 minutes) before timing-out, and requiring re-programming of the FPGA. If you purchase a license for the IP core, it will run indefinitely.

When you launch IPexpress, a catalog of available IP cores will be shown. Be sure to check for updates and additions to this catalog by clicking on the IPexpress "globe" icon. This will check the Lattice web site for updates.

IP Suites

Lattice IP Suites are an alternate IP licensing arrangement for many popular Lattice IP cores.  Each IP Suite includes a group of IP cores that can be used on a variety of Lattice programmable products. These groups of IP cores are targeted to give a complete set of IP for popular applications (e.g. Video & Display, Ethernet, PCIexpress, etc.).

You can design with any combination of IP cores included in the IP Suite as often as you like for one year. When the 1-year period is over, you can extend your IP Suite license at a discounted rate. Bitstreams generated via a valid IP Suite license will run indefinitely.

Check the Lattice IP Selector to see which IP cores are included in which IP Suites.

MACO IP

MACO IP cores are available only for the LatticeSCM FPGA family. These devices contain from 4 to 12 islands of on-chip structured ASIC blocks upon which MACO (Masked Array for Cost Optimization) IP is based.  To complete a design using MACO IP in the Lattice software, you will need to include the netlist for the MACO IP in your design. Licenses for MACO IP are available upon request at no charge.

Lattice IP partners

The LatticeCORE™ Connection is a group of independent IP providers who have teamed up with Lattice to bring our customers the highest quality, reusable IP cores optimized for Lattice's unique line of FPGA devices. All Connection partners are selected for their industry leadership, high development standards, and commitment to customer support.

Lattice works closely with each Connection partner to ensure they have all the proper tools and training to maximize their cores' performance in Lattice's software and devices. Connection partners provide many widely-used cores that complement Lattice's LatticeCORE IP products.  Connection Cores have been extensively tested and in most cases, have a history of successful customer usage.

Lattice Connection partners offer a variety of package and licensing options to suit your specific needs. Connection IP Cores are typically available in netlist format for purchase directly from the Connection Provider. Licensing terms and conditions for Connection IP Cores are solely between the Connection Provider and the customer.

You can see which Connection partners provide which IP cores in the Lattice IP selector. If you’re interested in a Connection IP Core, contact them directly for full details. Contact information is provided on the landing page of the individual IP cores.

Buying/Licensing Lattice IP

The following is an overview of the IP purchasing and licensing process in Q&A format. In essence, this process is simple:

  1. Contact Lattice sales or an authorized Lattice distributor to order the IP Core License
  2. You’ll get an e-mail with a serial number and licensing instructions
  3. Click to the Lattice website to complete the process & receive an updated software license.

But, if you have additional questions about how all this works, check the details below.

Can you give me a really basic tutorial on the terminology you're using? What do you mean by a "license"?

The terminology in the world of IP cores and licensing can be a little tricky sometimes. For example, the word "license" can mean different things in different contexts; a legal license, a licensing file, etc.

  • License: While this term can have many definitions, we try to use this to mean a "license to use the IP core". If you've purchased a Lattice IP core, what you've really purchased is an "IP core license". There are different types of IP core licenses with different terms and conditions, as defined by the IP Core License Agreement. Each of these different license types has a unique part number, so be sure to check on which you are getting.
  • IP Core License Agreement: This is the legal agreement that explains the terms and conditions of how the IP core can be used. Sometimes, people will refer to this as the "IP license agreement".
  • License.dat: This is a data file that the Diamond software uses to turn on/off various features of the software, including various IP cores. After you purchase a Lattice IP core license, you'll need to complete the licensing and registration process on latticesemi.com/license to get a new license.dat file that will enable you to use your IP core.
  • License feature line: The license.dat file contains a series of encrypted lines of code that each turn on different features of the Diamond software. Each of these lines of code is called a "feature line". There are unique feature lines required to turn on any IP/FPGA combination.

How does Lattice IP "work"?

Each Lattice IP core is a set of compiled code that implements a basic function, like a DDR2 memory controller, or a Tri-speed MAC, and is targeted/optimized for a specific Lattice FPGA family. You can first use the IPexpress tool (included with Lattice Diamond) to configure some parameters in the IP core (for example, with DDR2, you might configure the data word width to a particular length). The IPexpress tool generates a compiled "netlist", which is sometimes called a "black box", because while you can connect the inputs and outputs, you can't see "inside" this compiled design. Finally, using Diamond, you can add your custom code to it to create your final design, which can then be programmed into a Lattice FPGA. This custom code is sometimes called a "wrapper" as it "wraps around" the IP core to create the final design.

After you've completed your design, you can generate a bitstream file and program a Lattice FPGA. If you don't have a license for the IP, the software will insert a hardware timer into this bitstream file. This will allow the bitstream to run for a set period (usually 30 minutes to 2 hours). After this, the device can be reprogrammed to reset the timer. You'll need to purchase an IP license to remove this hardware timer function and fully utilize the IP.

What software do I need before I can use Lattice IP cores?

You'll need the Lattice Diamond FPGA design software. This includes the IPexpress tool, which is used to configure the IP core to your preferences. The output of the IPexpress tool will be that "black box" compiled IP core netlist referenced above. Lattice IP cores can also be used with the ispLEVER software (which was the predecessor to Diamond), but Lattice recommends you use Diamond for all new designs.

If I don't have a license to use my IP core, what are the limitations of using it?

You can do nearly all your design and prototyping work without an IP license. If you do not have a license to use the IP core, the software will insert a "hardware timer" into the programming bitstream. This will cause the bitstream to "time-out" after a set period – usually from 30 minutes to about 2 hours. After the period expires, you can re-program the FPGA to reset the period. Also, without an IP license, full timing simulation is not available.

I just purchased a Lattice IP core license, where/how do I get the code?

If you have a copy of Diamond, you already have access to all the IP core "code" via the IPexpress tool. When you purchase an IP core, what you've really purchased is a license to fully utilize this code – i.e. you've purchased a "key", which comes in the form of a file called "license.dat". So, that small license.dat file is all you need. To get this file, you need to complete a license registration request via the Lattice web site. Assuming everything checks-out OK, we'll email you a new license.dat file, which works with Diamond, and basically "unlocks" the IP core.

What's the difference between the types of IP licenses?

There are 3 ways you can purchase a license to use Lattice IP cores. The type of IP license you purchase is reflected by the part number you order; so there's only one way to license any specific IP core part number. These license types include:

  • Single design license: In this case, the IP is licensed to a single "end use". There can be numerous designers working on the project, but they all must be working on the same single design. There is no expiration date to such a license. This is the default license type. Part numbers for a single design license will end in a suffix like -U, or -U1, etc. These products are specific to a single type of IP, and a single target FPGA technology.
  • Multi-site corporate license: In this case, the license is available to any number of designers working on any design provided they are located within the same company that has purchased the license. When you request your license, you'll need to list your company sites (physical street addresses) that will have use of the license. There is no expiration date to such a license. Part numbers for site licenses will end in a suffix like –UT, or –UT1. These products are specific to a single type of IP, and a single target FPGA technology.
  • IP Design suite license: Lattice IP suites are groups of IP cores, spanning multiple FPGA technologies. The IP cores can be targeted to any number of final designs. However, an IP Suite license is limited to a single Diamond software installation, and the use period is 1 year. At the end of this year, the license will expire. You will still be able to use programming bitstream files generated over the previous year, but will not be able to generate new bitstream files (without the hardware timer). Extensions to this 1-year period are available (IP suite license renewals).

I've purchased a "single design license". What exactly constitutes a "single design"?

This is covered in section 2.2 of the IP Core License Agreement that you will agree to later. You can do one of the following types of implementation:

  • A design that has a single board using Lattice FPGAs with multiple sockets and multiple FPGAs, all using the IP core with different bitstream files.
  • A design that includes multiple boards with Lattice FPGAs with different PCB designs, but the FPGAs all use the same bitstream file containing the IP.

We have a number of designers working on our "single design". Do I have to purchase a license for each designer?

No. Since the IP core license you've purchased is for use in a specific end product, as long as the other designers are working on the same end product, they can request a software license.dat upgrade to use the IP core.

We've purchased a single design license, and have a sub-contractor working on our design. Can you license them to work on this design project?

Yes. This is covered in section 2.3 of the IP Core License Agreement. Be sure to understand your obligations if you make such a licensing request.

When will my single design license expire?

A single design license is perpetual, and does not expire. In such a case, the IP is licensed to a particular end product, so the IP license is good as long as that product is being designed and/or produced.

When will my design suite license expire? How do I extend it?

If you request a license for an IP design suite, the associated license feature line in the license.dat file you receive will expire in 1 year. If you wish to extend this period, you will need to purchase an IP Suite Renewal, and request an updated license.dat file via our automated system.

Is there any limit to the number of "sites" I can list in a multi-site license?

No. But, all sites must be for the same corporate entity licensing the IP core (not sites for affiliated companies.)

Does Lattice sell IP source code? How can I purchase this?

We do sell source code in some instances. If you are interested in this, please contact your local Lattice Sales office.

I'm interested in an IP core developed by one of Lattice's IP partners. How do I purchase this from Lattice?

IP cores developed by Lattice's IP connection partners is sold exclusively by those partners. You will need to contact the appropriate IP partner for more details.

Who can I contact if I have a problem using the on-line licensing system?

Send an e-mail to the Lattice license administrator at: lic_admn@latticesemi.com

Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.