1 /**CFile****************************************************************
2 
3   FileName    [sbd.h]
4 
5   SystemName  [ABC: Logic synthesis and verification system.]
6 
7   PackageName [SAT-based optimization using internal don't-cares.]
8 
9   Synopsis    [External declarations.]
10 
11   Author      [Alan Mishchenko]
12 
13   Affiliation [UC Berkeley]
14 
15   Date        [Ver. 1.0. Started - June 20, 2005.]
16 
17   Revision    [$Id: sbd.h,v 1.00 2005/06/20 00:00:00 alanmi Exp $]
18 
19 ***********************************************************************/
20 
21 #ifndef ABC__opt_sbd__h
22 #define ABC__opt_sbd__h
23 
24 ////////////////////////////////////////////////////////////////////////
25 ///                          INCLUDES                                ///
26 ////////////////////////////////////////////////////////////////////////
27 
28 ////////////////////////////////////////////////////////////////////////
29 ///                         PARAMETERS                               ///
30 ////////////////////////////////////////////////////////////////////////
31 
32 ABC_NAMESPACE_HEADER_START
33 
34 ////////////////////////////////////////////////////////////////////////
35 ///                         BASIC TYPES                              ///
36 ////////////////////////////////////////////////////////////////////////
37 
38 typedef struct Sbd_Par_t_ Sbd_Par_t;
39 struct Sbd_Par_t_
40 {
41     int             nLutSize;     // target LUT size
42     int             nLutNum;      // target LUT count
43     int             nCutSize;     // target cut size
44     int             nCutNum;      // target cut count
45     int             nTfoLevels;   // the number of TFO levels (windowing)
46     int             nTfoFanMax;   // the max number of fanouts (windowing)
47     int             nWinSizeMax;  // maximum window size (windowing)
48     int             nBTLimit;     // maximum number of SAT conflicts
49     int             nWords;       // simulation word count
50     int             fMapping;     // generate mapping
51     int             fMoreCuts;    // use several cuts
52     int             fFindDivs;    // perform divisor search
53     int             fUsePath;     // optimize only critical path
54     int             fArea;        // area-oriented optimization
55     int             fCover;       // use complete cover procedure
56     int             fVerbose;     // verbose flag
57     int             fVeryVerbose; // verbose flag
58 };
59 
60 
61 ////////////////////////////////////////////////////////////////////////
62 ///                      MACRO DEFINITIONS                           ///
63 ////////////////////////////////////////////////////////////////////////
64 
65 ////////////////////////////////////////////////////////////////////////
66 ///                    FUNCTION DECLARATIONS                         ///
67 ////////////////////////////////////////////////////////////////////////
68 
69 /*=== sbdCnf.c ==========================================================*/
70 /*=== sbdCore.c ==========================================================*/
71 extern void         Sbd_ParSetDefault( Sbd_Par_t * pPars );
72 extern Gia_Man_t *  Sbd_NtkPerform( Gia_Man_t * p, Sbd_Par_t * pPars );
73 
74 
75 ABC_NAMESPACE_HEADER_END
76 
77 #endif
78 
79 ////////////////////////////////////////////////////////////////////////
80 ///                       END OF FILE                                ///
81 ////////////////////////////////////////////////////////////////////////
82 
83