Project

General

Profile

Download (1.58 KB) Statistics
| Branch: | Tag: | Revision:
1
open Vhdl_ast
2

    
3
type mini_vhdl_component_instantiation_t =
4
  {
5
    name: vhdl_name_t;
6
    archi: vhdl_architecture_t;
7
    entity: vhdl_entity_t;
8
    generic_map: vhdl_assoc_element_t list [@default []];
9
    port_map: vhdl_assoc_element_t list [@default []];
10
  }
11
[@@deriving show { with_path = false }];;
12

    
13
type mini_vhdl_concurrent_stmt_t =
14
  | SigAssign of vhdl_conditional_signal_t [@name "CONDITIONAL_SIGNAL_ASSIGNMENT"]
15
  | Process of vhdl_process_t [@name "PROCESS_STATEMENT"]
16
  | SelectedSig of vhdl_selected_signal_t [@name "SELECTED_SIGNAL_ASSIGNMENT"]
17
  | ComponentInst of mini_vhdl_component_instantiation_t [@name "COMPONENT_INSTANTIATION_STATEMENT"]
18
[@@deriving show { with_path = false }];;
19

    
20
type mini_vhdl_component_t =
21
  {
22
    names: vhdl_name_t list [@default NoName];
23
    generics: vhdl_port_t list [@default []]; (* From related 'entity' *)
24
    ports: vhdl_port_t list [@default []]; (* From related 'entity' *)
25
    contexts: vhdl_load_t list [@default []]; (* Related 'declarations' contexts + relatated entity contexts *)
26
    declarations: vhdl_declaration_t list [@default []]; (* From inlined 'declarations' + entity.declaration *)
27
    definitions: vhdl_definition_t list [@default []]; (* From inlined 'declarations' + entity.declaration *)
28
    body: mini_vhdl_concurrent_stmt_t list [@key "ARCHITECTURE_STATEMENT_PART"] [@default []]; (* + entity.stmts *)
29
  }
30
[@@deriving show { with_path = false }];;
31

    
32
type mini_vhdl_design_file_t = 
33
  {
34
    components: mini_vhdl_component_t list [@default []];
35
    packages: vhdl_package_t list [@default []];
36
  }
37
[@@deriving show { with_path = false }];;
(1-1/10)