Projects, Implementations, Implementation – Achronix ACE Version 5.0 User Manual
Page 237: Project
Projects
Chapter 3. Concepts
Projects
A project represents the collection of source netlist and constraints files, flow options, IP configuration files,
and output files for a particular design.
Implementations
A
may have multiple implementations. Each implementation contains the set of flow options (also
called implementation options) configuring the project’s run through the
, and the flow outputs for this
particular configuration. With this capability, the same design (netlist) can be implemented (run through
the flow) with different sets of timing constraints or placement and routing optimizations, just by creating
multiple implementations for the same project.
Each implementation is associated with an implementation directory located under the project directory
(where the
is located). Implementation directories are named with the implementation name
and contain flow output files.
are divided into two sub-directories under the implementation
directory:
output
and
reports
. The
output
directory contains files that are intended to be consumed by
other tools later in the flow, such as netlists for simulation or the FPGA bitstream for programming. The
reports
directory contains files intended to be viewed and analyzed while running the ACE flow, such as
timing reports and flow statistics.
Implementation definitions are not individually saved to files but are stored as part of the
. In the
GUI, project implementations can be browsed in the
. Selecting an implementation
it
and displays its implementation options in the
Once an implementation has been run through the flow, the state of the database (netlist, constraints,
placement, and routing data) may be saved to an Acxdb file (See
). Implementations
may later be restored from previously saved Acxdb files (See
Implementation Options
There are a wide variety of configurable implementation options stored with each individual implementa-
tion which will alter how ACE processes that implementation of the design as it moves through the
. In
the
, the most-commonly used implementation options are grouped by
, to indicate
which flow step the option affects. Changing the value of an option will cause that flow step’s current results
(if any) to become invalid, and that flow step (and all later flow steps) will need to be rerun.
A report of all available implementation options may be generated via the Tcl command
This command may also be used to compare the implementation options
configuration of an implementation with the default values.
The values of implementation options may be set with the Tcl command
, or reset back
to the default values with
Option Sets:
Because some implementation options have a large impact upon runtime, and because the
QOR benefits of these implementation options may vary significantly by design (often a QOR gain, but
sometimes a slight QOR loss), many of the performance-related implementation options are disabled by
default for newly created projects and implementations.
Achronix QOR experts have compiled subsets of implementation options known to optimize a wide variety
of design types. These ”option sets” are made available to users in the
with descriptions,
and may be used to generate new implementations with the indicated implementation options enabled.
Each Option Set shown in the Multiprocess View consists of override values for a small subset of all the
implementation options. These overriding values are applied to newly generated implementations over the
existing implementation option values inherited from a user-selected template implementation.
It is worth repeating that the Option Sets don’t contain a complete assignment of all the implementation
options.
Each Option Set only contains a small subset, which override the implementation options
inherited from the template implementation. The overriding implementation options in each Option
Set are subsets of the entire set of QOR-oriented implementation options.
They only change some
of the implementation options, and all the rest are inherited from the template implementation. The
225
UG001 Rev. 5.0 - 5th December 2012