source: vis_dev/vis-2.3/src/truesim/truesim.h @ 14

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

vis2.3

File size: 4.8 KB
Line 
1/**CHeaderFile*****************************************************************
2
3  FileName    [truesim.h]
4
5  PackageName [truesim]
6
7  Synopsis    [Exported functions and data structures for the truesim package.]
8
9  Description [Exported functions and data structures for the truesim
10  package. This package provides procedures to perform pattern based
11  zero delay and levelized two-pass event-driven simulation of
12  circuits described in BLIF format. Pattern vectors to be simulated
13  can either be provided or can be generated using user-specified
14  primary input probabilities. Only combinational circuits are
15  supported at this time.]
16
17  SeeAlso     [truesimInt.h]
18
19  Author      [Balakrishna Kumthekar]
20
21  Copyright   [This file was created at the University of Colorado at Boulder.
22  The University of Colorado at Boulder makes no warranty about the suitability
23  of this software for any purpose.  It is presented on an AS IS basis.]
24
25******************************************************************************/
26
27#ifndef _TRUESIM
28#define _TRUESIM
29
30#include "part.h"
31#include "cmd.h"
32#include "util.h"
33
34/*---------------------------------------------------------------------------*/
35/* Constant declarations                                                     */
36/*---------------------------------------------------------------------------*/
37
38
39/*---------------------------------------------------------------------------*/
40/* Type declarations                                                         */
41/*---------------------------------------------------------------------------*/
42
43
44/*---------------------------------------------------------------------------*/
45/* Structure declarations                                                    */
46/*---------------------------------------------------------------------------*/
47
48
49/*---------------------------------------------------------------------------*/
50/* Variable declarations                                                     */
51/*---------------------------------------------------------------------------*/
52
53
54/*---------------------------------------------------------------------------*/
55/* Macro declarations                                                        */
56/*---------------------------------------------------------------------------*/
57
58
59/**AutomaticStart*************************************************************/
60
61/*---------------------------------------------------------------------------*/
62/* Function prototypes                                                       */
63/*---------------------------------------------------------------------------*/
64
65EXTERN void Truesim_Init(void);
66EXTERN void Truesim_End(void);
67EXTERN int Truesim_RealDelayPatternSimulate(Ntk_Network_t *network, array_t *inputArray, array_t *patternArray);
68EXTERN void Truesim_InitializeSimulation(Ntk_Network_t *network, char *delayFile, boolean truedelay, int header, int verbose, st_table *nodeDelayTable);
69EXTERN void Truesim_QuitSimulation(Ntk_Network_t *network);
70EXTERN void Truesim_NetworkUpdateNodeTopologicalDepth(Ntk_Network_t *network);
71EXTERN void Truesim_ReadInputProbabilities(Ntk_Network_t *network, char *probFile, array_t *inputArray, array_t *probArray);
72EXTERN void Truesim_GeneratePrimaryInputProbs(Ntk_Network_t *network, char *probFile);
73EXTERN int Truesim_ReadSimulationVectors(Ntk_Network_t *network, char *simFile, array_t *inputArray, array_t *patternArray);
74EXTERN array_t * Truesim_GenerateRandomVectors(Ntk_Network_t *network, array_t *probArray, array_t *patternArray, int numInputs, int N);
75EXTERN void Truesim_DumpSimulationVectors(Ntk_Network_t *network, array_t *inputArray, array_t *patternArray, char *outFile);
76EXTERN array_t * Truesim_NetworkComputeNodeDepths(Ntk_Network_t *network);
77EXTERN int Truesim_NetworkReadNodeDepth(Ntk_Network_t *network, Ntk_Node_t *node);
78EXTERN float Truesim_NetworkReadNodeProbability(Ntk_Network_t *network, Ntk_Node_t *node);
79EXTERN float Truesim_NetworkReadNodeSwitchingProb(Ntk_Network_t *network, Ntk_Node_t *node);
80EXTERN float Truesim_NetworkReadNodeLoad(Ntk_Network_t *network, Ntk_Node_t *node);
81EXTERN float Truesim_NetworkReadNodeDelay(Ntk_Network_t *network, Ntk_Node_t *node);
82EXTERN boolean Truesim_NetworkSetNodeLoad(Ntk_Network_t *network, Ntk_Node_t *node, float load);
83EXTERN boolean Truesim_NetworkSetNodeDelay(Ntk_Network_t *network, Ntk_Node_t *node, float delay);
84EXTERN boolean Truesim_NetworkSetNodeStaticProb(Ntk_Network_t *network, Ntk_Node_t *node, float prob);
85EXTERN boolean Truesim_NetworkSetNodeSwitchingProb(Ntk_Network_t *network, Ntk_Node_t *node, float switching);
86EXTERN float Truesim_BddNodeComputeProbability(Ntk_Network_t *network, bdd_node *func);
87EXTERN int Truesim_ZeroDelayPatternSimulate(Ntk_Network_t *network, array_t *inputArray, array_t *patternArray);
88
89/**AutomaticEnd***************************************************************/
90
91#endif /* _TRUESIM */
Note: See TracBrowser for help on using the repository browser.