Verilog Parser

Digital design primitive representation. Transistors, transmission gates, etc. More...

Data Structures

struct  ast_cmos_switch_instance
 A single CMOS switch (transistor) instance. More...
 
struct  ast_enable_gate_instance
 A single enable gate. More...
 
struct  ast_enable_gate_instances
 A collection of enable gates with the same type and delay properties. More...
 
struct  ast_gate_instantiation
 Fully describes the instantiation of one or more gate level primitives. More...
 
struct  ast_mos_switch_instance
 A single MOS switch (transistor) instance. More...
 
struct  ast_n_input_gate_instance
 An N-input gate instance. e.g. 3-to-1 NAND. More...
 
struct  ast_n_input_gate_instances
 A collection of n-input gates with the same type and delay properties. More...
 
struct  ast_n_output_gate_instance
 Describes a single gate with one input and several outputs. More...
 
struct  ast_n_output_gate_instances
 
struct  ast_pass_enable_switch
 A single pass enable switch with pass and enable terminals. More...
 
struct  ast_pass_enable_switches
 Describes a collection of pass enable switches withe the same type and delay characteristics. More...
 
struct  ast_pass_switch_instance
 A single pass transistor instance. More...
 
struct  ast_primitive_pull_strength
 Describes the pull strength and direction of a primitive. More...
 
struct  ast_pull_gate_instance
 Describes a single pull gate instance. More...
 
struct  ast_pull_strength
 Fully describes the pull's of a net going up and down. More...
 
struct  ast_switch_gate
 Describes a single gate type along with it's delay properties. More...
 
struct  ast_switches
 A collection of CMOS, MOS or PASS switches of the same type. More...
 

Enumerations

enum  ast_enable_gatetype { EN_BUFIF0, EN_BUFIF1, EN_NOTIF0, EN_NOTIF1 }
 Describes a variety of enable gate type.
 
enum  ast_gate_type {
  GATE_CMOS, GATE_MOS, GATE_PASS, GATE_ENABLE,
  GATE_N_OUT, GATE_N_IN, GATE_PASS_EN, GATE_PULL_UP,
  GATE_PULL_DOWN
}
 Describes a kind of gate primitive. More...
 
enum  ast_gatetype_n_input {
  N_IN_AND, N_IN_NAND, N_IN_NOR, N_IN_OR,
  N_IN_XOR, N_IN_XNOR
}
 Describes the logical function performed by a builtin n-input gate.
 
enum  ast_n_output_gatetype { N_OUT_BUF, N_OUT_NOT }
 Describes the type of an n_output gate.
 
enum  ast_pass_enable_switchtype { PASS_EN_TRANIF0, PASS_EN_TRANIF1, PASS_EN_RTRANIF0, PASS_EN_RTRANIF1 }
 Describes a particular type of pass enable switch.
 
enum  ast_primitive_strength {
  STRENGTH_HIGHZ0, STRENGTH_HIGHZ1, STRENGTH_SUPPLY0, STRENGTH_STRONG0,
  STRENGTH_PULL0, STRENGTH_WEAK0, STRENGTH_SUPPLY1, STRENGTH_STRONG1,
  STRENGTH_PULL1, STRENGTH_WEAK1, STRENGTH_NONE
}
 Describes the drive strength of a single primitive.
 
enum  ast_pull_direction { PULL_UP, PULL_DOWN, PULL_NONE }
 Describes pull direction.
 
enum  ast_switchtype {
  SWITCH_CMOS, SWITCH_RCMOS, SWITCH_NMOS, SWITCH_PMOS,
  SWITCH_RNMOS, SWITCH_RPMOS, SWITCH_TRAN, SWITCH_RTRAN
}
 describes the type of a single MOS switch.
 

Functions

ast_cmos_switch_instanceast_new_cmos_switch_instance (ast_identifier name, ast_lvalue *output_terminal, ast_expression *ncontrol_terminal, ast_expression *pcontrol_terminal, ast_expression *input_terminal)
 A single CMOS switch (transistor) instance.
 
ast_enable_gate_instanceast_new_enable_gate_instance (ast_identifier name, ast_lvalue *output_terminal, ast_expression *enable_terminal, ast_expression *input_terminal)
 A single Enable gate instance.
 
ast_enable_gate_instancesast_new_enable_gate_instances (ast_gatetype_n_input type, ast_delay3 *delay, ast_drive_strength *drive_strength, ast_list *instances)
 Creates collection of enable gates with the same type and properties.
 
ast_gate_instantiationast_new_gate_instantiation (ast_gate_type type)
 Creates and returns a new gate instantiation descriptor. More...
 
ast_mos_switch_instanceast_new_mos_switch_instance (ast_identifier name, ast_lvalue *output_terminal, ast_expression *enable_terminal, ast_expression *input_terminal)
 A single MOS switch (transistor) instance.
 
ast_n_input_gate_instanceast_new_n_input_gate_instance (ast_identifier name, ast_list *input_terminals, ast_lvalue *output_terminal)
 An N-input gate instance. e.g. 3-to-1 NAND.
 
ast_n_input_gate_instancesast_new_n_input_gate_instances (ast_gatetype_n_input type, ast_delay3 *delay, ast_drive_strength *drive_strength, ast_list *instances)
 Creates collection of n-input gates with the same type and properties.
 
ast_n_output_gate_instanceast_new_n_output_gate_instance (ast_identifier name, ast_list *outputs, ast_expression *input)
 Creates and returns a new n_output gate instance. More...
 
ast_n_output_gate_instancesast_new_n_output_gate_instances (ast_n_output_gatetype type, ast_delay2 *delay, ast_drive_strength *drive_strength, ast_list *instances)
 Creates and returns a set of n_output gates with the same properties.
 
ast_pass_enable_switchast_new_pass_enable_switch (ast_identifier name, ast_lvalue *terminal_1, ast_lvalue *terminal_2, ast_expression *enable)
 Creates and returns a new pass enable switch instance.
 
ast_pass_enable_switchesast_new_pass_enable_switches (ast_pass_enable_switchtype type, ast_delay2 *delay, ast_list *switches)
 Creates and returns a collection of pass enable switches.
 
ast_pass_switch_instanceast_new_pass_switch_instance (ast_identifier name, ast_lvalue *terminal_1, ast_lvalue *terminal_2)
 A single pass transistor instance.
 
ast_primitive_pull_strengthast_new_primitive_pull_strength (ast_pull_direction direction, ast_primitive_strength strength_1, ast_primitive_strength strength_0)
 Creates and returns a new structure describing primitive net strength.
 
ast_pull_gate_instanceast_new_pull_gate_instance (ast_identifier name, ast_lvalue *output_terminal)
 Describes a single pull gate instance.
 
ast_pull_strengthast_new_pull_stregth (ast_primitive_strength strength_1, ast_primitive_strength strength_2)
 Create and return a new pull strength indicator for 1 and 0.
 
ast_switch_gateast_new_switch_gate_d2 (ast_switchtype type, ast_delay2 *delay)
 Instances a new switch type with a delay2.
 
ast_switch_gateast_new_switch_gate_d3 (ast_switchtype type, ast_delay3 *delay)
 Instances a new switch type with a delay3.
 
ast_switchesast_new_switches (ast_switch_gate *type, ast_list *switches)
 creates and returns a new collection of AST switches. More...
 

Detailed Description

Digital design primitive representation. Transistors, transmission gates, etc.

Enumeration Type Documentation

Describes a kind of gate primitive.

Enumerator
GATE_CMOS 

Complementary metal oxide semiconductor.

GATE_MOS 

Metal oxide Semiconductor.

GATE_PASS 

Pass Transistor.

GATE_ENABLE 

Enable Gate.

GATE_N_OUT 

N output gates - buffers & Inverters.

GATE_N_IN 

N input gates - AND,NAND,OR etc.

GATE_PASS_EN 

Pass transistor enable gate.

GATE_PULL_UP 

Pull up resistor.

GATE_PULL_DOWN 

Pull down resistor.

Function Documentation

ast_gate_instantiation* ast_new_gate_instantiation ( ast_gate_type  type)

Creates and returns a new gate instantiation descriptor.

Expects the data fields to be filled out manually after the structure is returned.

ast_n_output_gate_instance* ast_new_n_output_gate_instance ( ast_identifier  name,
ast_list outputs,
ast_expression *  input 
)

Creates and returns a new n_output gate instance.

See also
ast_n_output_gate_instances
ast_switches* ast_new_switches ( ast_switch_gate type,
ast_list switches 
)

creates and returns a new collection of AST switches.

creates and returns a new collection of AST switches.