Lattice Semiconductor Corporation
Home > About Us > Newsletters > LatticeNEWS September 2010 > Lattice Diamond Implementation and Strategies

LatticeNEWS September 2010

Lattice Diamond Implementations and Strategies Increase Design Tool Functionality

Design projects in Lattice Diamond software offer increased functionality by allowing more robust projects and capabilities for design exploration. Key improvements to Diamond projects include the following:

Implementations

Implementations define the design structural elements for a project including source code, constraint files, and debug insertion. An implementation can be thought of as the raw material necessary to create the design. Multiple implementations can be used within a project to try different architectures to determine which produces the best results.

For a simple example, one implementation of a design may use inferred memory and another implementation may use instantiated memory. There can be multiple implementations in a project, but only one implementation can be active at a time and there must be at least one implementation. You can effectively copy an existing implementation by creating a new one and selecting to use the source of the existing as the source of the new implementation. An implementation is automatically created whenever you create a new project. The figure below shows the Diamond file list view which shows the representation of the active implementation “mixedcounter”.

 

Lattice Diamond File List View

Diamond File List View

Strategies

Strategies are all the implementation-related tool settings collected in one convenient location. A strategy is the set of instructions that describe how to use the raw materials available in the implementation to build the design. The strategies within a project are automatically shared among all the implementations, and they can be saved and used in multiple projects. The following are key points to understanding strategies and their role in Diamond projects.

The figure below shows the strategy dialog. Each item in the list on the left can be selected and then all the available options for that item can be shown and modified.

 

Lattice Diamond Strategy Dialog

Diamond Strategy Dialog

Example Usage

Two typical usages show how implementations and strategies are used together to achieve the desired results. Example 1 shows a case where the designer wants to evaluate the result of different implementation options on the same design. For this example, there would be multiple implementations that use the same source effectively being clones of each other. Then different strategies would be assigned to each implementation. Each strategy would have unique settings for the FPGA software engines such as Synthesis, Map, and PAR.

 

Lattice Diamond Example #1

Example 1 – Exploring Different Implementation Options

 

Example 2 shows how a designer would evaluate different implementations using different structures (different source code) but using the same implementation options. This would be the case if the designer wanted to evaluate the effects of using inferred memory versus instantiated memory.

 

Lattice Diamond Example #2

Example 2 – Exploring Different Implementation Architectures

Summary

The new project structure in Diamond provides several key benefits. Projects are now much simpler since a single project type can handle a variety of input source types and allow the management of multiple constraint, debug, and analysis files. Additionally, through the use of implementations and strategies, projects can now be much more powerful, allowing a single project to accomplish what would have taken several projects previously. Understanding the concepts of implementations and strategies is key to leveraging this functionality in the Diamond software.

Legal | Privacy Policy | Press | Careers | Investor Relations | Contact Us | Site Map | | Follow us  Lattice Semiconductor on Facebook  Lattice Semiconductor on Twitter  Lattice Semiconductor on YouTube  © Lattice Semiconductor Corporation 2012