Lattice IP Support

The Lattice IP Core is a pre-designed logic function and configurable design blocks that implement popular industry-standard functions.

IP Catalog

IP Catalog is a software tool included with the Lattice Radiant design software. IP Catalog is an easy way to use a collection of functional blocks from the Radiant software. There are two types of components available through IP Catalog: modules and IP. IP Catalog enables you to extensively customize these components. They can be created as part of a specific project or as a library for multiple projects. In Radiant, it is easier to identify IP on local and IP on server. You can use the IP on Server tab of IP Catalog to download and install the latest IP available from Lattice Semiconductor.


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.

Clarity Designer

Clarity Designer is a tool within the Lattice Diamond software environment that addresses the need to be able to generate and plan multiple blocks together. Clarity Designer is used for configuration of blocks, building the connections between blocks, and planning the resources used by the PCS and DDR blocks in the design. For device families supported by Clarity Designer, IPexpress functionality is accomplished along with functionality for building and planning. The IPexpress tool is disabled when using a device family supported by Clarity Designer. Device families that are not supported yet by Clarity Designer still require the use of IPexpress. Clarity Designer is currently only available for the ECP5, CrossLink and CrossLinkPlus device family.

IP Suites – no longer available. Contact Sales for information

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. Bitstreams generated via a valid IP Suite license will run indefinitely.

IP Core Subscription. Contact Sales for information

Some of the IP Cores that were included in the IP Suites are now available as annual subscription.

Crosslink IP Licensing

Crosslink IP are free of charge. You can obtain a license by going to and requesting a "Lattice Diamond Free License". In the request form you will select the desired CrossLink IP for your design.

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 and Radiant 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 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 and Radiant 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 IP tools in Diamond or Radiant to configure some parameters in the IP core (for example, with DDR2, you might configure the data word width to a particular length). The IP 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 or Radiant, 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 4 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 either the Lattice Diamond or Radiant design software. This includes the IPexpress tool for Diamond and IP Catalog for Radiant, which are used to configure the IP core to your preferences.

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 4 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 or Radiant, you already have access to all the IP core "code" via the IPexpress or IP Catalog 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 or Radiant, 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 Subscription license: Individual IP cores that is limited to a single Diamond or Radiant software installation, and the use period is 1 year. At the end of the 12-month term, 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). Part numbers for site licenses will end in a suffix like -US. Extensions to this 1-year period are available.

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 several 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 product, the designers can share the same IP core license for the same end-product.

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 IP subscription license expire? How do I extend it?

If you request a license for an IP core subscription license, 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 the same part again, and request an updated license.dat file via our licensing form.

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?

Please raise a Support Case at