abc-master
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
superWrite.c
Go to the documentation of this file.
1 /**CFile****************************************************************
2 
3  FileName [superWrite.c]
4 
5  PackageName [MVSIS 1.3: Multi-valued logic synthesis system.]
6 
7  Synopsis [Pre-computation of supergates.]
8 
9  Author [MVSIS Group]
10 
11  Affiliation [UC Berkeley]
12 
13  Date [Ver. 1.0. Started - September 8, 2003.]
14 
15  Revision [$Id: superWrite.c,v 1.1 2004/04/03 01:36:45 alanmi Exp $]
16 
17 ***********************************************************************/
18 
19 #include "superInt.h"
20 
22 
23 
24 /*
25  One record in the supergate library file consists of:
26 
27  <gate_number> <truth_table> <delay_max> <pin-to-pin-delays> <area> <gate_formula>
28 
29  <gate_number> is a zero-based integer
30  <truth_table> is a string of 2^n bits representing the value of the function for each minterm
31  <delay_max> is the maximum delay of the gate
32  <pin-to-pin-delays> is the array of n double values
33  <area> is a floating point value
34  <gate_formula> is the string representing the gate in the following format:
35  GATENAME1( GATENAME2( a, c ), GATENAME3( a, d ), ... )
36  The gate names (GATENAME1, etc) are the names as they appear in the .genlib library.
37  The primary inputs of the gates are denoted by lowercase chars 'a', 'b', etc.
38  The parantheses are mandatory for each gate, except for the wire.
39  The wire name can be omitted, so that "a" can be used instead of "**wire**( a )".
40  The spaces are optional in any position of this string.
41 
42 
43  The supergates are generated exhaustively from all gate combinations that
44  have the max delay lower than the delay given by the user, or until the specified time
45  limit is reached.
46 
47  The supergates are stored in supergate classes by their functionality.
48  Among the gates with the equivalent functionaly only those are dropped, which are
49  dominated by at least one other gate in the class in terms of both delay and area.
50  For the definition of gate dominance see pliGenCheckDominance().
51 */
52 
53 
54 ////////////////////////////////////////////////////////////////////////
55 /// DECLARATIONS ///
56 ////////////////////////////////////////////////////////////////////////
57 
58 ////////////////////////////////////////////////////////////////////////
59 /// FUNCTION DEFINITIONS ///
60 ////////////////////////////////////////////////////////////////////////
61 
62 /**Function*************************************************************
63 
64  Synopsis []
65 
66  Description []
67 
68  SideEffects []
69 
70  SeeAlso []
71 
72 ***********************************************************************/
73 
74 
75 ////////////////////////////////////////////////////////////////////////
76 /// END OF FILE ///
77 ////////////////////////////////////////////////////////////////////////
78 
79 
81 
#define ABC_NAMESPACE_IMPL_END
Definition: abc_global.h:108
#define ABC_NAMESPACE_IMPL_START
Definition: abc_global.h:107