Verilog Parser
|
User defined primitive types. More...
Data Structures | |
struct | ast_udp_body |
Describes a single UDP body sequentially or combinatorially. More... | |
struct | ast_udp_combinatorial_entry |
Describes a single combinatorial entry in the UDP ast tree. More... | |
struct | ast_udp_declaration |
Describes the declaration of a user defined primitive (UDP) More... | |
struct | ast_udp_initial_statement |
Describes the initial statement of a sequential udp body. More... | |
struct | ast_udp_instance |
Describes a single instance of a UDP. More... | |
struct | ast_udp_instantiation |
Describes an a list of instances of a particular kind of UDP. More... | |
struct | ast_udp_port |
Describes a single port for a user defined primitive. More... | |
struct | ast_udp_sequential_entry |
describes a sequential entry in a udp body. More... | |
Enumerations | |
enum | ast_level_symbol { LEVEL_0, LEVEL_1, LEVEL_B, LEVEL_X, LEVEL_Q } |
Describes a single logic level symbol. More... | |
enum | ast_udp_body_type { UDP_BODY_SEQUENTIAL, UDP_BODY_COMBINATORIAL } |
Is the body of the UDP specified combinatorially or sequentially. | |
enum | ast_udp_init_val { UDP_INIT_1, UDP_INIT_0, UDP_INIT_X } |
Describes the initial value of a UDP output. | |
enum | ast_udp_next_state { UDP_NEXT_STATE_X, UDP_NEXT_STATE_0, UDP_NEXT_STATE_1, UDP_NEXT_STATE_DC, UDP_NEXT_STATE_QM } |
Describes the possible output values for a UDP element. More... | |
enum | ast_udp_seqential_entry_prefix { PREFIX_EDGES, PREFIX_LEVELS } |
Whether a sequential body entry starts with level or edge symbols. | |
Functions | |
ast_udp_body * | ast_new_udp_combinatoral_body (ast_list *combinatorial_entries) |
Creates and returns a new combinatorial UDP body representation. | |
ast_udp_combinatorial_entry * | ast_new_udp_combinatoral_entry (ast_list *input_levels, ast_udp_next_state output_symbol) |
Creates a new combinatorial entry for a UDP node. | |
ast_udp_declaration * | ast_new_udp_declaration (ast_node_attributes *attributes, ast_identifier identifier, ast_list *ports, ast_udp_body *body) |
Creates a new UDP declaration node. More... | |
ast_udp_initial_statement * | ast_new_udp_initial_statement (ast_identifier output_port, ast_number *initial_value) |
Creates a new initial statement node. | |
ast_udp_port * | ast_new_udp_input_port (ast_list *identifiers, ast_node_attributes *attributes) |
Creates a new UDP input port AST node. More... | |
ast_udp_instance * | ast_new_udp_instance (ast_identifier identifier, ast_range *range, ast_lvalue *output, ast_list *inputs) |
Creates a new instance of a UDP. More... | |
ast_udp_instantiation * | ast_new_udp_instantiation (ast_list *instances, ast_identifier identifier, ast_drive_strength *drive_strength, ast_delay2 *delay) |
Creates a new list of UDP instances with shared properties. More... | |
ast_udp_port * | ast_new_udp_port (ast_port_direction direction, ast_identifier identifier, ast_node_attributes *attributes, ast_boolean reg, ast_expression *default_value) |
Creates a new UDP port AST node. More... | |
ast_udp_body * | ast_new_udp_sequential_body (ast_udp_initial_statement *initial_statement, ast_list *sequential_entries) |
Creates and returns a new sequential UDP body representation. | |
ast_udp_sequential_entry * | ast_new_udp_sequential_entry (ast_udp_seqential_entry_prefix prefix_type, ast_list *levels_or_edges, ast_level_symbol current_state, ast_udp_next_state output) |
Creates a new sequntial body entry for a UDP node. | |
User defined primitive types.
Needs to describe the outer declaration, port lists, body statements and instantiations
enum ast_level_symbol |
enum ast_udp_next_state |
ast_udp_declaration* ast_new_udp_declaration | ( | ast_node_attributes * | attributes, |
ast_identifier | identifier, | ||
ast_list * | ports, | ||
ast_udp_body * | body | ||
) |
Creates a new UDP declaration node.
ast_udp_port* ast_new_udp_input_port | ( | ast_list * | identifiers, |
ast_node_attributes * | attributes | ||
) |
Creates a new UDP input port AST node.
Creates a new UDP input port AST node.
ast_udp_instance* ast_new_udp_instance | ( | ast_identifier | identifier, |
ast_range * | range, | ||
ast_lvalue * | output, | ||
ast_list * | inputs | ||
) |
Creates a new instance of a UDP.
ast_udp_instantiation* ast_new_udp_instantiation | ( | ast_list * | instances, |
ast_identifier | identifier, | ||
ast_drive_strength * | drive_strength, | ||
ast_delay2 * | delay | ||
) |
Creates a new list of UDP instances with shared properties.
identifier | The UDP being instanced |
ast_udp_port* ast_new_udp_port | ( | ast_port_direction | direction, |
ast_identifier | identifier, | ||
ast_node_attributes * | attributes, | ||
ast_boolean | reg, | ||
ast_expression * | default_value | ||
) |
Creates a new UDP port AST node.
identifier | The udp being instanced. |