Linking

Linking is the process of converting one or more RTL-specified designs into a database of information suitable for formal analysis. During the linking process, additional checks are performed on the design, such as proper signal connections to instantiated components.

Linking must be performed before any analysis functions can be executed. Refer to the Linking Overview section for details on how linking is performed.

The linking operation provides many options to control how components are linked. However, many situations require a simple link needing no options, so X-Amin provides a Quick Link function.

To perform a Quick Link on one or more components, select the component(s) in the Components Window, press the right mouse button and on the Components popup menu, select Link.

To set link options when linking one or more components, select the component(s) in the Components Window and use the Command menu (Command->Link...) or the Link icon in the Command toolbar. The Link Command Options dialog will appear:

 

Enter the desired link options and select 'Ok' link the component(s).

The fields of the Link Dialog are detailed below:

 

Parameter Overrides:

When linking a component, X-Amin evaluates all parameters and propagates parameter override values down through the hierarchy as specified by the component instantiations. At the top-level, parameter values can be overridden with the Parameter Override link option. To add a parameter override, select the 'Add' button in the Parameter Overrides panel. The Add/Edit Parameter Dialog will appear.

In the dialog, enter the parameter name to be overriden and the new value for the parameter.

Libraries:

When linking, components from Libraries can be included in the linking operation. When library components are successfully linked to a design, they will appear in the Design hierarchy in the Components window.

To add a library to be included in the linking operation, select the 'Add' button in the Libraries panel. The Add/Edit Library Dialog will appear.

Simply enter the name of the library to be included in the link.

Map File:

When linking multiple components, all inputs and internal FF's of the designs must be matched together. X-Amin automatically matches these items by name. However, if names differ between designs, the user must create a map file to specify how the items will be matched.

The map file format is straightforward. The file contains sections for each pairing of components. Each section consists of a section header which specifies which components are being paired, followed by the detailed pairings. The file can also contain C/C++ style comments. An example Map File is shown below:

// signal name mapping from comp1 to comp2
[comp1 : comp2]
comp1_sig1 : comp2_sig1
comp1_sig2 : comp2_sig2
comp1_sig3 : comp2_sig3
/* signal name mapping from comp2 to comp3 */
[comp2 : comp3]
comp2_sig1 : comp3_sig1
comp2_sig2 : comp3_sig2

Check Only: Selecting this control will cause X-Amin to perform linking checks but will not actually link the design. This is useful for performing the linking checks on large designs that may take a long time to build the BDD database.

Map Report: Select this control to generate a report detailing which ports were mapped together during the link operation.

No async. signals in clocked logic: Select this control to remove asynchronous logic (such as async. resets) from clocked logic. This is useful when generating truth tables using the eval command and the reset state is not of particular interest in the table.

link Command

Components can also be linked using the link command entered in the GUI Command Entry box or on the command line in command-line mode. The link command format is:

SYNTAX
 (void) link
   [-checkonly]
   [[-lib <lib>]...]
   [-mapfile <mapfile>]
   [-mapreport]
   [-noasync]
   [[-override <parameter>=<value>]...]
   [<namespace>...]
 
ARGUMENTS
 -checkonly
   Causes X-Amin to perform linking checks but will
   not actually link the design. This is useful for
   performing the linking checks on large designs that
   may take a long time to build the BDD database.
 -lib <lib>
   Include components from library <lib> in the link­
   ing process. May be specified multiple times.
 -mapfile <mapfile>
   When linking multiple components, all inputs and
   internal FF's of the designs must be matched
   together. X-Amin automatically matches these items
   by name. However, if names differ between designs,
   the user must create a map file to specify how the
   items will be matched.
 -mapreport
   Generate a report detailing which ports were mapped
   together during the link operation.
 -noasync
   Removes asynchronous logic (such as async. resets)
   from clocked logic. This is useful when generating
   truth tables using the eval command and the reset
   state is not of particular interest in the table.
 -override <parameter>=<value>
   Override parameter values in the top-level
   component. May be specified multiple times. When
   linking a component, X-Amin evaluates all parame­
   ters and propagates parameter override values down
   through the hierarchy as specified by the component
   instantiations.
 <namespace>
   Link the specified namespace(s). If no namespaces
   are specified, link the current scope.