Optimizing a design, Attempting likely optimizations using option sets, 15 optimizing a design – Achronix ACE Version 5.0 User Manual

Page 307: Attempting likely optimiza, Tions using option sets, Attempting, Likely optimizations using option sets

Advertising
background image

Optimizing a Design

Chapter 4. Tasks

Optimizing a Design

There are numerous methods of design optimization available to ACE users.

Many optimizations are able to be performed automatically by ACE, at the cost of additional runtime. These
automatic optimizations are managed at a granular level through the

Implementation Options

, which may

be configured from the

Options View

and/or the Tcl command

set impl option

.

Achronix optimization experts have also collected together implementation options which are known to
work well together into

Option Sets

. These option sets may be used to create new implementations for user

designs, allowing users to compare/contrast how various optimizations affect their achieved frequencies
and required runtimes.

Other optimizations must be performed manually by the user, typically by editing the design’s source RTL
or

.sdc

timing constraints.

Analyzing Critical Paths

is an important part of this process. Optimization

through RTL changes is currently beyond the scope of this document - ask your Achronix Field Applications
Engineer for more information on XP, XXP, and other source optimization possibilities.

Attempting Likely Optimizations Using Option Sets

In addition to

Running Multiple Flows in Parallel

, the

Multiprocess View

allows users to generate new

implementations with Achronix-selected combinations of

Implementation Options

. These known-good

subsets of implementation options are called

Option Sets

. Achronix optimization experts have collected

several option sets which are known to result in increases for the achieved frequencies in a variety of
representative designs.

The Multiprocess view will allow users to select a starting template

implementation

, and will then generate

new implementations using the template implementation as a base. Each generated implementation will
override the implementation options found in the template implementation with the specified option set
configuration (an overriding subset of the full collection of implementation options). The majority of the
implementation options within the generated implementation will be left with the same settings as existed
in the template implementation. Only the options specified in the option set will be overridden to take on
new values. The newly generated implementation will be given a name which includes the option set name
for clarity. (The generated name will be the template implementation’s name as a prefix, with the option
set’s name as the suffix.)

Please see the information in

Running Multiple Flows in Parallel

, which discusses the basic use of the

Multiprocess View

and

Multiprocess Summary Report

- the rest of this section will build upon those

descriptions.

Selecting the Implementations to be Generated and Run in Parallel

After

Finding the Multiprocess View

,

Configuring the Execution Queues

, and

Configuring the Desired

Flow to be Followed by the Selected Implementations

, the user is ready to select the implementations to

be generated.

First, select the radio button labeled Generate Implementations from Option Sets, found within the
Multiprocess view’s

Select Implementations

section.

Then, in the

Projects View

, select (activate) the desired

project

and

implementation

. The Implementation

Table within the Multiprocess view’s

Select Implementations

section will then be updated to display a

collection of implementations based upon the

active implementation

.

The first entry in the Implementation Table will be the active implementation itself. This implementation
will be the template from which all the generated implementations will be derived.

All other

implementations in the table will be generated, one for each option set, if they are selected (their checkbox
is checked) when background execution is started. The Description column of the table will indicate briefly
what implementation option changes are caused by each option set (thus describing how each generated
implementation will differ from the template, the active implementation).

295

http://www.achronix.com

UG001 Rev. 5.0 - 5th December 2012

Advertising