User guide

13-24
SDF Backannotation
timing_check_condition: expression
list_of_path_declaration: path_declaration ';'
| list_of_path_declaration path_declaration ';'
path_declaration: opt_if '(' list_of_path_in_td path_type list_of_path_out_td
')'
| opt_if '(' list_of_path_in_td path_type '('
list_of_path_out_td ')' ')'
opt_if: 'if' '(' expression ')' | ;
opt_edge: timing_check_event_control | ;
timing_check_event_control': 'posedge' | 'negedge' | 'edge'
'[' edge_descriptor_list ']'
edge_descriptor_list: edge_descriptor
| edge_descriptor_list ',' edge_descriptor
edge_descriptor : '01' | '10' | '0x' | 'x1' | '1x' | 'x0'
path_type: '=>' | '-' '=>' | '+' '=>' | '*>' | '-' '*>' | '+' '*>'
list_of_path_out_td: list_of_path_out_td ','
specify_out_terminal_descriptor | specify_out_terminal_descriptor
specify_out_terminal_descriptor: '(' specify_terminal_descriptor data_op
expression ')'
| specify_terminal_descriptor
data_op : ':' | '-' ':' | '+' ':'
list_of_path_in_td: list_of_path_in_td ','
opt_edge_specify_terminal_descriptor
| opt_edge_specify_terminal_descriptor ;
opt_edge_specify_terminal_descriptor : opt_edge
specify_terminal_descriptor ;
specify_terminal_descriptor: verilog_id | verilog_id '[' expression ']
| verilog_id '[' expression ':' expression ']' ;
expression : primary | unary_op primary
| expression '+' expression | expression '-' expression
| expression '*' expression | expression '/' expression
| expression '%' expression | expression '==' expression
| expression '!=' expression | expression '===' expression
| expression '!==' expression | expression '&&' expression
| expression '||' expression | expression '<' expression
| expression '<=' expression | expression '>' expression
| expression '>=' expression | expression '&' expression
| expression '|' expression | expression '^' expression
| expression '^~' expression | expression '~^' expression
| expression '>>' expression | expression '<<' expression
| expression '?' expression ':' expression
unary_op : '!' | '~' | '+' | '-' | '&' | '~&' | '|' | '~|' | '^' | '~^' | '^~'
primary : number | lident | lident '[' number ']'
| lident '[' number ':' number ']' | '{' cat_expr_list '}'
| '{' expression '{' cat_expr_list '}' '}' | '(' expression ')'
cat_expr_list: cat_expr_list ',' expression | expression
lident: identifier