ID 683283
Date 9/24/2018
Public

## 3.2.1.1.1. Configuration Syntax

A Verilog HDL configuration contains the following statements:
config config_identifier;
design [library_identifier.]cell_identifier;
config_rule_statement;
endconfig
• config—the keyword that begins the configuration.
• config_identifier—the name you enter for the configuration.
• design—the keyword that starts a design statement for specifying the top of the design.
• [library_identifier.]cell_identifier—specifies the top-level module (or top-level modules) in the design and the logical library for this module (modules).
• config_rule_statement—one or more of the following clauses: default, instance, or cell. For more information, refer to Table 9.
• endconfig—the keyword that ends a configuration.
Table 9.  Type of Clauses for the config_rule_statement Keyword
Clause Type Description
default Specifies the logical libraries to search to resolve a default cell instance. A default cell instance is an instance in the design that is not specified in a subsequent instance or cell clause in the configuration.

You specify these libraries with the liblist keyword. The following is an example of a default clause: default liblist lib1 lib2;

Also specifies resolving default instances in the logical libraries (lib1 and lib2).

Because libraries are inherited, some simulators (for example, VCS) also search the default (or current) library as well after the searching the logical libraries (lib1 and lib2).

instance Specifies a specific instance. The specified instance clause depends on the use of the following keywords:
• liblist—specifies the logical libraries to search to resolve the instance.
• use—specifies that the instance is an instance of the specified cell in the specified logical library.

The following are examples of instance clauses:

instance top.dev1 liblist lib1 lib2;

This instance clause specifies to resolve instance top.dev1 with the cells assigned to logical libraries lib1 and lib2;

instance top.dev1.gm1 use lib2.gizmult;

This instance clause specifies that top.dev1.gm1 is an instance of the cell named gizmult in logical library lib2.

cell A cell clause is similar to an instance clause, except that the  cell clause specifies all instances of a cell definition instead of specifying a particular instance. What it specifies depends on the use of the liblist or use keywords:
• liblist—specifies the logical libraries to search to resolve all instances of the cell.
• use—the specified cell’s definition is in the specified library.