1
|
open Vhdl_ast
|
2
|
|
3
|
type mini_vhdl_component_t =
|
4
|
{
|
5
|
names: vhdl_name_t list [@default NoName];
|
6
|
generics: vhdl_port_t list [@default []]; (* From related 'entity' *)
|
7
|
ports: vhdl_port_t list [@default []]; (* From related 'entity' *)
|
8
|
contexts: vhdl_load_t list [@default []]; (* Related 'declarations' contexts + relatated entity contexts *)
|
9
|
declarations: vhdl_declaration_t list [@default []]; (* From inlined 'declarations' + entity.declaration *)
|
10
|
definitions: vhdl_definition_t list [@default []]; (* From inlined 'declarations' + entity.declaration *)
|
11
|
body: vhdl_concurrent_stmt_t list [@key "ARCHITECTURE_STATEMENT_PART"] [@default []]; (* + entity.stmts *)
|
12
|
}
|
13
|
[@@deriving show { with_path = false }, yojson {strict = false}];;
|
14
|
|
15
|
type mini_vhdl_design_file_t =
|
16
|
{
|
17
|
components: mini_vhdl_component_t list [@default []];
|
18
|
packages: vhdl_package_t list [@default []];
|
19
|
}
|
20
|
[@@deriving show { with_path = false }, yojson];;
|