ACT Library
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ActCellPass Class Reference

#include <cells.h>

Inheritance diagram for ActCellPass:
ActPass

Public Member Functions

 ActCellPass (Act *a)
 
 ~ActCellPass ()
 
int run (Process *p=NULL)
 
void Print (FILE *fp)
 
list_t * getNewCells ()
 
list_t * getUsedCells ()
 
- Public Member Functions inherited from ActPass
 ActPass (Act *_a, const char *name, int doroot=0)
 
virtual ~ActPass ()
 release storage
 
void update (Process *p)
 
int rundeps (Process *p=NULL)
 
const char * getName ()
 
virtual int run (Process *p=NULL)
 
int completed ()
 
int pending ()
 
void * getMap (UserDef *u)
 
void * getGlobalInfo ()
 
ActgetAct ()
 
ActPassgetPass (const char *name)
 
ProcessgetRoot ()
 
virtual void run_recursive (Process *p=NULL, int mode=0)
 
void disableUpdate ()
 
void enableUpdate ()
 
void mkStickyVisited ()
 
void clrStickyVisited ()
 

Private Member Functions

void * local_op (Process *p, int mode=0)
 
void free_local (void *)
 
void add_new_cell (struct act_prsinfo *pi)
 
void add_passgates_cap ()
 
struct act_prsinfo * _gen_prs_attributes (act_prs_lang_t *prs, int ninp=-1, int noutp=-1)
 
void dump_celldb (FILE *)
 
Expr_idexpr (int idx, struct act_prsinfo *pi)
 
ActBody_Conn_build_connections (const char *name, struct act_prsinfo *pi)
 
ActBody_Conn_build_connections (const char *name, act_prs_lang_t *gate)
 
void _collect_one_prs (Scope *sc, act_prs_lang_t *prs)
 
void _collect_one_passgate (Scope *sc, act_prs_lang_t *prs)
 
void _collect_one_cap (Scope *sc, act_prs_lang_t *prs)
 
void collect_gates (Scope *sc, act_prs_lang_t **pprs)
 
void prs_to_cells (Process *p)
 
int _collect_cells (ActNamespace *cells)
 
void flush_pending (Scope *sc)
 

Private Attributes

struct cHashtable * cell_table
 
ActNamespacecell_ns
 
int proc_inst_count
 
int cell_count
 
struct idmap current_idmap
 
int _leak_flag
 
list_t * _new_cells
 
list_t * _used_cells
 

Additional Inherited Members

- Static Public Member Functions inherited from ActPass
static void refreshAll (Act *a, Process *p=NULL)
 
- Protected Member Functions inherited from ActPass
virtual void _actual_update (Process *p)
 
int AddDependency (const char *pass)
 
- Protected Attributes inherited from ActPass
int _finished
 has the pass finished execution?
 
int _sticky_visited
 
Acta
 
list_t * deps
 
list_t * fwdeps
 
const char * name
 the name for the pass
 
int _update_propagate
 
int _root_dirty
 
Process_root
 the root of the design
 
void * _global_info
 

Constructor & Destructor Documentation

◆ ActCellPass()

ActCellPass::ActCellPass ( Act a)

◆ ~ActCellPass()

ActCellPass::~ActCellPass ( )

Member Function Documentation

◆ _build_connections() [1/2]

ActBody_Conn * ActCellPass::_build_connections ( const char *  name,
act_prs_lang_t gate 
)
private

◆ _build_connections() [2/2]

ActBody_Conn * ActCellPass::_build_connections ( const char *  name,
struct act_prsinfo *  pi 
)
private

◆ _collect_cells()

int ActCellPass::_collect_cells ( ActNamespace cells)
private

◆ _collect_one_cap()

void ActCellPass::_collect_one_cap ( Scope sc,
act_prs_lang_t prs 
)
private

◆ _collect_one_passgate()

void ActCellPass::_collect_one_passgate ( Scope sc,
act_prs_lang_t prs 
)
private

◆ _collect_one_prs()

void ActCellPass::_collect_one_prs ( Scope sc,
act_prs_lang_t prs 
)
private

◆ _gen_prs_attributes()

struct act_prsinfo * ActCellPass::_gen_prs_attributes ( act_prs_lang_t prs,
int  ninp = -1,
int  noutp = -1 
)
private

◆ _idexpr()

Expr * ActCellPass::_idexpr ( int  idx,
struct act_prsinfo *  pi 
)
private

◆ add_new_cell()

void ActCellPass::add_new_cell ( struct act_prsinfo *  pi)
private

◆ add_passgates_cap()

void ActCellPass::add_passgates_cap ( )
private

◆ collect_gates()

void ActCellPass::collect_gates ( Scope sc,
act_prs_lang_t **  pprs 
)
private

◆ dump_celldb()

void ActCellPass::dump_celldb ( FILE *  )
private

◆ flush_pending()

void ActCellPass::flush_pending ( Scope sc)
private

◆ free_local()

void ActCellPass::free_local ( void *  )
privatevirtual

Free the data structure allocated by calls to pre_op()/local_op().

Reimplemented from ActPass.

◆ getNewCells()

list_t * ActCellPass::getNewCells ( )
inline

◆ getUsedCells()

list_t * ActCellPass::getUsedCells ( )
inline

◆ local_op()

void * ActCellPass::local_op ( Process p,
int  mode = 0 
)
privatevirtual

This function is called exactly once per process that is reachable from the root of the pass. It is called after all the types instantiated within the process are visited.

Parameters
pis the process type
modeis the mode flag passed to this call.
Returns
the data structure that is to be associated with this process

Reimplemented from ActPass.

◆ Print()

void ActCellPass::Print ( FILE *  fp)

◆ prs_to_cells()

void ActCellPass::prs_to_cells ( Process p)
private

◆ run()

int ActCellPass::run ( Process p = NULL)
virtual

Run the entire pass with the specified top-level process name

Parameters
pis the tyoe of the top-level process; NULL means that the top-level of the design is the global namespace and not a specific process.
Returns
1 on success, 0 if any dependencies failed.

Reimplemented from ActPass.

Member Data Documentation

◆ _leak_flag

int ActCellPass::_leak_flag
private

◆ _new_cells

list_t* ActCellPass::_new_cells
private

◆ _used_cells

list_t* ActCellPass::_used_cells
private

◆ cell_count

int ActCellPass::cell_count
private

◆ cell_ns

ActNamespace* ActCellPass::cell_ns
private

◆ cell_table

struct cHashtable* ActCellPass::cell_table
private

◆ current_idmap

struct idmap ActCellPass::current_idmap
private

◆ proc_inst_count

int ActCellPass::proc_inst_count
private

The documentation for this class was generated from the following file: