source: vis_dev/vis-2.3/src/rst/rstInt.h @ 45

Last change on this file since 45 was 14, checked in by cecile, 13 years ago

vis2.3

File size: 5.0 KB
Line 
1/**CHeaderFile*****************************************************************
2
3  FileName    [rstInt.h]
4
5  PackageName [rst]
6
7  Synopsis    [Internal declarations.]
8
9  Author      [Sriram Rajamani (with many thanks to Yuji Kukimoto)]
10
11  Copyright   [Copyright (c) 1994-1996 The Regents of the Univ. of California.
12  All rights reserved.
13
14  Permission is hereby granted, without written agreement and without license
15  or royalty fees, to use, copy, modify, and distribute this software and its
16  documentation for any purpose, provided that the above copyright notice and
17  the following two paragraphs appear in all copies of this software.
18
19  IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
20  DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
21  OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
22  CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24  THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
25  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
26  FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS ON AN
27  "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO PROVIDE
28  MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.]
29
30******************************************************************************/
31
32#ifndef _RSTINT
33#define _RSTINT
34
35/*---------------------------------------------------------------------------*/
36/* Nested includes                                                           */
37/*---------------------------------------------------------------------------*/
38#include "rst.h"
39#include "cmd.h"
40#include <string.h>
41
42/*---------------------------------------------------------------------------*/
43/* Constant declarations                                                     */
44/*---------------------------------------------------------------------------*/
45
46
47/*---------------------------------------------------------------------------*/
48/* Structure declarations                                                    */
49/*---------------------------------------------------------------------------*/
50
51typedef struct Rst_Group {
52  st_table *Vars,               /* Non-input Variables assigned to group */
53    *Subcircuits,               /* Subcircuits assigned / have group outputs */
54    *Latches,                   /* Latch output must be in group */
55    *Tables,                    /* Table output(s) must be in group */
56    *Inputs,                    /* Derived Inputs*/
57    *Outputs,                   /* Derived Outputs */
58    *VarBackPtr;                /* Table to original vars */
59  char* name;                   /* New model/instance name */
60} Rst_Group_t;
61
62
63/*---------------------------------------------------------------------------*/
64/* Type declarations                                                         */
65/*---------------------------------------------------------------------------*/
66
67
68
69/*---------------------------------------------------------------------------*/
70/* Variable declarations                                                     */
71/*---------------------------------------------------------------------------*/
72
73
74/*---------------------------------------------------------------------------*/
75/* Macro declarations                                                        */
76/*---------------------------------------------------------------------------*/
77
78
79/**AutomaticStart*************************************************************/
80
81/*---------------------------------------------------------------------------*/
82/* Function prototypes                                                       */
83/*---------------------------------------------------------------------------*/
84
85EXTERN int RstCollapseNode(Hrc_Manager_t *hmgr, Hrc_Node_t *parent, Hrc_Node_t *child);
86EXTERN st_table * RstAddChildComponentsToNewModel(Hrc_Manager_t *hmgr, Hrc_Node_t *child, Hrc_Node_t *parent, Hrc_Model_t *newModelPtr);
87EXTERN int RstAddParentComponentsToNewModel(Hrc_Manager_t *hmgr, Hrc_Node_t *parent, Hrc_Model_t *newModelPtr, st_table *parentVarTable, Hrc_Node_t *child);
88EXTERN void Var_VariableResetNumFanout(Var_Variable_t* var);
89EXTERN Tbl_Table_t* Tbl_TableDupAndSubstVars(Tbl_Table_t* Table, st_table* VartoVar);
90EXTERN Rst_Group_t* RstGroupComponents(Hrc_Model_t* CurModel, char* NewName, array_t* VarGroup, array_t* Subcircuits);
91EXTERN Rst_Group_t* RstGroupAlloc(char* Name);
92EXTERN void RstGroupFree(Rst_Group_t* Group);
93EXTERN char* RstGroupNewParentName(char* Name);
94EXTERN void RstGroupPrint(Rst_Group_t* group);
95EXTERN int RstGroupDisjointCheck(array_t* GroupArray);
96EXTERN Rst_Group_t* RstCreateParentGroup(Hrc_Manager_t* Hmgr, Hrc_Model_t* ParentModel, char* NewModelName, array_t* GroupArray);
97EXTERN void RstModelPrint(Hrc_Model_t* newModel);
98EXTERN Hrc_Model_t* RstGroupBuildModel(Hrc_Manager_t* Hmgr, Rst_Group_t* Group);
99
100/**AutomaticEnd***************************************************************/
101
102#endif /* _RSTINT */
103
104
Note: See TracBrowser for help on using the repository browser.