Verilog Parser

Data Structures

struct  ast_delay_ctrl
 Describes a single delay control statement. More...
 
struct  ast_event_control
 Describes the type of event triggers. More...
 
struct  ast_event_expression
 Describes a single event expression. More...
 
struct  ast_timing_control_statement
 Describes a single procedural timing control statement. More...
 
struct  ast_wait_statement
 Describes a single wait statement. More...
 

Enumerations

enum  ast_delay_ctrl_type { DELAY_CTRL_VALUE, DELAY_CTRL_MINTYPMAX }
 Denotes whether a delay control expression is a single value or a range.
 
enum  ast_event_control_type { EVENT_CTRL_NONE, EVENT_CTRL_ANY, EVENT_CTRL_TRIGGERS }
 Whether an event control struct contains a list of triggers, no triggers.
 
enum  ast_event_expression_type { EVENT_EXPRESSION, EVENT_POSEDGE, EVENT_NEGEDGE, EVENT_SEQUENCE }
 
enum  ast_timing_control_statement_type { TIMING_CTRL_DELAY_CONTROL, TIMING_CTRL_EVENT_CONTROL, TIMING_CTRL_EVENT_CONTROL_REPEAT }
 What sort of procedural timing control statement is this?
 

Functions

ast_delay_ctrlast_new_delay_ctrl_mintypmax (ast_expression *mintypmax)
 creates and returns a new delay control statement.
 
ast_delay_ctrlast_new_delay_ctrl_value (ast_delay_value *value)
 creates and returns a new delay control statement.
 
ast_event_controlast_new_event_control (ast_event_control_type type, ast_event_expression *expression)
 Creates and returns a new event control specifier.
 
ast_event_expression * ast_new_event_expression (ast_edge trigger_edge, ast_expression *expression)
 Creates a new event expression node. More...
 
ast_event_expression * ast_new_event_expression_sequence (ast_event_expression *left, ast_event_expression *right)
 Creates a new event expression node, which is itself a sequence of sub-expressions.
 
ast_timing_control_statementast_new_timing_control_statement_delay (ast_timing_control_statement_type type, ast_statement *statement, ast_delay_ctrl *delay_ctrl)
 Creates and returns a new timing control statement node.
 
ast_timing_control_statementast_new_timing_control_statement_event (ast_timing_control_statement_type type, ast_expression *repeat, ast_statement *statement, ast_event_control *event_ctrl)
 Creates and returns a new timing control statement node.
 
ast_wait_statementast_new_wait_statement (ast_expression *wait_for, ast_statement *statement)
 Creates and returns a new wait statement.
 

Variables

ast_metadata meta
 Node metadata.
 

Detailed Description

Enumeration Type Documentation

Enumerator
EVENT_EXPRESSION 

Goes to a single expression.

EVENT_POSEDGE 

on posedge

EVENT_NEGEDGE 

on negedge

EVENT_SEQUENCE 

Covers event_expression COMMA event_expression.

Function Documentation

ast_event_expression* ast_new_event_expression ( ast_edge  trigger_edge,
ast_expression *  expression 
)

Creates a new event expression node.

Parameters
trigger_edge- the edge on which the trigger is activated.
expression- the expression to monitor the waveforms of.
trigger_edge- the edge on which the trigger is activated.
expression- the expression to monitor the waveforms of.
Bug:
Assertion (commented out) fires in some circumstances.