Project

General

Profile

« Previous | Next » 

Revision d3a35600

Added by Arnaud Dieumegard almost 6 years ago

Conditional signals selection, waveform with delay

View differences:

src/backends/VHDL/vhdl_ast_map.ml
24 24
let _ = fun (_ : vhdl_declaration_t)  -> () 
25 25
let _ = fun (_ : vhdl_signal_selection_t)  -> () 
26 26
let _ = fun (_ : vhdl_declarative_item_t)  -> () 
27
let _ = fun (_ : vhdl_waveform_element_t)  -> ()
27 28
let _ = fun (_ : vhdl_signal_condition_t)  -> () 
28 29
let _ = fun (_ : vhdl_conditional_signal_t)  -> () 
29 30
let _ = fun (_ : vhdl_process_t)  -> () 
......
65 66
    method virtual  vhdl_declaration_t : vhdl_declaration_t -> vhdl_declaration_t
66 67
    method virtual  vhdl_sequential_stmt_t : vhdl_sequential_stmt_t -> vhdl_sequential_stmt_t
67 68
    method virtual  vhdl_declarative_item_t : vhdl_declarative_item_t -> vhdl_declarative_item_t
69
    method virtual  vhdl_waveform_element_t : vhdl_waveform_element_t -> vhdl_waveform_element_t
68 70
    method virtual  vhdl_signal_condition_t : vhdl_signal_condition_t -> vhdl_signal_condition_t
69 71
    method virtual  vhdl_cst_val_t : vhdl_cst_val_t -> vhdl_cst_val_t
70 72
    method virtual  vhdl_subprogram_spec_t : vhdl_subprogram_spec_t -> vhdl_subprogram_spec_t
......
308 310
        | SigSeqAssign { label; lhs; rhs } ->
309 311
            let label = self#vhdl_name_t label  in
310 312
            let lhs = self#vhdl_name_t lhs  in
311
            let rhs = self#list self#vhdl_expr_t rhs  in
313
            let rhs = self#list self#vhdl_waveform_element_t rhs  in
312 314
            SigSeqAssign { label; lhs; rhs }
313 315
        | If { label; if_cases; default } ->
314 316
            let label = self#vhdl_name_t label  in
......
389 391
        let definition = self#option self#vhdl_definition_t definition  in
390 392
        { use_clause; declaration; definition }
391 393

  
392
    method vhdl_signal_condition_t : vhdl_signal_condition_t -> vhdl_signal_condition_t=
394
    method vhdl_waveform_element_t :
395
      vhdl_waveform_element_t -> vhdl_waveform_element_t=
396
      fun { value; delay }  ->
397
        let value = self#option self#vhdl_expr_t value  in
398
        let delay = self#option self#vhdl_expr_t delay  in { value; delay }
399

  
400
    method vhdl_signal_condition_t :
401
      vhdl_signal_condition_t -> vhdl_signal_condition_t=
393 402
      fun { expr; cond }  ->
394
        let expr = self#list self#vhdl_expr_t expr  in
403
        let expr = self#list self#vhdl_waveform_element_t expr  in
395 404
        let cond = self#vhdl_expr_t cond  in { expr; cond }
396 405

  
397
    method vhdl_signal_selection_t : vhdl_signal_selection_t -> vhdl_signal_selection_t=
406
    method vhdl_signal_selection_t :
407
      vhdl_signal_selection_t -> vhdl_signal_selection_t=
398 408
      fun { expr; when_sel }  ->
399
        let expr = self#vhdl_expr_t expr  in
409
        let expr = self#list self#vhdl_waveform_element_t expr  in
400 410
        let when_sel = self#list self#vhdl_expr_t when_sel  in
401 411
        { expr; when_sel }
402 412

  
......
420 430
        let body = self#list self#vhdl_sequential_stmt_t body  in
421 431
        { id; declarations; active_sigs; body }
422 432

  
423
    method vhdl_selected_signal_t : vhdl_selected_signal_t -> vhdl_selected_signal_t=
433
    method vhdl_selected_signal_t :
434
      vhdl_selected_signal_t -> vhdl_selected_signal_t=
424 435
      fun { postponed; label; lhs; sel; branches; delay }  ->
425 436
        let postponed = self#bool postponed  in
426 437
        let label = self#vhdl_name_t label  in

Also available in: Unified diff