9.5.1 CFI Connectivity Model
The CFI connectivity model is defined using the
EXPRESS language
and its graphical equivalent
EXPRESS-G
. EXPRESS is an International Standards Organization (ISO) standard [
EXPRESS, 1991]. EDIF 3 0 0 and higher also use EXPRESS as the internal formal description of the language. EXPRESS is used to define objects and their relationships.
Figure 9.11
shows some simple examples of the EXPRESS-G notation.
|
|
|
FIGURE 9.11
Examples of EXPRESS-G. (a) Each day in January has a number from 1 to 31. (b) A shopping list may contain a list of items. (c) An EXPRESS-G model for a family.
|
The following EXPRESS code (a
schema
) is equivalent to the EXPRESS-G family model shown in
Figure 9.11
(c):
SCHEMA family_model;
ENTITY person
ABSTRACT SUPERTYPE OF (ONEOF (man, woman, child));
name: STRING;
date of birth: STRING;
END_ENTITY;
ENTITY man
SUBTYPE OF (person);
wife: SET[0:1] OF woman;
children: SET[0:?] OF child;
END_ENTITY;
ENTITY woman
SUBTYPE OF (person);
husband: SET[0:1] OF man;
children: SET[0:?] OF child;
END_ENTITY;
ENTITY child
SUBTYPE OF (person);
father: man;
mother: woman;
END_ENTITY;
END_SCHEMA;
This EXPRESS description is a formal way of saying the following:
-
“Men, women, and children are people.”
-
“A man can have one woman as a wife, but does not have to.”
-
“A wife can have one man as a husband, but does not have to.”
-
“A man or a woman can have several children.”
-
“A child has one father and one mother.”
Computers can deal more easily with the formal language version of these statements. The formal language and graphical forms are more precise for very complex models.
Figure 9.12
shows the basic structure of the CFI 1.0.0
Base Connectivity Model
(
BCM
). The actual EXPRESS-G diagram for the BCM defined in the CFI 1.0.0 standard is only a little more complicated than
Figure 9.12
(containing 21 boxes or types rather than just six). The extra types are used for bundles (a group of nets) and different views of cells (other than the netlist view).
|
|
|
FIGURE 9.12
The original “five-box” model of electrical connectivity. There are actually six boxes or types in this figure; the Library type was added later.
|
Figure 9.12
says the following (“presents” as used in
Figure 9.12
is the Express jargon for “have”):
-
“A library contains cells.”
-
“Cells have ports, contain nets, and can contain other cells.”
-
“Cell instances are copies of a cell and have port instances.”
-
“A port instance is a copy of the port in the library cell.”
-
“You connect to a port using a net.”
-
“Nets connect port instances together.”
Once you understand
Figure 9.12
you will see that it replaces the first half of this chapter. Unfortunately you have to read the first half of this chapter to understand
Figure 9.12
.