Project

General

Profile

« Previous | Next » 

Revision d3a35600

Added by Arnaud Dieumegard almost 6 years ago

Conditional signals selection, waveform with delay

View differences:

src/tools/importer/vhdl_to_lustre.ml
26 26
let _ = fun (_ : vhdl_declaration_t)  -> () 
27 27
let _ = fun (_ : vhdl_signal_selection_t)  -> () 
28 28
let _ = fun (_ : vhdl_declarative_item_t)  -> () 
29
let _ = fun (_ : vhdl_waveform_element_t)  -> ()
29 30
let _ = fun (_ : vhdl_signal_condition_t)  -> () 
30 31
let _ = fun (_ : vhdl_conditional_signal_t)  -> () 
31 32
let _ = fun (_ : vhdl_process_t)  -> () 
......
67 68
    method virtual  vhdl_declaration_t : vhdl_declaration_t -> vhdl_declaration_t
68 69
    method virtual  vhdl_sequential_stmt_t : vhdl_sequential_stmt_t -> vhdl_sequential_stmt_t
69 70
    method virtual  vhdl_declarative_item_t : vhdl_declarative_item_t -> vhdl_declarative_item_t
71
    method virtual  vhdl_waveform_element_t : vhdl_waveform_element_t -> vhdl_waveform_element_t
70 72
    method virtual  vhdl_signal_condition_t : vhdl_signal_condition_t -> vhdl_signal_condition_t
71 73
    method virtual  vhdl_cst_val_t : vhdl_cst_val_t -> vhdl_cst_val_t
72 74
    method virtual  vhdl_subprogram_spec_t : vhdl_subprogram_spec_t -> vhdl_subprogram_spec_t
......
310 312
        | SigSeqAssign { label; lhs; rhs } ->
311 313
            let label = self#vhdl_name_t label  in
312 314
            let lhs = self#vhdl_name_t lhs  in
313
            let rhs = self#list self#vhdl_expr_t rhs  in
315
            let rhs = self#list self#vhdl_waveform_element_t rhs  in
314 316
            SigSeqAssign { label; lhs; rhs }
315 317
        | If { label; if_cases; default } ->
316 318
            let label = self#vhdl_name_t label  in
......
391 393
        let definition = self#option self#vhdl_definition_t definition  in
392 394
        { use_clause; declaration; definition }
393 395

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

  
402
    method vhdl_signal_condition_t :
403
      vhdl_signal_condition_t -> vhdl_signal_condition_t=
395 404
      fun { expr; cond }  ->
396
        let expr = self#list self#vhdl_expr_t expr  in
405
        let expr = self#list self#vhdl_waveform_element_t expr  in
397 406
        let cond = self#vhdl_expr_t cond  in { expr; cond }
398 407

  
399
    method vhdl_signal_selection_t : vhdl_signal_selection_t -> vhdl_signal_selection_t=
408
    method vhdl_signal_selection_t :
409
      vhdl_signal_selection_t -> vhdl_signal_selection_t=
400 410
      fun { expr; when_sel }  ->
401
        let expr = self#vhdl_expr_t expr  in
411
        let expr = self#list self#vhdl_waveform_element_t expr  in
402 412
        let when_sel = self#list self#vhdl_expr_t when_sel  in
403 413
        { expr; when_sel }
404 414

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

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

Also available in: Unified diff