#include <netlist.h>
|
static node_t * | connection_to_node (netlist_t *n, act_connection *c) |
|
static node_t * | string_to_node (netlist_t *, char *s) |
|
static void | sprint_node (char *buf, int sz, netlist_t *N, node_t *n) |
|
static void | sprint_conn (char *buf, int sz, act_connection *c) |
|
static void | emit_node (netlist_t *N, FILE *fp, node_t *n, int mangle=0) |
|
static void | spice_to_act_name (char *s, char *t, int sz, int xconv) |
|
static int | getGridsPerLambda () |
|
static void | refreshAll (Act *a, Process *p=NULL) |
|
|
void * | local_op (Process *p, int mode=0) |
|
void | free_local (void *v) |
|
netlist_t * | generate_netlist (Process *p) |
|
void | generate_netgraph (netlist_t *N, int num_vdd_share, int num_gnd_share, int vdd_len, int gnd_len, node_t *weak_vdd, node_t *weak_gnd) |
|
void | generate_prs_graph (netlist_t *N, act_prs_lang_t *p, int istree=0) |
|
void | generate_staticizers (netlist_t *N, int num_vdd_share, int num_gnd_share, int vdd_len, int gnd_len, node_t *weak_vdd, node_t *weak_gnd) |
|
netlist_t * | genNetlist (Process *p) |
|
netlist_t * | emitNetlist (Process *p) |
|
void | fold_transistors (netlist_t *N) |
|
int | find_length_window (edge_t *e) |
|
int | find_length_fit (int len) |
|
void | set_fet_params (netlist_t *n, edge_t *f, unsigned int type, act_size_spec_t *sz) |
|
int | create_expr_edges (netlist_t *N, int type, node_t *left, act_prs_expr_t *e, node_t *right, int sense) |
|
void | _check_emit_warning (int d, int depth, ActId *id) |
|
◆ ActNetlistPass()
ActNetlistPass::ActNetlistPass |
( |
Act * |
a | ) |
|
◆ ~ActNetlistPass()
ActNetlistPass::~ActNetlistPass |
( |
| ) |
|
◆ _check_emit_warning()
void ActNetlistPass::_check_emit_warning |
( |
int |
d, |
|
|
int |
depth, |
|
|
ActId * |
id |
|
) |
| |
|
private |
◆ connection_to_node()
◆ create_expr_edges()
◆ emit_node()
static void ActNetlistPass::emit_node |
( |
netlist_t * |
N, |
|
|
FILE * |
fp, |
|
|
node_t * |
n, |
|
|
int |
mangle = 0 |
|
) |
| |
|
static |
◆ emitNetlist()
◆ enableSharedStat()
void ActNetlistPass::enableSharedStat |
( |
| ) |
|
◆ find_length_fit()
int ActNetlistPass::find_length_fit |
( |
int |
len | ) |
|
|
private |
◆ find_length_window()
int ActNetlistPass::find_length_window |
( |
edge_t * |
e | ) |
|
|
private |
◆ fold_transistors()
void ActNetlistPass::fold_transistors |
( |
netlist_t * |
N | ) |
|
|
private |
◆ free_local()
void ActNetlistPass::free_local |
( |
void * |
| ) |
|
|
privatevirtual |
Free the data structure allocated by calls to pre_op()/local_op().
Reimplemented from ActPass.
◆ generate_netgraph()
void ActNetlistPass::generate_netgraph |
( |
netlist_t * |
N, |
|
|
int |
num_vdd_share, |
|
|
int |
num_gnd_share, |
|
|
int |
vdd_len, |
|
|
int |
gnd_len, |
|
|
node_t * |
weak_vdd, |
|
|
node_t * |
weak_gnd |
|
) |
| |
|
private |
◆ generate_netlist()
◆ generate_prs_graph()
◆ generate_staticizers()
void ActNetlistPass::generate_staticizers |
( |
netlist_t * |
N, |
|
|
int |
num_vdd_share, |
|
|
int |
num_gnd_share, |
|
|
int |
vdd_len, |
|
|
int |
gnd_len, |
|
|
node_t * |
weak_vdd, |
|
|
node_t * |
weak_gnd |
|
) |
| |
|
private |
◆ genNetlist()
◆ getGridsPerLambda()
static int ActNetlistPass::getGridsPerLambda |
( |
| ) |
|
|
inlinestatic |
◆ getNL()
◆ local_op()
void * ActNetlistPass::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
-
p | is the process type |
mode | is the mode flag passed to this call. |
- Returns
- the data structure that is to be associated with this process
Reimplemented from ActPass.
◆ Print()
void ActNetlistPass::Print |
( |
FILE * |
fp, |
|
|
Process * |
p |
|
) |
| |
◆ run()
int ActNetlistPass::run |
( |
Process * |
p = NULL | ) |
|
|
virtual |
Run the entire pass with the specified top-level process name
- Parameters
-
p | is 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.
◆ set_fet_params()
◆ spice_to_act_name()
static void ActNetlistPass::spice_to_act_name |
( |
char * |
s, |
|
|
char * |
t, |
|
|
int |
sz, |
|
|
int |
xconv |
|
) |
| |
|
static |
◆ sprint_conn()
static void ActNetlistPass::sprint_conn |
( |
char * |
buf, |
|
|
int |
sz, |
|
|
act_connection * |
c |
|
) |
| |
|
static |
◆ sprint_node()
static void ActNetlistPass::sprint_node |
( |
char * |
buf, |
|
|
int |
sz, |
|
|
netlist_t * |
N, |
|
|
node_t * |
n |
|
) |
| |
|
static |
◆ string_to_node()
◆ _fin_width
int ActNetlistPass::_fin_width |
|
private |
◆ _outfp
FILE* ActNetlistPass::_outfp |
|
private |
◆ black_box_mode
int ActNetlistPass::black_box_mode |
|
private |
◆ bools
◆ current_act
Act* ActNetlistPass::current_act |
|
staticprivate |
◆ default_load_cap
double ActNetlistPass::default_load_cap |
|
private |
◆ discrete_fet_length
int* ActNetlistPass::discrete_fet_length |
|
private |
◆ discrete_fet_length_sz
int ActNetlistPass::discrete_fet_length_sz |
|
private |
◆ discrete_len
int ActNetlistPass::discrete_len |
|
private |
◆ emit_parasitics
int ActNetlistPass::emit_parasitics |
|
private |
◆ extra_fet_string
const char* ActNetlistPass::extra_fet_string |
|
private |
◆ fet_diff_overhang
int ActNetlistPass::fet_diff_overhang |
|
private |
◆ fet_spacing_diffcontact
int ActNetlistPass::fet_spacing_diffcontact |
|
private |
◆ fet_spacing_diffonly
int ActNetlistPass::fet_spacing_diffonly |
|
private |
◆ global_gnd
const char * ActNetlistPass::global_gnd |
|
staticprivate |
◆ global_vdd
const char * ActNetlistPass::global_vdd |
|
staticprivate |
◆ grids_per_lambda
int ActNetlistPass::grids_per_lambda |
|
staticprivate |
◆ ignore_loadcap
int ActNetlistPass::ignore_loadcap |
|
private |
◆ lambda
double ActNetlistPass::lambda |
|
private |
◆ leak_adjust
double ActNetlistPass::leak_adjust |
|
private |
◆ local_gnd
const char * ActNetlistPass::local_gnd |
|
staticprivate |
◆ local_vdd
const char* ActNetlistPass::local_vdd |
|
staticprivate |
◆ manufacturing_grid
double ActNetlistPass::manufacturing_grid |
|
private |
◆ max_n_w_in_lambda
int ActNetlistPass::max_n_w_in_lambda |
|
private |
◆ max_p_w_in_lambda
int ActNetlistPass::max_p_w_in_lambda |
|
private |
◆ min_l_in_lambda
int ActNetlistPass::min_l_in_lambda |
|
private |
◆ min_w_in_lambda
int ActNetlistPass::min_w_in_lambda |
|
private |
◆ n_fold
int ActNetlistPass::n_fold |
|
private |
◆ output_scale_factor
double ActNetlistPass::output_scale_factor |
|
private |
◆ p_fold
int ActNetlistPass::p_fold |
|
private |
◆ p_n_ratio
double ActNetlistPass::p_n_ratio |
|
private |
◆ series_n_warning
int ActNetlistPass::series_n_warning |
|
private |
◆ series_p_warning
int ActNetlistPass::series_p_warning |
|
private |
◆ swap_source_drain
int ActNetlistPass::swap_source_drain |
|
private |
◆ top_level_only
int ActNetlistPass::top_level_only |
|
private |
◆ unit_cap
double ActNetlistPass::unit_cap |
|
private |
◆ use_subckt_models
int ActNetlistPass::use_subckt_models |
|
private |
◆ weak_share_max
int ActNetlistPass::weak_share_max |
|
private |
◆ weak_share_min
int ActNetlistPass::weak_share_min |
|
private |
◆ weak_to_strong_ratio
double ActNetlistPass::weak_to_strong_ratio |
|
private |
The documentation for this class was generated from the following file: