E> 9.5 CFI Design Representation

9.5  CFI Design Representation

The CAD Framework Initiative ( CFI ) is an independent nonprofit organization working on the creation of standards for the electronic CAD industry. One of the areas in which CFI is working is the definition of standards for design representation ( DR ). The CFI 1.0 standard [ CFI, 1992] has tackled the problems of ambiguity in the area of definitions and terms for schematics by defining an information model ( IM ) for electrical connectivity information.

What this means is that a group of engineers got together and proposed a standard way of using the terms and definitions that we have discussed. There are good things and bad things about standards, and one aspect of the CFI 1.0 DR standard illustrates this point. A good thing about the CFI 1.0 DR standard is that it precisely defines what we mean by terms and definitions in schematics, for example. A bad thing about the CFI DR standard is that in order to be precise it introduces yet more terms that are difficult to understand. A very brief discussion of the CFI 1.0 DR standard is included here, at the end of this chapter, for several reasons:

  • It helps to solidify the concepts of the terms and definitions such as cell, net, and instance that we have already discussed. However, there are additional new concepts and terms to define in order to present the standard model, so this is not a good way to introduce schematic terminology.
  • The ASIC design engineer is becoming more of a programmer and less of a circuit designer. This trend shows no sign of stopping as ASICs grow larger and systems more complex. A precise understanding of how tools operate and interact is becoming increasingly important.

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;



SUBTYPE OF (person);

wife: SET[0:1] OF woman;

children: SET[0:?] OF child;


ENTITY woman

SUBTYPE OF (person);

husband: SET[0:1] OF man;

children: SET[0:?] OF child;


ENTITY child

SUBTYPE OF (person);

father: man;

mother: woman;



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 .

Chapter start ] [ Previous page ] [ Next page ]

DownStream: Solutions for Post Processing PCB Designs
S2C: FPGA Base prototyping- Download white paper

Internet Business Systems © 2017 Internet Business Systems, Inc.
595 Millich Dr., Suite 216, Campbell, CA 95008
+1 (408)-337-6870 — Contact Us, or visit our other sites:
AECCafe - Architectural Design and Engineering TechJobsCafe - Technical Jobs and Resumes GISCafe - Geographical Information Services  MCADCafe - Mechanical Design and Engineering ShareCG - Share Computer Graphic (CG) Animation, 3D Art and 3D Models
  Privacy Policy