-- internal declarations, part 1 TYPE __ghdl_size_type IS UNSIGNED (32); TYPE __ghdl_index_type IS UNSIGNED (32); TYPE __ghdl_i32 IS SIGNED (32); TYPE __ghdl_real IS FLOAT; TYPE __ghdl_i64 IS SIGNED (64); TYPE __ghdl_file_index IS UNSIGNED (32); TYPE __ghdl_file_index_ptr IS ACCESS __ghdl_file_index; TYPE __ghdl_char IS UNSIGNED (8); TYPE __ghdl_chararray IS ARRAY [__ghdl_index_type] OF __ghdl_char; TYPE __ghdl_char_ptr IS ACCESS __ghdl_chararray; TYPE __ghdl_char_ptr_array IS ARRAY [__ghdl_index_type] OF __ghdl_char_ptr; TYPE __ghdl_char_ptr_array_ptr IS ACCESS __ghdl_char_ptr_array; TYPE __ghdl_ptr IS ACCESS __ghdl_char; TYPE __ghdl_str_len IS RECORD len: __ghdl_index_type; str: __ghdl_char_ptr; END RECORD; TYPE __ghdl_str_len_array IS ARRAY [__ghdl_index_type] OF __ghdl_str_len; TYPE __ghdl_str_len_ptr IS ACCESS __ghdl_str_len; TYPE __ghdl_bool_type IS BOOLEAN {false, true}; TYPE __ghdl_bool_array_type IS ARRAY [__ghdl_index_type] OF __ghdl_bool_type; TYPE __ghdl_bool_array_ptr IS ACCESS __ghdl_bool_array_type; TYPE __ghdl_sizes_type IS RECORD size_val: __ghdl_index_type; size_sig: __ghdl_index_type; END RECORD; TYPE __ghdl_compare_type IS ENUM {lt, eq, gt}; TYPE __ghdl_location IS RECORD filename: __ghdl_char_ptr; line: __ghdl_i32; col: __ghdl_i32; END RECORD; TYPE __ghdl_location_ptr IS ACCESS __ghdl_location; TYPE __ghdl_dir_type IS ENUM {dir_to, dir_downto}; TYPE __ghdl_signal IS RECORD; TYPE __ghdl_signal_ptr IS ACCESS __ghdl_signal; EXTERNAL FUNCTION __ghdl_alloc ( size: __ghdl_size_type) RETURN __ghdl_ptr; EXTERNAL PROCEDURE __ghdl_program_error ( filename: __ghdl_char_ptr; line: __ghdl_i32; code: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_bound_check_failed ( filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_direction_check_failed ( filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL FUNCTION __ghdl_stack2_allocate ( size: __ghdl_index_type) RETURN __ghdl_ptr; EXTERNAL FUNCTION __ghdl_stack2_mark ( ) RETURN __ghdl_ptr; EXTERNAL PROCEDURE __ghdl_stack2_release ( mark: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_memcpy ( dest: __ghdl_ptr; src: __ghdl_ptr; length: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_deallocate ( OBJ: __ghdl_ptr); EXTERNAL FUNCTION __ghdl_malloc ( length: __ghdl_index_type) RETURN __ghdl_ptr; EXTERNAL FUNCTION __ghdl_malloc0 ( length: __ghdl_index_type) RETURN __ghdl_ptr; EXTERNAL FUNCTION __ghdl_text_file_elaborate ( ) RETURN __ghdl_file_index; EXTERNAL FUNCTION __ghdl_file_elaborate ( NAME: __ghdl_char_ptr) RETURN __ghdl_file_index; EXTERNAL PROCEDURE __ghdl_file_finalize ( file: __ghdl_file_index); EXTERNAL PROCEDURE __ghdl_text_file_finalize ( file: __ghdl_file_index); EXTERNAL PROCEDURE __ghdl_protected_enter ( OBJ: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_protected_leave ( OBJ: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_protected_init ( OBJ: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_protected_fini ( OBJ: __ghdl_ptr); TYPE __ghdl_rtik IS ENUM {__ghdl_rtik_top, __ghdl_rtik_library, __ghdl_rtik_package, __ghdl_rtik_package_body, __ghdl_rtik_entity, __ghdl_rtik_architecture, __ghdl_rtik_process, __ghdl_rtik_block, __ghdl_rtik_if_generate, __ghdl_rtik_case_generate, __ghdl_rtik_for_generate, __ghdl_rtik_generate_body, __ghdl_rtik_instance, __ghdl_rtik_constant, __ghdl_rtik_iterator, __ghdl_rtik_variable, __ghdl_rtik_signal, __ghdl_rtik_file, __ghdl_rtik_port, __ghdl_rtik_generic, __ghdl_rtik_alias, __ghdl_rtik_guard, __ghdl_rtik_component, __ghdl_rtik_attribute, __ghdl_rtik_type_b1, __ghdl_rtik_type_e8, __ghdl_rtik_type_e32, __ghdl_rtik_type_i32, __ghdl_rtik_type_i64, __ghdl_rtik_type_f64, __ghdl_rtik_type_p32, __ghdl_rtik_type_p64, __ghdl_rtik_type_access, __ghdl_rtik_type_array, __ghdl_rtik_type_record, __ghdl_rtik_type_unbounded_record, __ghdl_rtik_type_file, __ghdl_rtik_subtype_scalar, __ghdl_rtik_subtype_array, __ghdl_rtik_subtype_unconstrained_array, __ghdl_rtik_subtype_record, __ghdl_rtik_subtype_unbounded_record, __ghdl_rtik_subtype_access, __ghdl_rtik_type_protected, __ghdl_rtik_element, __ghdl_rtik_unit64, __ghdl_rtik_unitptr, __ghdl_rtik_attribute_transaction, __ghdl_rtik_attribute_quiet, __ghdl_rtik_attribute_stable, __ghdl_rtik_psl_assert, __ghdl_rtik_psl_cover, __ghdl_rtik_psl_endpoint, __ghdl_rtik_error}; TYPE __ghdl_rti_depth IS UNSIGNED (8); TYPE __ghdl_rti_u8 IS UNSIGNED (8); TYPE __ghdl_rti_common IS RECORD kind: __ghdl_rtik; depth: __ghdl_rti_depth; mode: __ghdl_rti_u8; max_depth: __ghdl_rti_depth; END RECORD; TYPE __ghdl_rti_access IS ACCESS __ghdl_rti_common; TYPE __ghdl_rti_array IS ARRAY [__ghdl_index_type] OF __ghdl_rti_access; TYPE __ghdl_rti_arr_acc IS ACCESS __ghdl_rti_array; TYPE __ghdl_component_link_type IS RECORD; TYPE __ghdl_component_link_acc IS ACCESS __ghdl_component_link_type; TYPE __ghdl_entity_link_type IS RECORD rti: __ghdl_rti_access; parent: __ghdl_component_link_acc; END RECORD; TYPE __ghdl_entity_link_acc IS ACCESS __ghdl_entity_link_type; TYPE __ghdl_component_link_type IS RECORD INSTANCE: __ghdl_entity_link_acc; stmt: __ghdl_rti_access; END RECORD; TYPE __ghdl_rtin_block IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_ptr; linecol: __ghdl_index_type; parent: __ghdl_rti_access; nbr_child: __ghdl_index_type; children: __ghdl_rti_arr_acc; END RECORD; TYPE __ghdl_rtin_generate IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_ptr; linecol: __ghdl_index_type; parent: __ghdl_rti_access; size: __ghdl_index_type; child: __ghdl_rti_access; END RECORD; TYPE __ghdl_rtin_block_file IS RECORD block: __ghdl_rtin_block; filename: __ghdl_char_ptr; END RECORD; TYPE __ghdl_rtin_type_scalar IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; END RECORD; TYPE __ghdl_rtin_type_enum IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr: __ghdl_index_type; lits: __ghdl_char_ptr_array_ptr; END RECORD; TYPE __ghdl_rtin_subtype_scalar IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; base: __ghdl_rti_access; range: __ghdl_ptr; END RECORD; TYPE __ghdl_rtin_unit64 IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; val: __ghdl_i64; END RECORD; TYPE __ghdl_rtin_unitptr IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; addr: __ghdl_ptr; END RECORD; TYPE __ghdl_rtin_type_physical IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr: __ghdl_index_type; units: __ghdl_rti_arr_acc; END RECORD; TYPE __ghdl_rtin_type_fileacc IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; base: __ghdl_rti_access; END RECORD; TYPE __ghdl_rtin_type_array IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; element: __ghdl_rti_access; nbr_dim: __ghdl_index_type; indexes: __ghdl_rti_arr_acc; END RECORD; TYPE __ghdl_rtin_subtype_composite IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; basetype: __ghdl_rti_access; bounds: __ghdl_ptr; val_size: __ghdl_ptr; sig_size: __ghdl_ptr; END RECORD; TYPE __ghdl_rtin_type_record IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; nbrel: __ghdl_index_type; elements: __ghdl_rti_arr_acc; END RECORD; TYPE __ghdl_rtin_element IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; eltype: __ghdl_rti_access; val_off: __ghdl_index_type; sig_off: __ghdl_index_type; END RECORD; TYPE __ghdl_rtin_object IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; loc: __ghdl_ptr; obj_type: __ghdl_rti_access; linecol: __ghdl_index_type; END RECORD; TYPE __ghdl_rtin_instance IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; linecol: __ghdl_index_type; loc: __ghdl_ptr; parent: __ghdl_rti_access; instance: __ghdl_rti_access; END RECORD; TYPE __ghdl_rtin_component IS RECORD common: __ghdl_rti_common; name: __ghdl_char_ptr; nbr_child: __ghdl_index_type; children: __ghdl_rti_arr_acc; END RECORD; EXTERNAL PROCEDURE __ghdl_signal_name_rti ( OBJ: __ghdl_rti_access; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_sensitized_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_postponed_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_postponed_sensitized_process_register ( this: __ghdl_ptr; proc: __ghdl_ptr; ctxt: __ghdl_rti_access; addr: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_finalize_register ( this: __ghdl_ptr; proc: __ghdl_ptr); -- package std.standard TYPE std__standard__boolean IS BOOLEAN {false, true}; TYPE std__standard__boolean__PTR IS ACCESS std__standard__boolean; TYPE std__standard__boolean__TRT IS RECORD left: std__standard__boolean; right: std__standard__boolean; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__boolean__TRPTR IS ACCESS std__standard__boolean__TRT; TYPE std__standard__BOOLEAN_ARRAY IS ARRAY [__ghdl_index_type] OF std__standard__boolean; TYPE std__standard__bit IS BOOLEAN {C_0, C_1}; TYPE std__standard__bit__PTR IS ACCESS std__standard__bit; TYPE std__standard__bit__TRT IS RECORD left: std__standard__bit; right: std__standard__bit; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__bit__TRPTR IS ACCESS std__standard__bit__TRT; TYPE std__standard__character IS ENUM {nul, soh, stx, etx, eot, enq, ack, bel, bs, ht, lf, vt, ff, cr, so, si, dle, dc1, dc2, dc3, dc4, nak, syn, etb, can, em, sub, esc, fsp, gsp, rsp, usp, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29, C2a, C2b, C2c, C2d, C2e, C2f, C_0, C_1, C_2, C_3, C_4, C_5, C_6, C_7, C_8, C_9, C3a, C3b, C3c, C3d, C3e, C3f, C40, C_A, C_B, C_C, C_D, C_E, C_F, C_G, C_H, C_I, C_J, C_K, C_L, C_M, C_N, C_O, C_P, C_Q, C_R, C_S, C_T, C_U, C_V, C_W, C_X, C_Y, C_Z, C5b, C5c, C5d, C5e, C5f, C60, C_a, C_b, C_c, C_d, C_e, C_f, C_g, C_h, C_i, C_j, C_k, C_l, C_m, C_n, C_o, C_p, C_q, C_r, C_s, C_t, C_u, C_v, C_w, C_x, C_y, C_z, C7b, C7c, C7d, C7e, del, c128, c129, c130, c131, c132, c133, c134, c135, c136, c137, c138, c139, c140, c141, c142, c143, c144, c145, c146, c147, c148, c149, c150, c151, c152, c153, c154, c155, c156, c157, c158, c159, Ca0, Ca1, Ca2, Ca3, Ca4, Ca5, Ca6, Ca7, Ca8, Ca9, Caa, Cab, Cac, Cad, Cae, Caf, Cb0, Cb1, Cb2, Cb3, Cb4, Cb5, Cb6, Cb7, Cb8, Cb9, Cba, Cbb, Cbc, Cbd, Cbe, Cbf, Cc0, Cc1, Cc2, Cc3, Cc4, Cc5, Cc6, Cc7, Cc8, Cc9, Cca, Ccb, Ccc, Ccd, Cce, Ccf, Cd0, Cd1, Cd2, Cd3, Cd4, Cd5, Cd6, Cd7, Cd8, Cd9, Cda, Cdb, Cdc, Cdd, Cde, Cdf, Ce0, Ce1, Ce2, Ce3, Ce4, Ce5, Ce6, Ce7, Ce8, Ce9, Cea, Ceb, Cec, Ced, Cee, Cef, Cf0, Cf1, Cf2, Cf3, Cf4, Cf5, Cf6, Cf7, Cf8, Cf9, Cfa, Cfb, Cfc, Cfd, Cfe, Cff}; TYPE std__standard__character__PTR IS ACCESS std__standard__character; TYPE std__standard__character__TRT IS RECORD left: std__standard__character; right: std__standard__character; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__character__TRPTR IS ACCESS std__standard__character__TRT; EXTERNAL CONSTANT std__standard__character__BTR : std__standard__character__TRT ; TYPE std__standard__severity_level IS ENUM {note, warning, error, failure}; TYPE std__standard__severity_level__PTR IS ACCESS std__standard__severity_level ; TYPE std__standard__severity_level__TRT IS RECORD left: std__standard__severity_level; right: std__standard__severity_level; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__severity_level__TRPTR IS ACCESS std__standard__severity_level__TRT; EXTERNAL CONSTANT std__standard__severity_level__BTR : std__standard__severity_level__TRT; TYPE std__standard__UNIVERSAL_INTEGER__BT IS SIGNED (64); TYPE std__standard__UNIVERSAL_INTEGER__BT__PTR IS ACCESS std__standard__UNIVERSAL_INTEGER__BT; TYPE std__standard__UNIVERSAL_INTEGER__BT__TRT IS RECORD left: std__standard__UNIVERSAL_INTEGER__BT; right: std__standard__UNIVERSAL_INTEGER__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__UNIVERSAL_INTEGER__BT__TRPTR IS ACCESS std__standard__UNIVERSAL_INTEGER__BT__TRT; EXTERNAL CONSTANT std__standard__UNIVERSAL_INTEGER__STR : std__standard__UNIVERSAL_INTEGER__BT__TRT; TYPE std__standard__UNIVERSAL_REAL__BT IS FLOAT; TYPE std__standard__UNIVERSAL_REAL__BT__PTR IS ACCESS std__standard__UNIVERSAL_REAL__BT; TYPE std__standard__UNIVERSAL_REAL__BT__TRT IS RECORD left: std__standard__UNIVERSAL_REAL__BT; right: std__standard__UNIVERSAL_REAL__BT; dir: __ghdl_dir_type; END RECORD; TYPE std__standard__UNIVERSAL_REAL__BT__TRPTR IS ACCESS std__standard__UNIVERSAL_REAL__BT__TRT; EXTERNAL CONSTANT std__standard__UNIVERSAL_REAL__STR : std__standard__UNIVERSAL_REAL__BT__TRT; TYPE std__standard__integer__BT IS SIGNED (32); TYPE std__standard__integer__BT__PTR IS ACCESS std__standard__integer__BT; TYPE std__standard__integer__BT__TRT IS RECORD left: std__standard__integer__BT; right: std__standard__integer__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__integer__BT__TRPTR IS ACCESS std__standard__integer__BT__TRT; EXTERNAL CONSTANT std__standard__integer__STR : std__standard__integer__BT__TRT ; TYPE std__standard__real__BT IS FLOAT; TYPE std__standard__real__BT__PTR IS ACCESS std__standard__real__BT; TYPE std__standard__real__BT__TRT IS RECORD left: std__standard__real__BT; right: std__standard__real__BT; dir: __ghdl_dir_type; END RECORD; TYPE std__standard__real__BT__TRPTR IS ACCESS std__standard__real__BT__TRT; EXTERNAL CONSTANT std__standard__real__STR : std__standard__real__BT__TRT; TYPE std__standard__time__BT IS SIGNED (64); TYPE std__standard__time__BT__PTR IS ACCESS std__standard__time__BT; TYPE std__standard__time__BT__TRT IS RECORD left: std__standard__time__BT; right: std__standard__time__BT; dir: __ghdl_dir_type; END RECORD; TYPE std__standard__time__BT__TRPTR IS ACCESS std__standard__time__BT__TRT; EXTERNAL CONSTANT std__standard__time__STR : std__standard__time__BT__TRT; EXTERNAL CONSTANT std__standard__delay_length__STR : std__standard__time__BT__TRT; EXTERNAL CONSTANT std__standard__natural__STR : std__standard__integer__BT__TRT ; EXTERNAL CONSTANT std__standard__positive__STR : std__standard__integer__BT__TRT; TYPE std__standard__string__BASE IS ARRAY [__ghdl_index_type] OF std__standard__character; TYPE std__standard__string__BASEP IS ACCESS std__standard__string__BASE; TYPE std__standard__string__SIGBASE IS ARRAY [__ghdl_index_type] OF __ghdl_signal_ptr; TYPE std__standard__string__SIGBASEP IS ACCESS std__standard__string__SIGBASE; TYPE std__standard__string__BOUND IS RECORD dim_1: std__standard__integer__BT__TRT; END RECORD; TYPE std__standard__string__BOUNDP IS ACCESS std__standard__string__BOUND; TYPE std__standard__string IS RECORD BASE: std__standard__string__BASEP; BOUNDS: std__standard__string__BOUNDP; END RECORD; TYPE std__standard__string__PTR IS ACCESS std__standard__string; TYPE std__standard__string__SIG IS RECORD BASE: std__standard__string__SIGBASEP; BOUNDS: std__standard__string__BOUNDP; END RECORD; TYPE std__standard__string__SIGPTR IS ACCESS std__standard__string__SIG; EXTERNAL FUNCTION std__standard__string_EQ ( left: std__standard__string__PTR; right: std__standard__string__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION std__standard__string_CMP ( left: std__standard__string__PTR; right: std__standard__string__PTR) RETURN __ghdl_compare_type; TYPE std__standard__bit_vector__BASE IS ARRAY [__ghdl_index_type] OF std__standard__bit; TYPE std__standard__bit_vector__BASEP IS ACCESS std__standard__bit_vector__BASE ; TYPE std__standard__bit_vector__SIGBASE IS ARRAY [__ghdl_index_type] OF __ghdl_signal_ptr; TYPE std__standard__bit_vector__SIGBASEP IS ACCESS std__standard__bit_vector__SIGBASE; TYPE std__standard__bit_vector__BOUND IS RECORD dim_1: std__standard__integer__BT__TRT; END RECORD; TYPE std__standard__bit_vector__BOUNDP IS ACCESS std__standard__bit_vector__BOUND; TYPE std__standard__bit_vector IS RECORD BASE: std__standard__bit_vector__BASEP; BOUNDS: std__standard__bit_vector__BOUNDP; END RECORD; TYPE std__standard__bit_vector__PTR IS ACCESS std__standard__bit_vector; TYPE std__standard__bit_vector__SIG IS RECORD BASE: std__standard__bit_vector__SIGBASEP; BOUNDS: std__standard__bit_vector__BOUNDP; END RECORD; TYPE std__standard__bit_vector__SIGPTR IS ACCESS std__standard__bit_vector__SIG ; EXTERNAL FUNCTION std__standard__bit_vector_EQ ( left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION std__standard__bit_vector_CMP ( left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR) RETURN __ghdl_compare_type; EXTERNAL PROCEDURE std__standard__bit_vector_NOT ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_AND ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_OR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_NAND ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_NOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_XOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_XNOR ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE std__standard__bit_vector_SHL ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); EXTERNAL PROCEDURE std__standard__bit_vector_SHA ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); EXTERNAL PROCEDURE std__standard__bit_vector_ROT ( res: std__standard__bit_vector__PTR; left: std__standard__bit_vector__PTR; right: std__standard__integer__BT); TYPE std__standard__file_open_kind IS ENUM {read_mode, write_mode, append_mode}; TYPE std__standard__file_open_kind__PTR IS ACCESS std__standard__file_open_kind ; TYPE std__standard__file_open_kind__TRT IS RECORD left: std__standard__file_open_kind; right: std__standard__file_open_kind; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__file_open_kind__TRPTR IS ACCESS std__standard__file_open_kind__TRT; EXTERNAL CONSTANT std__standard__file_open_kind__BTR : std__standard__file_open_kind__TRT; TYPE std__standard__file_open_status IS ENUM {open_ok, status_error, name_error, mode_error}; TYPE std__standard__file_open_status__PTR IS ACCESS std__standard__file_open_status; TYPE std__standard__file_open_status__TRT IS RECORD left: std__standard__file_open_status; right: std__standard__file_open_status; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__file_open_status__TRPTR IS ACCESS std__standard__file_open_status__TRT; EXTERNAL CONSTANT std__standard__file_open_status__BTR : std__standard__file_open_status__TRT; TYPE std__standard__CONVERTIBLE_INTEGER__BT IS SIGNED (64); TYPE std__standard__CONVERTIBLE_INTEGER__BT__PTR IS ACCESS std__standard__CONVERTIBLE_INTEGER__BT; TYPE std__standard__CONVERTIBLE_INTEGER__BT__TRT IS RECORD left: std__standard__CONVERTIBLE_INTEGER__BT; right: std__standard__CONVERTIBLE_INTEGER__BT; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE std__standard__CONVERTIBLE_INTEGER__BT__TRPTR IS ACCESS std__standard__CONVERTIBLE_INTEGER__BT__TRT; TYPE std__standard__CONVERTIBLE_REAL__BT IS FLOAT; TYPE std__standard__CONVERTIBLE_REAL__BT__PTR IS ACCESS std__standard__CONVERTIBLE_REAL__BT; TYPE std__standard__CONVERTIBLE_REAL__BT__TRT IS RECORD left: std__standard__CONVERTIBLE_REAL__BT; right: std__standard__CONVERTIBLE_REAL__BT; dir: __ghdl_dir_type; END RECORD; TYPE std__standard__CONVERTIBLE_REAL__BT__TRPTR IS ACCESS std__standard__CONVERTIBLE_REAL__BT__TRT; EXTERNAL CONSTANT std__standard__RTI : __ghdl_rtin_block; EXTERNAL CONSTANT std__standard__boolean__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__bit__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__character__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__severity_level__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__UNIVERSAL_INTEGER__BT__RTI : __ghdl_rtin_type_scalar; EXTERNAL CONSTANT std__standard__UNIVERSAL_INTEGER__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__UNIVERSAL_REAL__BT__RTI : __ghdl_rtin_type_scalar; EXTERNAL CONSTANT std__standard__UNIVERSAL_REAL__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__integer__BT__RTI : __ghdl_rtin_type_scalar; EXTERNAL CONSTANT std__standard__integer__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__real__BT__RTI : __ghdl_rtin_type_scalar; EXTERNAL CONSTANT std__standard__real__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__time__BT__RTI : __ghdl_rtin_type_physical; EXTERNAL CONSTANT std__standard__time__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__delay_length__RTI : __ghdl_rtin_subtype_scalar ; EXTERNAL CONSTANT std__standard__natural__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__positive__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT std__standard__string__RTI : __ghdl_rtin_type_array; EXTERNAL CONSTANT std__standard__bit_vector__RTI : __ghdl_rtin_type_array; EXTERNAL CONSTANT std__standard__file_open_kind__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__file_open_status__RTI : __ghdl_rtin_type_enum; EXTERNAL CONSTANT std__standard__foreign__RTI : __ghdl_rtin_object; TYPE __ghdl_std_ulogic_boolean_array_type IS SUBARRAY std__standard__BOOLEAN_ARRAY[9]; EXTERNAL CONSTANT __ghdl_std_ulogic_to_boolean_array : __ghdl_std_ulogic_boolean_array_type; -- internal declarations, part 2 EXTERNAL VAR __ghdl_now : std__standard__time__BT; EXTERNAL PROCEDURE __ghdl_assert_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_ieee_assert_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_psl_assert_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_psl_cover ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_psl_cover_failed ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_report ( msg: std__standard__string__PTR; severity: std__standard__severity_level; location: __ghdl_location_ptr); EXTERNAL PROCEDURE __ghdl_text_write ( file: __ghdl_file_index; str: std__standard__string__PTR); EXTERNAL FUNCTION __ghdl_text_read_length ( file: __ghdl_file_index; str: std__standard__string__PTR) RETURN std__standard__integer__BT; EXTERNAL PROCEDURE __ghdl_write_scalar ( file: __ghdl_file_index; ptr: __ghdl_ptr; length: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_read_scalar ( file: __ghdl_file_index; ptr: __ghdl_ptr; length: __ghdl_index_type); EXTERNAL FUNCTION __ghdl_real_exp ( left: std__standard__real__BT; right: std__standard__integer__BT) RETURN std__standard__real__BT; EXTERNAL FUNCTION __ghdl_integer_exp ( left: std__standard__integer__BT; right: std__standard__integer__BT) RETURN std__standard__integer__BT; EXTERNAL PROCEDURE __ghdl_image_b1 ( res: std__standard__string__PTR; val: __ghdl_bool_type; RTI: __ghdl_rti_access); EXTERNAL FUNCTION __ghdl_value_b1 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) RETURN __ghdl_bool_type; EXTERNAL PROCEDURE __ghdl_image_e8 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL FUNCTION __ghdl_value_e8 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) RETURN __ghdl_i32; EXTERNAL PROCEDURE __ghdl_image_e32 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL FUNCTION __ghdl_value_e32 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) RETURN __ghdl_i32; EXTERNAL PROCEDURE __ghdl_image_i32 ( res: std__standard__string__PTR; val: __ghdl_i32); EXTERNAL FUNCTION __ghdl_value_i32 ( val: std__standard__string__PTR) RETURN __ghdl_i32; EXTERNAL PROCEDURE __ghdl_image_i64 ( res: std__standard__string__PTR; val: __ghdl_i64); EXTERNAL FUNCTION __ghdl_value_i64 ( val: std__standard__string__PTR) RETURN __ghdl_i64; EXTERNAL PROCEDURE __ghdl_image_p32 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL FUNCTION __ghdl_value_p32 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) RETURN __ghdl_i32; EXTERNAL PROCEDURE __ghdl_image_p64 ( res: std__standard__string__PTR; val: __ghdl_i64; RTI: __ghdl_rti_access); EXTERNAL FUNCTION __ghdl_value_p64 ( val: std__standard__string__PTR; rti: __ghdl_rti_access) RETURN __ghdl_i64; EXTERNAL PROCEDURE __ghdl_image_f64 ( res: std__standard__string__PTR; val: __ghdl_real); EXTERNAL FUNCTION __ghdl_value_f64 ( val: std__standard__string__PTR) RETURN __ghdl_real; EXTERNAL PROCEDURE __ghdl_text_file_open ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR); EXTERNAL PROCEDURE __ghdl_file_open ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR); EXTERNAL FUNCTION __ghdl_text_file_open_status ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_file_open_status ( file: __ghdl_file_index; mode: __ghdl_i32; str: std__standard__string__PTR) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_file_endfile ( file: __ghdl_file_index) RETURN std__standard__boolean; EXTERNAL PROCEDURE __ghdl_text_file_close ( file: __ghdl_file_index); EXTERNAL PROCEDURE __ghdl_file_close ( file: __ghdl_file_index); EXTERNAL PROCEDURE __ghdl_file_flush ( file: __ghdl_file_index); EXTERNAL PROCEDURE __ghdl_signal_create_resolution ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; sig: __ghdl_ptr; nbr_sig: __ghdl_index_type); TYPE __ghdl_scalar_bytes IS SUBARRAY __ghdl_chararray[8]; TYPE __ghdl_signal IS RECORD driving_value: __ghdl_scalar_bytes; last_value: __ghdl_scalar_bytes; last_event: std__standard__time__BT; last_active: std__standard__time__BT; value: __ghdl_ptr; event: std__standard__boolean; active: std__standard__boolean; has_active: __ghdl_bool_type; END RECORD; TYPE __ghdl_signal_ptr_ptr IS ACCESS __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_merge_rti ( sig: __ghdl_signal_ptr; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_signal_add_source ( targ: __ghdl_signal_ptr; src: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_signal_effective_value ( targ: __ghdl_signal_ptr; src: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_signal_set_disconnect ( sig: __ghdl_signal_ptr; time: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_disconnect ( sig: __ghdl_signal_ptr); EXTERNAL FUNCTION __ghdl_signal_get_nbr_drivers ( sig: __ghdl_signal_ptr) RETURN __ghdl_index_type; EXTERNAL FUNCTION __ghdl_signal_get_nbr_ports ( sig: __ghdl_signal_ptr) RETURN __ghdl_index_type; EXTERNAL FUNCTION __ghdl_signal_read_driver ( sig: __ghdl_signal_ptr; num: __ghdl_index_type) RETURN __ghdl_ptr; EXTERNAL FUNCTION __ghdl_signal_read_port ( sig: __ghdl_signal_ptr; num: __ghdl_index_type) RETURN __ghdl_ptr; EXTERNAL FUNCTION __ghdl_signal_driving ( sig: __ghdl_signal_ptr) RETURN std__standard__boolean; EXTERNAL PROCEDURE __ghdl_signal_simple_assign_error ( sig: __ghdl_signal_ptr; filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_start_assign_error ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; after: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_next_assign_error ( sig: __ghdl_signal_ptr; after: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_start_assign_null ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_null ( sig: __ghdl_signal_ptr; after: std__standard__time__BT); EXTERNAL FUNCTION __ghdl_create_signal_e8 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_start_assign_e8 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_e8 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL FUNCTION __ghdl_signal_driving_value_e8 ( sig: __ghdl_signal_ptr) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_create_signal_e32 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_start_assign_e32 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_e32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL FUNCTION __ghdl_signal_driving_value_e32 ( sig: __ghdl_signal_ptr) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_create_signal_b1 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_b1 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_b1 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); EXTERNAL PROCEDURE __ghdl_signal_start_assign_b1 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_bool_type; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_b1 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_b1 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_b1 ( sig: __ghdl_signal_ptr; val: __ghdl_bool_type); EXTERNAL FUNCTION __ghdl_signal_driving_value_b1 ( sig: __ghdl_signal_ptr) RETURN __ghdl_bool_type; EXTERNAL FUNCTION __ghdl_create_signal_i32 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_start_assign_i32 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_i32 ( sig: __ghdl_signal_ptr; val: __ghdl_i32); EXTERNAL FUNCTION __ghdl_signal_driving_value_i32 ( sig: __ghdl_signal_ptr) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_create_signal_f64 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); EXTERNAL PROCEDURE __ghdl_signal_start_assign_f64 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_real; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_f64 ( sig: __ghdl_signal_ptr; val: __ghdl_real); EXTERNAL FUNCTION __ghdl_signal_driving_value_f64 ( sig: __ghdl_signal_ptr) RETURN __ghdl_real; EXTERNAL FUNCTION __ghdl_create_signal_i64 ( val_ptr: __ghdl_ptr; resolv_func: __ghdl_ptr; resolv_inst: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_init_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); EXTERNAL PROCEDURE __ghdl_signal_simple_assign_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); EXTERNAL PROCEDURE __ghdl_signal_start_assign_i64 ( sig: __ghdl_signal_ptr; reject: std__standard__time__BT; val: __ghdl_i64; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_next_assign_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64; after: std__standard__time__BT); EXTERNAL PROCEDURE __ghdl_signal_associate_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); EXTERNAL PROCEDURE __ghdl_signal_add_port_driver_i64 ( sig: __ghdl_signal_ptr; val: __ghdl_i64); EXTERNAL FUNCTION __ghdl_signal_driving_value_i64 ( sig: __ghdl_signal_ptr) RETURN __ghdl_i64; EXTERNAL PROCEDURE __ghdl_process_add_sensitivity ( sig: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_process_add_driver ( sig: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_signal_add_direct_driver ( sig: __ghdl_signal_ptr; drv: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_signal_direct_assign ( sig: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_signal_in_conversion ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; src: __ghdl_signal_ptr; src_len: __ghdl_index_type; dst: __ghdl_signal_ptr; dst_len: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_signal_out_conversion ( func: __ghdl_ptr; INSTANCE: __ghdl_ptr; src: __ghdl_signal_ptr; src_len: __ghdl_index_type; dst: __ghdl_signal_ptr; dst_len: __ghdl_index_type); EXTERNAL FUNCTION __ghdl_create_stable_signal ( val_ptr: __ghdl_ptr; val: std__standard__time__BT) RETURN __ghdl_signal_ptr; EXTERNAL FUNCTION __ghdl_create_quiet_signal ( val_ptr: __ghdl_ptr; val: std__standard__time__BT) RETURN __ghdl_signal_ptr; EXTERNAL FUNCTION __ghdl_create_transaction_signal ( val_ptr: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_attribute_register_prefix ( sig: __ghdl_signal_ptr); EXTERNAL FUNCTION __ghdl_create_delayed_signal ( sig: __ghdl_signal_ptr; val_ptr: __ghdl_ptr; val: std__standard__time__BT) RETURN __ghdl_signal_ptr; EXTERNAL FUNCTION __ghdl_signal_create_guard ( val_ptr: __ghdl_ptr; this: __ghdl_ptr; proc: __ghdl_ptr) RETURN __ghdl_signal_ptr; EXTERNAL PROCEDURE __ghdl_signal_guard_dependence ( sig: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_process_wait_exit ( ); EXTERNAL PROCEDURE __ghdl_process_wait_timeout ( time: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_process_wait_set_timeout ( time: std__standard__time__BT; filename: __ghdl_char_ptr; line: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_process_wait_add_sensitivity ( sig: __ghdl_signal_ptr); EXTERNAL PROCEDURE __ghdl_process_wait_suspend ( ); EXTERNAL FUNCTION __ghdl_process_wait_timed_out ( ) RETURN __ghdl_bool_type; EXTERNAL PROCEDURE __ghdl_process_wait_close ( ); EXTERNAL PROCEDURE __ghdl_get_path_name ( res: std__standard__string__PTR; ctxt: __ghdl_rti_access; addr: __ghdl_ptr; name: __ghdl_str_len_ptr); EXTERNAL PROCEDURE __ghdl_get_instance_name ( res: std__standard__string__PTR; ctxt: __ghdl_rti_access; addr: __ghdl_ptr; name: __ghdl_str_len_ptr); EXTERNAL PROCEDURE __ghdl_rti_add_package ( RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_rti_add_top ( max_pkgs: __ghdl_index_type; pkgs: __ghdl_rti_arr_acc; RTI: __ghdl_rti_access; INSTANCE: __ghdl_ptr); EXTERNAL PROCEDURE __ghdl_init_top_generics ( ); EXTERNAL FUNCTION __ghdl_std_ulogic_match_eq ( left: __ghdl_i32; right: __ghdl_i32) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_std_ulogic_match_ne ( left: __ghdl_i32; right: __ghdl_i32) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_std_ulogic_match_lt ( left: __ghdl_i32; right: __ghdl_i32) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_std_ulogic_match_le ( left: __ghdl_i32; right: __ghdl_i32) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_std_ulogic_array_match_eq ( left: __ghdl_ptr; l_len: __ghdl_index_type; right: __ghdl_ptr; r_len: __ghdl_index_type) RETURN __ghdl_i32; EXTERNAL FUNCTION __ghdl_std_ulogic_array_match_ne ( left: __ghdl_ptr; l_len: __ghdl_index_type; right: __ghdl_ptr; r_len: __ghdl_index_type) RETURN __ghdl_i32; EXTERNAL PROCEDURE __ghdl_to_string_i32 ( res: std__standard__string__PTR; val: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_to_string_i64 ( res: std__standard__string__PTR; val: __ghdl_i64); EXTERNAL PROCEDURE __ghdl_to_string_f64 ( res: std__standard__string__PTR; val: __ghdl_real); EXTERNAL PROCEDURE __ghdl_to_string_f64_digits ( res: std__standard__string__PTR; val: __ghdl_real; nbr_digits: __ghdl_i32); EXTERNAL PROCEDURE __ghdl_to_string_f64_format ( res: std__standard__string__PTR; val: __ghdl_real; format: std__standard__string__PTR); EXTERNAL PROCEDURE __ghdl_bv_to_ostring ( res: std__standard__string__PTR; val: std__standard__bit_vector__BASEP; length: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_bv_to_hstring ( res: std__standard__string__PTR; val: std__standard__bit_vector__BASEP; length: __ghdl_index_type); EXTERNAL PROCEDURE __ghdl_to_string_b1 ( res: std__standard__string__PTR; val: __ghdl_bool_type; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_to_string_e8 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_to_string_char ( res: std__standard__string__PTR; val: std__standard__character); EXTERNAL PROCEDURE __ghdl_to_string_e32 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_to_string_p32 ( res: std__standard__string__PTR; val: __ghdl_i32; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_to_string_p64 ( res: std__standard__string__PTR; val: __ghdl_i64; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_time_to_string_unit ( res: std__standard__string__PTR; val: std__standard__time__BT; unit: std__standard__time__BT; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_array_char_to_string_b1 ( res: std__standard__string__PTR; val: __ghdl_ptr; length: __ghdl_index_type; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_array_char_to_string_e8 ( res: std__standard__string__PTR; val: __ghdl_ptr; length: __ghdl_index_type; RTI: __ghdl_rti_access); EXTERNAL PROCEDURE __ghdl_array_char_to_string_e32 ( res: std__standard__string__PTR; val: __ghdl_ptr; length: __ghdl_index_type; RTI: __ghdl_rti_access); --F /Users/gingold/devel/ghdl/build-gcc/lib/ghdl/ieee/v93/../../src/ieee/std_logic_1164.v93 -- package declaration std_logic_1164 TYPE ieee__std_logic_1164__std_ulogic IS ENUM {C_U, C_X, C_0, C_1, C_Z, C_W, C_L, C_H, C2d}; TYPE ieee__std_logic_1164__std_ulogic__PTR IS ACCESS ieee__std_logic_1164__std_ulogic; TYPE ieee__std_logic_1164__std_ulogic__TRT IS RECORD left: ieee__std_logic_1164__std_ulogic; right: ieee__std_logic_1164__std_ulogic; dir: __ghdl_dir_type; length: __ghdl_index_type; END RECORD; TYPE ieee__std_logic_1164__std_ulogic__TRPTR IS ACCESS ieee__std_logic_1164__std_ulogic__TRT; EXTERNAL CONSTANT ieee__std_logic_1164__std_ulogic__BTR : ieee__std_logic_1164__std_ulogic__TRT; TYPE ieee__std_logic_1164__std_ulogic_vector__BASE IS ARRAY [__ghdl_index_type ] OF ieee__std_logic_1164__std_ulogic; TYPE ieee__std_logic_1164__std_ulogic_vector__BASEP IS ACCESS ieee__std_logic_1164__std_ulogic_vector__BASE; TYPE ieee__std_logic_1164__std_ulogic_vector__SIGBASE IS ARRAY [ __ghdl_index_type] OF __ghdl_signal_ptr; TYPE ieee__std_logic_1164__std_ulogic_vector__SIGBASEP IS ACCESS ieee__std_logic_1164__std_ulogic_vector__SIGBASE; TYPE ieee__std_logic_1164__std_ulogic_vector__BOUND IS RECORD dim_1: std__standard__integer__BT__TRT; END RECORD; TYPE ieee__std_logic_1164__std_ulogic_vector__BOUNDP IS ACCESS ieee__std_logic_1164__std_ulogic_vector__BOUND; TYPE ieee__std_logic_1164__std_ulogic_vector IS RECORD BASE: ieee__std_logic_1164__std_ulogic_vector__BASEP; BOUNDS: ieee__std_logic_1164__std_ulogic_vector__BOUNDP; END RECORD; TYPE ieee__std_logic_1164__std_ulogic_vector__PTR IS ACCESS ieee__std_logic_1164__std_ulogic_vector; TYPE ieee__std_logic_1164__std_ulogic_vector__SIG IS RECORD BASE: ieee__std_logic_1164__std_ulogic_vector__SIGBASEP; BOUNDS: ieee__std_logic_1164__std_ulogic_vector__BOUNDP; END RECORD; TYPE ieee__std_logic_1164__std_ulogic_vector__SIGPTR IS ACCESS ieee__std_logic_1164__std_ulogic_vector__SIG; EXTERNAL CONSTANT ieee__std_logic_1164__std_logic__STR : ieee__std_logic_1164__std_ulogic__TRT; TYPE ieee__std_logic_1164__std_logic_vector__BASE IS ARRAY [__ghdl_index_type] OF ieee__std_logic_1164__std_ulogic; TYPE ieee__std_logic_1164__std_logic_vector__BASEP IS ACCESS ieee__std_logic_1164__std_logic_vector__BASE; TYPE ieee__std_logic_1164__std_logic_vector__SIGBASE IS ARRAY [ __ghdl_index_type] OF __ghdl_signal_ptr; TYPE ieee__std_logic_1164__std_logic_vector__SIGBASEP IS ACCESS ieee__std_logic_1164__std_logic_vector__SIGBASE; TYPE ieee__std_logic_1164__std_logic_vector__BOUND IS RECORD dim_1: std__standard__integer__BT__TRT; END RECORD; TYPE ieee__std_logic_1164__std_logic_vector__BOUNDP IS ACCESS ieee__std_logic_1164__std_logic_vector__BOUND; TYPE ieee__std_logic_1164__std_logic_vector IS RECORD BASE: ieee__std_logic_1164__std_logic_vector__BASEP; BOUNDS: ieee__std_logic_1164__std_logic_vector__BOUNDP; END RECORD; TYPE ieee__std_logic_1164__std_logic_vector__PTR IS ACCESS ieee__std_logic_1164__std_logic_vector; TYPE ieee__std_logic_1164__std_logic_vector__SIG IS RECORD BASE: ieee__std_logic_1164__std_logic_vector__SIGBASEP; BOUNDS: ieee__std_logic_1164__std_logic_vector__BOUNDP; END RECORD; TYPE ieee__std_logic_1164__std_logic_vector__SIGPTR IS ACCESS ieee__std_logic_1164__std_logic_vector__SIG; EXTERNAL CONSTANT ieee__std_logic_1164__x01__STR : ieee__std_logic_1164__std_ulogic__TRT; EXTERNAL CONSTANT ieee__std_logic_1164__x01z__STR : ieee__std_logic_1164__std_ulogic__TRT; EXTERNAL CONSTANT ieee__std_logic_1164__ux01__STR : ieee__std_logic_1164__std_ulogic__TRT; EXTERNAL CONSTANT ieee__std_logic_1164__ux01z__STR : ieee__std_logic_1164__std_ulogic__TRT; EXTERNAL VAR ieee__std_logic_1164__ELABORATED : __ghdl_bool_type; EXTERNAL FUNCTION ieee__std_logic_1164__std_ulogic_vector_EQ ( left: ieee__std_logic_1164__std_ulogic_vector__PTR; right: ieee__std_logic_1164__std_ulogic_vector__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__std_ulogic_vector_CMP ( left: ieee__std_logic_1164__std_ulogic_vector__PTR; right: ieee__std_logic_1164__std_ulogic_vector__PTR) RETURN __ghdl_compare_type; EXTERNAL FUNCTION ieee__std_logic_1164__resolved ( s: ieee__std_logic_1164__std_ulogic_vector__PTR) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__resolved_RESOLV ( INSTANCE: __ghdl_ptr; VALS: __ghdl_signal_ptr; bool_vec: __ghdl_bool_array_ptr; vec_len: __ghdl_index_type; nbr_drv: __ghdl_index_type; nbr_ports: __ghdl_index_type); EXTERNAL FUNCTION ieee__std_logic_1164__std_logic_vector_EQ ( left: ieee__std_logic_1164__std_logic_vector__PTR; right: ieee__std_logic_1164__std_logic_vector__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__std_logic_vector_CMP ( left: ieee__std_logic_1164__std_logic_vector__PTR; right: ieee__std_logic_1164__std_logic_vector__PTR) RETURN __ghdl_compare_type; EXTERNAL FUNCTION ieee__std_logic_1164__andO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__nandO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__orO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__norO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__xorO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__xnorO1 ( l: ieee__std_logic_1164__std_ulogic; r: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__notO1 ( l: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__andO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__andO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__nandO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__nandO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__orO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__orO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__norO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__norO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__xorO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__xorO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__xnorO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR; r: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__xnorO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR; r: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__notO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; l: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__notO3 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; l: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_bit ( s: ieee__std_logic_1164__std_ulogic; xmap: std__standard__bit) RETURN std__standard__bit; EXTERNAL PROCEDURE ieee__std_logic_1164__to_bitvectorO1 ( RESULT: std__standard__bit_vector__PTR; s: ieee__std_logic_1164__std_logic_vector__PTR; xmap: std__standard__bit); EXTERNAL PROCEDURE ieee__std_logic_1164__to_bitvectorO2 ( RESULT: std__standard__bit_vector__PTR; s: ieee__std_logic_1164__std_ulogic_vector__PTR; xmap: std__standard__bit); EXTERNAL FUNCTION ieee__std_logic_1164__to_stdulogic ( b: std__standard__bit) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_stdlogicvectorO1 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_stdlogicvectorO2 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; s: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_stdulogicvectorO1 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_stdulogicvectorO2 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; s: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01O1 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; s: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01O2 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; s: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_x01O3 ( s: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01O4 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01O5 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_x01O6 ( b: std__standard__bit) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01zO1 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; s: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01zO2 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; s: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_x01zO3 ( s: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01zO4 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_x01zO5 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_x01zO6 ( b: std__standard__bit) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_ux01O1 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; s: ieee__std_logic_1164__std_logic_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_ux01O2 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; s: ieee__std_logic_1164__std_ulogic_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_ux01O3 ( s: ieee__std_logic_1164__std_ulogic) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL PROCEDURE ieee__std_logic_1164__to_ux01O4 ( RESULT: ieee__std_logic_1164__std_logic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL PROCEDURE ieee__std_logic_1164__to_ux01O5 ( RESULT: ieee__std_logic_1164__std_ulogic_vector__PTR; b: std__standard__bit_vector__PTR); EXTERNAL FUNCTION ieee__std_logic_1164__to_ux01O6 ( b: std__standard__bit) RETURN ieee__std_logic_1164__std_ulogic; EXTERNAL FUNCTION ieee__std_logic_1164__rising_edge ( s: ieee__std_logic_1164__std_ulogic; sSIG: __ghdl_signal_ptr) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__falling_edge ( s: ieee__std_logic_1164__std_ulogic; sSIG: __ghdl_signal_ptr) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__is_xO1 ( s: ieee__std_logic_1164__std_ulogic_vector__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__is_xO2 ( s: ieee__std_logic_1164__std_logic_vector__PTR) RETURN std__standard__boolean; EXTERNAL FUNCTION ieee__std_logic_1164__is_xO3 ( s: ieee__std_logic_1164__std_ulogic) RETURN std__standard__boolean; EXTERNAL PROCEDURE ieee__std_logic_1164__ELAB_SPEC ( ); EXTERNAL PROCEDURE ieee__std_logic_1164__ELAB_BODY ( ); EXTERNAL CONSTANT ieee__std_logic_1164__RTI : __ghdl_rtin_block; EXTERNAL CONSTANT ieee__std_logic_1164__std_ulogic__RTI : __ghdl_rtin_type_enum ; EXTERNAL CONSTANT ieee__std_logic_1164__std_ulogic_vector__RTI : __ghdl_rtin_type_array; EXTERNAL CONSTANT ieee__std_logic_1164__std_logic__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT ieee__std_logic_1164__std_logic_vector__RTI : __ghdl_rtin_type_array; EXTERNAL CONSTANT ieee__std_logic_1164__x01__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT ieee__std_logic_1164__x01z__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT ieee__std_logic_1164__ux01__RTI : __ghdl_rtin_subtype_scalar; EXTERNAL CONSTANT ieee__std_logic_1164__ux01z__RTI : __ghdl_rtin_subtype_scalar ; PRIVATE CONSTANT _UI00000000 : SUBARRAY __ghdl_chararray[9]; CONSTANT _UI00000000 := {116, 111, 112, 46, 118, 104, 100, 108, 0}; --F /Users/gingold/devel/ghdl/testsuite/gna/issue626/top.vhdl -- entity inc_ent TYPE work__inc_ent__INSTTYPE IS RECORD; TYPE work__inc_ent__INSTPTR IS ACCESS work__inc_ent__INSTTYPE; TYPE work__inc_ent__INSTTYPE IS RECORD RTI: __ghdl_entity_link_type; works: std__standard__integer__BT; vec: ieee__std_logic_1164__std_logic_vector; END RECORD; PUBLIC PROCEDURE work__inc_ent__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR); PUBLIC PROCEDURE work__inc_ent__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR); PUBLIC PROCEDURE work__inc_ent__PKG_ELAB ( ); EXTERNAL CONSTANT work__RTI : __ghdl_rtin_type_scalar; PUBLIC CONSTANT work__inc_ent__RTI : __ghdl_rtin_block_file; PUBLIC CONSTANT work__inc_ent__works__RTI : __ghdl_rtin_object; PRIVATE CONSTANT work__inc_ent__works__RTISTR : SUBARRAY __ghdl_chararray[6]; CONSTANT work__inc_ent__works__RTISTR := {119, 111, 114, 107, 115, 0}; CONSTANT work__inc_ent__works__RTI := {{__ghdl_rtik'[__ghdl_rtik_generic], 1, 0, 0}, __ghdl_char_ptr'unchecked_address (work__inc_ent__works__RTISTR), __ghdl_ptr'offsetof (work__inc_ent__INSTTYPE.works), __ghdl_rti_access'unchecked_address (std__standard__integer__RTI), 1552}; PUBLIC CONSTANT work__inc_ent__vec__RTI : __ghdl_rtin_object; PRIVATE CONSTANT work__inc_ent__vec__RTISTR : SUBARRAY __ghdl_chararray[4]; CONSTANT work__inc_ent__vec__RTISTR := {118, 101, 99, 0}; CONSTANT work__inc_ent__vec__RTI := {{__ghdl_rtik'[__ghdl_rtik_generic], 1, 0, 0}, __ghdl_char_ptr'unchecked_address (work__inc_ent__vec__RTISTR), __ghdl_ptr'offsetof (work__inc_ent__INSTTYPE.vec), __ghdl_rti_access'unchecked_address ( ieee__std_logic_1164__std_logic_vector__RTI), 1808}; PRIVATE CONSTANT work__inc_ent__RTISTR : SUBARRAY __ghdl_chararray[8]; CONSTANT work__inc_ent__RTISTR := {105, 110, 99, 95, 101, 110, 116, 0}; PRIVATE CONSTANT work__inc_ent__RTIARRAY : SUBARRAY __ghdl_rti_array[3]; CONSTANT work__inc_ent__RTIARRAY := {__ghdl_rti_access'unchecked_address (work__inc_ent__works__RTI), __ghdl_rti_access'unchecked_address (work__inc_ent__vec__RTI), __ghdl_rti_access'[NULL]}; CONSTANT work__inc_ent__RTI := {{{__ghdl_rtik'[__ghdl_rtik_entity], 1, 0, 0}, __ghdl_char_ptr'address (work__inc_ent__RTISTR), __ghdl_ptr'[NULL], 1032, __ghdl_rti_access'unchecked_address (work__RTI), 2, __ghdl_rti_arr_acc'address (work__inc_ent__RTIARRAY)}, __ghdl_char_ptr'address (_UI00000000)}; PUBLIC PROCEDURE work__inc_ent__PKG_ELAB ( ) DECLARE BEGIN --# 4 IF NOT ieee__std_logic_1164__ELABORATED THEN ieee__std_logic_1164__ELAB_BODY (); END IF; END; PUBLIC PROCEDURE work__inc_ent__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR) DECLARE BEGIN --# 4 --# 4 END; PUBLIC PROCEDURE work__inc_ent__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR) DECLARE BEGIN --# 4 END; --F /Users/gingold/devel/ghdl/testsuite/gna/issue626/top.vhdl -- architecture default TYPE work__inc_ent__ARCH__default__INSTTYPE IS RECORD; TYPE work__inc_ent__ARCH__default__INSTPTR IS ACCESS work__inc_ent__ARCH__default__INSTTYPE; TYPE work__inc_ent__ARCH__default__P0__INSTTYPE IS RECORD END RECORD; TYPE work__inc_ent__ARCH__default__INSTTYPE IS RECORD ENTITY: work__inc_ent__INSTTYPE; P0: work__inc_ent__ARCH__default__P0__INSTTYPE; END RECORD; PUBLIC CONSTANT work__inc_ent__ARCH__default__INSTSIZE : __ghdl_index_type; CONSTANT work__inc_ent__ARCH__default__INSTSIZE := __ghdl_index_type'sizeof ( work__inc_ent__ARCH__default__INSTTYPE); PUBLIC PROCEDURE work__inc_ent__ARCH__default__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR); PUBLIC PROCEDURE work__inc_ent__ARCH__default__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR); PUBLIC CONSTANT work__inc_ent__ARCH__default__RTI : __ghdl_rtin_block_file; PUBLIC CONSTANT work__inc_ent__ARCH__default__P0__RTI : __ghdl_rtin_block; PRIVATE CONSTANT work__inc_ent__ARCH__default__P0__RTISTR : SUBARRAY __ghdl_chararray[3]; CONSTANT work__inc_ent__ARCH__default__P0__RTISTR := {80, 48, 0}; PRIVATE CONSTANT work__inc_ent__ARCH__default__P0__RTIARRAY : SUBARRAY __ghdl_rti_array[1]; CONSTANT work__inc_ent__ARCH__default__P0__RTIARRAY := {__ghdl_rti_access'[NULL]}; CONSTANT work__inc_ent__ARCH__default__P0__RTI := { {__ghdl_rtik'[__ghdl_rtik_process], 2, 0, 0}, __ghdl_char_ptr'address (work__inc_ent__ARCH__default__P0__RTISTR), __ghdl_ptr'offsetof (work__inc_ent__ARCH__default__INSTTYPE.P0), 3080, __ghdl_rti_access'unchecked_address (work__inc_ent__ARCH__default__RTI), 0, __ghdl_rti_arr_acc'address (work__inc_ent__ARCH__default__P0__RTIARRAY)}; PRIVATE CONSTANT work__inc_ent__ARCH__default__RTISTR : SUBARRAY __ghdl_chararray[8]; CONSTANT work__inc_ent__ARCH__default__RTISTR := {100, 101, 102, 97, 117, 108, 116, 0}; PRIVATE CONSTANT work__inc_ent__ARCH__default__RTIARRAY : SUBARRAY __ghdl_rti_array[2]; CONSTANT work__inc_ent__ARCH__default__RTIARRAY := {__ghdl_rti_access'unchecked_address (work__inc_ent__ARCH__default__P0__RTI) , __ghdl_rti_access'[NULL]}; CONSTANT work__inc_ent__ARCH__default__RTI := {{ {__ghdl_rtik'[__ghdl_rtik_architecture], 1, 0, 0}, __ghdl_char_ptr'address (work__inc_ent__ARCH__default__RTISTR), __ghdl_ptr'offsetof (work__inc_ent__ARCH__default__INSTTYPE.ENTITY), 2574, __ghdl_rti_access'unchecked_address (work__inc_ent__RTI), 1, __ghdl_rti_arr_acc'address (work__inc_ent__ARCH__default__RTIARRAY)}, __ghdl_char_ptr'address (_UI00000000)}; PRIVATE PROCEDURE work__inc_ent__ARCH__default__P0__PROC ( INSTANCE: work__inc_ent__ARCH__default__INSTPTR) DECLARE PRIVATE CONSTANT _UI00000001 : __ghdl_location; CONSTANT _UI00000001 := {__ghdl_char_ptr'address (_UI00000000), 12, 8}; BEGIN --# 12 DECLARE LOCAL VAR T0_0 : std__standard__string__BOUND; LOCAL VAR T0_1 : std__standard__string__BASEP; LOCAL VAR T0_2 : std__standard__string; LOCAL VAR T0_3 : std__standard__string; LOCAL VAR T0_4 : __ghdl_ptr; LOCAL VAR T0_5 : std__standard__string__PTR; LOCAL VAR T0_6 : std__standard__string; LOCAL VAR T0_7 : std__standard__string__PTR; LOCAL VAR T0_8 : __ghdl_index_type; BEGIN T0_2.BOUNDS := std__standard__string__BOUNDP'address (T0_0); T0_4 := __ghdl_stack2_mark (); __ghdl_image_i32 (std__standard__string__PTR'address (T0_3), __ghdl_i32 'conv (INSTANCE.ALL.ENTITY.works)); T0_5 := std__standard__string__PTR'address (T0_3); __ghdl_image_i32 (std__standard__string__PTR'address (T0_6), __ghdl_i32 'conv (std__standard__integer__BT'conv (INSTANCE.ALL.ENTITY.vec.BOUNDS. ALL.dim_1.length))); T0_7 := std__standard__string__PTR'address (T0_6); T0_8 := ((__ghdl_index_type'[1] +# T0_5.ALL.BOUNDS.ALL.dim_1.length) +# T0_7.ALL.BOUNDS.ALL.dim_1.length); DECLARE LOCAL VAR T1_0 : std__standard__integer__BT__TRPTR; LOCAL VAR right_bound : std__standard__integer__BT; BEGIN T1_0 := std__standard__integer__BT__TRPTR'address (T0_0.dim_1); T1_0.ALL.length := T0_8; T1_0.ALL.dir := __ghdl_dir_type'[dir_to]; IF __ghdl_bool_type'(T0_8 = 0) THEN T1_0.ALL.left := std__standard__integer__BT'conv ( std__standard__integer__BT'[2147483647]); T1_0.ALL.right := std__standard__integer__BT'conv ( std__standard__integer__BT'[1]); ELSE T1_0.ALL.left := std__standard__integer__BT'conv ( std__standard__integer__BT'[1]); right_bound := (std__standard__integer__BT'conv ( std__standard__integer__BT'[1]) +# std__standard__integer__BT'conv (( T0_8 -# 1))); IF __ghdl_bool_type'(right_bound < 1) THEN __ghdl_bound_check_failed (__ghdl_char_ptr'address (_UI00000000), 12) ; END IF; T1_0.ALL.right := right_bound; END IF; END; T0_1 := std__standard__string__BASEP'alloca ((T0_2.BOUNDS.ALL.dim_1.length *# __ghdl_index_type'sizeof (std__standard__character))); T0_2.BASE := T0_1; DECLARE LOCAL VAR T1_0 : __ghdl_index_type; TYPE work__inc_ent__ARCH__default__P0__U0 IS SUBARRAY std__standard__string__BASE[1]; PRIVATE CONSTANT work__inc_ent__ARCH__default__P0__U0__STB : std__standard__string__BOUND; CONSTANT work__inc_ent__ARCH__default__P0__U0__STB := {{1, 1, __ghdl_dir_type'[dir_to], 1}}; PRIVATE CONSTANT _UI00000002 : work__inc_ent__ARCH__default__P0__U0; CONSTANT _UI00000002 := {std__standard__character'[C20]}; PRIVATE CONSTANT _UI00000003 : std__standard__string; CONSTANT _UI00000003 := {std__standard__string__BASEP'address (_UI00000002), std__standard__string__BOUNDP'address ( work__inc_ent__ARCH__default__P0__U0__STB)}; BEGIN T1_0 := 0; DECLARE LOCAL VAR T2_0 : std__standard__string; BEGIN T2_0.BOUNDS := T0_5.ALL.BOUNDS; T2_0.BASE := std__standard__string__BASEP'address (T0_1.ALL[T1_0...]); __ghdl_memcpy (__ghdl_ptr'conv (T2_0.BASE), __ghdl_ptr'conv (T0_5.ALL. BASE), (T2_0.BOUNDS.ALL.dim_1.length *# __ghdl_index_type'sizeof ( std__standard__character))); T1_0 := (T1_0 +# T0_5.ALL.BOUNDS.ALL.dim_1.length); END; DECLARE LOCAL VAR T2_0 : std__standard__string__PTR; LOCAL VAR T2_1 : std__standard__string; BEGIN T2_0 := std__standard__string__PTR'address (_UI00000003); T2_1.BOUNDS := T2_0.ALL.BOUNDS; T2_1.BASE := std__standard__string__BASEP'address (T0_1.ALL[T1_0...]); __ghdl_memcpy (__ghdl_ptr'conv (T2_1.BASE), __ghdl_ptr'conv (T2_0.ALL. BASE), (T2_1.BOUNDS.ALL.dim_1.length *# __ghdl_index_type'sizeof ( std__standard__character))); T1_0 := (T1_0 +# T2_0.ALL.BOUNDS.ALL.dim_1.length); END; DECLARE LOCAL VAR T2_0 : std__standard__string; BEGIN T2_0.BOUNDS := T0_7.ALL.BOUNDS; T2_0.BASE := std__standard__string__BASEP'address (T0_1.ALL[T1_0...]); __ghdl_memcpy (__ghdl_ptr'conv (T2_0.BASE), __ghdl_ptr'conv (T0_7.ALL. BASE), (T2_0.BOUNDS.ALL.dim_1.length *# __ghdl_index_type'sizeof ( std__standard__character))); T1_0 := (T1_0 +# T0_7.ALL.BOUNDS.ALL.dim_1.length); END; END; __ghdl_assert_failed (std__standard__string__PTR'address (T0_2), std__standard__severity_level'[error], __ghdl_location_ptr'address ( _UI00000001)); __ghdl_stack2_release (T0_4); END; END; PUBLIC PROCEDURE work__inc_ent__ARCH__default__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR) DECLARE LOCAL VAR ARCH_INSTANCE : work__inc_ent__ARCH__default__INSTPTR; BEGIN ARCH_INSTANCE := work__inc_ent__ARCH__default__INSTPTR'conv (INSTANCE); INSTANCE.ALL.RTI.rti := __ghdl_rti_access'unchecked_address ( work__inc_ent__ARCH__default__RTI); work__inc_ent__DECL_ELAB (INSTANCE); --# 10 --# 10 END; PUBLIC PROCEDURE work__inc_ent__ARCH__default__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR) DECLARE LOCAL VAR ARCH_INSTANCE : work__inc_ent__ARCH__default__INSTPTR; BEGIN ARCH_INSTANCE := work__inc_ent__ARCH__default__INSTPTR'conv (INSTANCE); work__inc_ent__STMT_ELAB (INSTANCE); --# 10 --# 12 __ghdl_sensitized_process_register (__ghdl_ptr'unchecked_address ( ARCH_INSTANCE.ALL), __ghdl_ptr'subprg_addr ( work__inc_ent__ARCH__default__P0__PROC), __ghdl_rti_access 'unchecked_address (work__inc_ent__ARCH__default__P0__RTI), __ghdl_ptr 'unchecked_address (ARCH_INSTANCE.ALL.P0)); END; --F /Users/gingold/devel/ghdl/testsuite/gna/issue626/top.vhdl -- entity top_ent TYPE work__top_ent__INSTTYPE IS RECORD; TYPE work__top_ent__INSTPTR IS ACCESS work__top_ent__INSTTYPE; TYPE work__top_ent__INSTTYPE IS RECORD RTI: __ghdl_entity_link_type; END RECORD; PUBLIC PROCEDURE work__top_ent__DECL_ELAB ( INSTANCE: work__top_ent__INSTPTR); PUBLIC PROCEDURE work__top_ent__STMT_ELAB ( INSTANCE: work__top_ent__INSTPTR); PUBLIC PROCEDURE work__top_ent__PKG_ELAB ( ); PUBLIC CONSTANT work__top_ent__RTI : __ghdl_rtin_block_file; PRIVATE CONSTANT work__top_ent__RTISTR : SUBARRAY __ghdl_chararray[8]; CONSTANT work__top_ent__RTISTR := {116, 111, 112, 95, 101, 110, 116, 0}; PRIVATE CONSTANT work__top_ent__RTIARRAY : SUBARRAY __ghdl_rti_array[1]; CONSTANT work__top_ent__RTIARRAY := {__ghdl_rti_access'[NULL]}; CONSTANT work__top_ent__RTI := {{{__ghdl_rtik'[__ghdl_rtik_entity], 1, 0, 0}, __ghdl_char_ptr'address (work__top_ent__RTISTR), __ghdl_ptr'[NULL], 4616, __ghdl_rti_access'unchecked_address (work__RTI), 0, __ghdl_rti_arr_acc'address (work__top_ent__RTIARRAY)}, __ghdl_char_ptr'address (_UI00000000)}; PUBLIC PROCEDURE work__top_ent__PKG_ELAB ( ) DECLARE BEGIN --# 18 IF NOT ieee__std_logic_1164__ELABORATED THEN ieee__std_logic_1164__ELAB_BODY (); END IF; END; PUBLIC PROCEDURE work__top_ent__DECL_ELAB ( INSTANCE: work__top_ent__INSTPTR) DECLARE BEGIN --# 18 --# 18 END; PUBLIC PROCEDURE work__top_ent__STMT_ELAB ( INSTANCE: work__top_ent__INSTPTR) DECLARE BEGIN --# 18 END; --F /Users/gingold/devel/ghdl/testsuite/gna/issue626/top.vhdl -- architecture default TYPE work__top_ent__ARCH__default__INSTTYPE IS RECORD; TYPE work__top_ent__ARCH__default__INSTPTR IS ACCESS work__top_ent__ARCH__default__INSTTYPE; TYPE work__top_ent__ARCH__default__foo_v__OT IS SUBARRAY ieee__std_logic_1164__std_logic_vector__BASE[13]; PUBLIC CONSTANT work__top_ent__ARCH__default__foo_v__OT__STB : ieee__std_logic_1164__std_logic_vector__BOUND; CONSTANT work__top_ent__ARCH__default__foo_v__OT__STB := {{0, 12, __ghdl_dir_type'[dir_to], 13}}; PUBLIC CONSTANT work__top_ent__ARCH__default__g__ix__OT__STR : std__standard__integer__BT__TRT; CONSTANT work__top_ent__ARCH__default__g__ix__OT__STR := {0, 4, __ghdl_dir_type'[dir_to], 5}; TYPE work__top_ent__ARCH__default__g__INSTTYPE IS RECORD; TYPE work__top_ent__ARCH__default__g__INSTPTR IS ACCESS work__top_ent__ARCH__default__g__INSTTYPE; TYPE work__top_ent__ARCH__default__g__INSTTYPE IS RECORD ORIGIN: work__top_ent__ARCH__default__INSTPTR; CONFIGURED: __ghdl_bool_type; ix: std__standard__integer__BT; foo_v__OT__SIZE: __ghdl_index_type; foo_v__OT__STB: ieee__std_logic_1164__std_logic_vector__BOUND; foo_v: ieee__std_logic_1164__std_logic_vector__BASEP; inst: __ghdl_component_link_type; inst2: __ghdl_component_link_type; END RECORD; TYPE work__top_ent__ARCH__default__g__INSTARRTYPE IS ARRAY [__ghdl_index_type] OF work__top_ent__ARCH__default__g__INSTTYPE; TYPE work__top_ent__ARCH__default__g__INSTARRPTR IS ACCESS work__top_ent__ARCH__default__g__INSTARRTYPE; TYPE work__top_ent__ARCH__default__INSTTYPE IS RECORD ENTITY: work__top_ent__INSTTYPE; foo_v: work__top_ent__ARCH__default__foo_v__OT; g: work__top_ent__ARCH__default__g__INSTARRPTR; END RECORD; PUBLIC CONSTANT work__top_ent__ARCH__default__INSTSIZE : __ghdl_index_type; CONSTANT work__top_ent__ARCH__default__INSTSIZE := __ghdl_index_type'sizeof ( work__top_ent__ARCH__default__INSTTYPE); PUBLIC PROCEDURE work__top_ent__ARCH__default__DECL_ELAB ( INSTANCE: work__top_ent__INSTPTR); PUBLIC PROCEDURE work__top_ent__ARCH__default__STMT_ELAB ( INSTANCE: work__top_ent__INSTPTR); PUBLIC CONSTANT work__top_ent__ARCH__default__RTI : __ghdl_rtin_block_file; PUBLIC CONSTANT work__top_ent__ARCH__default__foo_v__RTI : __ghdl_rtin_object; PUBLIC CONSTANT work__top_ent__ARCH__default__foo_v__OT__RTI : __ghdl_rtin_subtype_composite; CONSTANT work__top_ent__ARCH__default__foo_v__OT__RTI := { {__ghdl_rtik'[__ghdl_rtik_subtype_array], 0, 2, 0}, __ghdl_char_ptr'[NULL], __ghdl_rti_access'unchecked_address ( ieee__std_logic_1164__std_logic_vector__RTI), __ghdl_ptr'unchecked_address (work__top_ent__ARCH__default__foo_v__OT__STB) , __ghdl_ptr'sizeof (work__top_ent__ARCH__default__foo_v__OT), __ghdl_ptr'[NULL]}; PRIVATE CONSTANT work__top_ent__ARCH__default__foo_v__RTISTR : SUBARRAY __ghdl_chararray[6]; CONSTANT work__top_ent__ARCH__default__foo_v__RTISTR := {102, 111, 111, 95, 118, 0}; CONSTANT work__top_ent__ARCH__default__foo_v__RTI := { {__ghdl_rtik'[__ghdl_rtik_constant], 1, 0, 0}, __ghdl_char_ptr'unchecked_address ( work__top_ent__ARCH__default__foo_v__RTISTR), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__INSTTYPE.foo_v), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__foo_v__OT__RTI), 5393}; PUBLIC CONSTANT work__top_ent__ARCH__default__g__ITERATOR__RTI : __ghdl_rtin_subtype_scalar; CONSTANT work__top_ent__ARCH__default__g__ITERATOR__RTI := { {__ghdl_rtik'[__ghdl_rtik_subtype_scalar], 0, 0, 0}, __ghdl_char_ptr'[NULL], __ghdl_rti_access'unchecked_address (std__standard__integer__BT__RTI), __ghdl_ptr'unchecked_address (work__top_ent__ARCH__default__g__ix__OT__STR)} ; PUBLIC CONSTANT work__top_ent__ARCH__default__g__RTI : __ghdl_rtin_generate; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__RTI : __ghdl_rtin_block; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__ix__RTI : __ghdl_rtin_object; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__ix__RTISTR : SUBARRAY __ghdl_chararray[3]; CONSTANT work__top_ent__ARCH__default__g__BOD__ix__RTISTR := {105, 120, 0}; CONSTANT work__top_ent__ARCH__default__g__BOD__ix__RTI := { {__ghdl_rtik'[__ghdl_rtik_iterator], 3, 0, 0}, __ghdl_char_ptr'unchecked_address ( work__top_ent__ARCH__default__g__BOD__ix__RTISTR), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE.ix), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__ITERATOR__RTI), 5904}; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__RTI : __ghdl_rtin_object; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__OT__RTI : __ghdl_rtin_subtype_composite; CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__OT__RTI := { {__ghdl_rtik'[__ghdl_rtik_subtype_array], 3, 3, 3}, __ghdl_char_ptr'[NULL], __ghdl_rti_access'unchecked_address ( ieee__std_logic_1164__std_logic_vector__RTI), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE. foo_v__OT__STB), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE. foo_v__OT__SIZE), __ghdl_ptr'[NULL]}; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__RTISTR : SUBARRAY __ghdl_chararray[6]; CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__RTISTR := {102, 111, 111, 95, 118, 0}; CONSTANT work__top_ent__ARCH__default__g__BOD__foo_v__RTI := { {__ghdl_rtik'[__ghdl_rtik_constant], 3, 0, 0}, __ghdl_char_ptr'unchecked_address ( work__top_ent__ARCH__default__g__BOD__foo_v__RTISTR), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE.foo_v), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__foo_v__OT__RTI), 6169}; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__inst__RTISTR : SUBARRAY __ghdl_chararray[5]; CONSTANT work__top_ent__ARCH__default__g__BOD__inst__RTISTR := {105, 110, 115, 116, 0}; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__inst__RTI : __ghdl_rtin_instance; CONSTANT work__top_ent__ARCH__default__g__BOD__inst__RTI := { {__ghdl_rtik'[__ghdl_rtik_instance], 3, 0, 0}, __ghdl_char_ptr'address (work__top_ent__ARCH__default__g__BOD__inst__RTISTR) , 6928, __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE.inst), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__RTI), __ghdl_rti_access'unchecked_address (work__inc_ent__RTI)}; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__inst2__RTISTR : SUBARRAY __ghdl_chararray[6]; CONSTANT work__top_ent__ARCH__default__g__BOD__inst2__RTISTR := {105, 110, 115, 116, 50, 0}; PUBLIC CONSTANT work__top_ent__ARCH__default__g__BOD__inst2__RTI : __ghdl_rtin_instance; CONSTANT work__top_ent__ARCH__default__g__BOD__inst2__RTI := { {__ghdl_rtik'[__ghdl_rtik_instance], 3, 0, 0}, __ghdl_char_ptr'address (work__top_ent__ARCH__default__g__BOD__inst2__RTISTR ), 8208, __ghdl_ptr'offsetof (work__top_ent__ARCH__default__g__INSTTYPE.inst2), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__RTI), __ghdl_rti_access'unchecked_address (work__inc_ent__RTI)}; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__RTISTR : SUBARRAY __ghdl_chararray[1]; CONSTANT work__top_ent__ARCH__default__g__BOD__RTISTR := {0}; PRIVATE CONSTANT work__top_ent__ARCH__default__g__BOD__RTIARRAY : SUBARRAY __ghdl_rti_array[5]; CONSTANT work__top_ent__ARCH__default__g__BOD__RTIARRAY := {__ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__ix__RTI), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__foo_v__RTI), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__inst__RTI), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__inst2__RTI), __ghdl_rti_access'[NULL]}; CONSTANT work__top_ent__ARCH__default__g__BOD__RTI := { {__ghdl_rtik'[__ghdl_rtik_generate_body], 3, 0, 0}, __ghdl_char_ptr'address (work__top_ent__ARCH__default__g__BOD__RTISTR), __ghdl_ptr'[NULL], 6160, __ghdl_rti_access'unchecked_address (work__top_ent__ARCH__default__g__RTI), 4, __ghdl_rti_arr_acc'address (work__top_ent__ARCH__default__g__BOD__RTIARRAY)} ; PRIVATE CONSTANT work__top_ent__ARCH__default__g__RTISTR : SUBARRAY __ghdl_chararray[2]; CONSTANT work__top_ent__ARCH__default__g__RTISTR := {103, 0}; CONSTANT work__top_ent__ARCH__default__g__RTI := { {__ghdl_rtik'[__ghdl_rtik_for_generate], 2, 0, 0}, __ghdl_char_ptr'address (work__top_ent__ARCH__default__g__RTISTR), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__INSTTYPE.g), 5896, __ghdl_rti_access'unchecked_address (work__top_ent__ARCH__default__RTI), __ghdl_index_type'sizeof (work__top_ent__ARCH__default__g__INSTTYPE), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__RTI)}; PRIVATE CONSTANT work__top_ent__ARCH__default__RTISTR : SUBARRAY __ghdl_chararray[8]; CONSTANT work__top_ent__ARCH__default__RTISTR := {100, 101, 102, 97, 117, 108, 116, 0}; PRIVATE CONSTANT work__top_ent__ARCH__default__RTIARRAY : SUBARRAY __ghdl_rti_array[4]; CONSTANT work__top_ent__ARCH__default__RTIARRAY := {__ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__foo_v__RTI), __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__ITERATOR__RTI), __ghdl_rti_access'unchecked_address (work__top_ent__ARCH__default__g__RTI), __ghdl_rti_access'[NULL]}; CONSTANT work__top_ent__ARCH__default__RTI := {{ {__ghdl_rtik'[__ghdl_rtik_architecture], 1, 0, 0}, __ghdl_char_ptr'address (work__top_ent__ARCH__default__RTISTR), __ghdl_ptr'offsetof (work__top_ent__ARCH__default__INSTTYPE.ENTITY), 5134, __ghdl_rti_access'unchecked_address (work__top_ent__RTI), 3, __ghdl_rti_arr_acc'address (work__top_ent__ARCH__default__RTIARRAY)}, __ghdl_char_ptr'address (_UI00000000)}; PRIVATE PROCEDURE work__top_ent__ARCH__default__g__inst__COMP_ELAB ( INSTANCE: work__top_ent__ARCH__default__g__INSTPTR) DECLARE EXTERNAL CONSTANT work__inc_ent__LASTARCH__INSTSIZE : __ghdl_index_type; EXTERNAL PROCEDURE work__inc_ent__LASTARCH__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR); EXTERNAL PROCEDURE work__inc_ent__LASTARCH__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR); EXTERNAL PROCEDURE work__inc_ent__LASTARCH__DEFAULT_CONFIG ( INSTANCE: work__inc_ent__INSTPTR); LOCAL VAR SUB_INSTANCE : work__inc_ent__INSTPTR; LOCAL VAR U0__SIZE : __ghdl_index_type; LOCAL VAR U0__STB : ieee__std_logic_1164__std_logic_vector__BOUND; BEGIN --# 27 INSTANCE.ALL.inst.stmt := __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__inst__RTI); SUB_INSTANCE := work__inc_ent__INSTPTR'conv (__ghdl_malloc0 ( work__inc_ent__LASTARCH__INSTSIZE)); INSTANCE.ALL.inst.INSTANCE := __ghdl_entity_link_acc'address (SUB_INSTANCE. ALL.RTI); SUB_INSTANCE.ALL.RTI.parent := __ghdl_component_link_acc'address (INSTANCE. ALL.inst); work__inc_ent__PKG_ELAB (); SUB_INSTANCE.ALL.works := 0; DECLARE LOCAL VAR T2_0 : std__standard__integer__BT__TRPTR; BEGIN T2_0 := std__standard__integer__BT__TRPTR'address (U0__STB.dim_1); T2_0.ALL.left := std__standard__integer__BT'conv ( std__standard__integer__BT'[0]); T2_0.ALL.right := std__standard__integer__BT'conv (INSTANCE.ALL.ix); T2_0.ALL.dir := __ghdl_dir_type'[dir_to]; DECLARE LOCAL VAR T4_0 : __ghdl_index_type; BEGIN DECLARE LOCAL VAR T5_0 : __ghdl_i32; BEGIN T5_0 := (__ghdl_i32'conv (T2_0.ALL.right) -# __ghdl_i32'conv (T2_0.ALL. left)); IF __ghdl_bool_type'(T5_0 < 0) THEN T4_0 := 0; ELSE T4_0 := (__ghdl_index_type'conv (T5_0) +# 1); END IF; END; T2_0.ALL.length := T4_0; END; END; U0__SIZE := (U0__STB.dim_1.length *# __ghdl_index_type'sizeof ( ieee__std_logic_1164__std_ulogic)); DECLARE LOCAL VAR T0_0 : ieee__std_logic_1164__std_logic_vector__PTR; BEGIN T0_0 := ieee__std_logic_1164__std_logic_vector__PTR'address (SUB_INSTANCE. ALL.vec); T0_0.ALL.BOUNDS := ieee__std_logic_1164__std_logic_vector__BOUNDP'address ( U0__STB); T0_0.ALL.BASE := ieee__std_logic_1164__std_logic_vector__BASEP'conv ( __ghdl_malloc0 ((T0_0.ALL.BOUNDS.ALL.dim_1.length *# __ghdl_index_type 'sizeof (ieee__std_logic_1164__std_ulogic)))); DECLARE LOCAL VAR T1_0 : ieee__std_logic_1164__std_logic_vector__BASEP; LOCAL VAR T1_1 : ieee__std_logic_1164__std_logic_vector__BOUNDP; LOCAL VAR T1_2 : __ghdl_index_type; BEGIN T1_0 := T0_0.ALL.BASE; T1_1 := T0_0.ALL.BOUNDS; DECLARE LOCAL VAR T2_0 : std__standard__integer__BT__TRT; BEGIN T2_0.left := std__standard__integer__BT'conv ( std__standard__integer__BT'[0]); T2_0.right := std__standard__integer__BT'conv (INSTANCE.ALL.ix); T2_0.dir := __ghdl_dir_type'[dir_to]; DECLARE LOCAL VAR T4_0 : __ghdl_index_type; BEGIN DECLARE LOCAL VAR T5_0 : __ghdl_i32; BEGIN T5_0 := (__ghdl_i32'conv (T2_0.right) -# __ghdl_i32'conv (T2_0.left )); IF __ghdl_bool_type'(T5_0 < 0) THEN T4_0 := 0; ELSE T4_0 := (__ghdl_index_type'conv (T5_0) +# 1); END IF; END; T2_0.length := T4_0; END; IF __ghdl_bool_type'(T2_0.length /= T1_1.ALL.dim_1.length) THEN __ghdl_bound_check_failed (__ghdl_char_ptr'address (_UI00000000), 30) ; END IF; END; T1_2 := 0; DECLARE LOCAL VAR T2_0 : __ghdl_index_type; LOCAL VAR T2_1 : __ghdl_index_type; LOCAL VAR T2_2 : __ghdl_index_type; BEGIN DECLARE LOCAL VAR T3_0 : __ghdl_i32; BEGIN T3_0 := (__ghdl_i32'conv (INSTANCE.ALL.ix) -# __ghdl_i32'conv ( std__standard__integer__BT'[0])); IF __ghdl_bool_type'(T3_0 < 0) THEN T2_0 := 0; ELSE T2_0 := (__ghdl_index_type'conv (T3_0) +# 1); END IF; END; T2_1 := T2_0; T2_2 := 0; LOOP 1: IF __ghdl_bool_type'(T2_2 = T2_1) THEN EXIT LOOP 1; END IF; T1_0.ALL[T1_2] := ieee__std_logic_1164__std_ulogic'[C_1]; T1_2 := (T1_2 +# 1); T2_2 := (T2_2 +# 1); END LOOP; END; END; END; work__inc_ent__LASTARCH__DECL_ELAB (SUB_INSTANCE); work__inc_ent__LASTARCH__STMT_ELAB (SUB_INSTANCE); work__inc_ent__LASTARCH__DEFAULT_CONFIG (work__inc_ent__INSTPTR'conv ( SUB_INSTANCE)); END; PRIVATE PROCEDURE work__top_ent__ARCH__default__g__inst2__COMP_ELAB ( INSTANCE: work__top_ent__ARCH__default__g__INSTPTR) DECLARE EXTERNAL CONSTANT work__inc_ent__LASTARCH__INSTSIZE : __ghdl_index_type; EXTERNAL PROCEDURE work__inc_ent__LASTARCH__DECL_ELAB ( INSTANCE: work__inc_ent__INSTPTR); EXTERNAL PROCEDURE work__inc_ent__LASTARCH__STMT_ELAB ( INSTANCE: work__inc_ent__INSTPTR); EXTERNAL PROCEDURE work__inc_ent__LASTARCH__DEFAULT_CONFIG ( INSTANCE: work__inc_ent__INSTPTR); LOCAL VAR SUB_INSTANCE : work__inc_ent__INSTPTR; BEGIN --# 32 INSTANCE.ALL.inst2.stmt := __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__g__BOD__inst2__RTI); SUB_INSTANCE := work__inc_ent__INSTPTR'conv (__ghdl_malloc0 ( work__inc_ent__LASTARCH__INSTSIZE)); INSTANCE.ALL.inst2.INSTANCE := __ghdl_entity_link_acc'address (SUB_INSTANCE. ALL.RTI); SUB_INSTANCE.ALL.RTI.parent := __ghdl_component_link_acc'address (INSTANCE. ALL.inst2); work__inc_ent__PKG_ELAB (); SUB_INSTANCE.ALL.works := 1; DECLARE LOCAL VAR T0_0 : ieee__std_logic_1164__std_logic_vector; LOCAL VAR T0_1 : ieee__std_logic_1164__std_logic_vector__BASEP; LOCAL VAR T0_2 : ieee__std_logic_1164__std_logic_vector__PTR; LOCAL VAR T0_3 : ieee__std_logic_1164__std_logic_vector__PTR; BEGIN T0_1 := INSTANCE.ALL.foo_v; T0_0.BASE := ieee__std_logic_1164__std_logic_vector__BASEP'conv (T0_1); T0_0.BOUNDS := ieee__std_logic_1164__std_logic_vector__BOUNDP'address ( INSTANCE.ALL.foo_v__OT__STB); T0_2 := ieee__std_logic_1164__std_logic_vector__PTR'address (SUB_INSTANCE. ALL.vec); T0_3 := ieee__std_logic_1164__std_logic_vector__PTR'address (T0_0); T0_2.ALL.BOUNDS := ieee__std_logic_1164__std_logic_vector__BOUNDP'conv ( __ghdl_malloc0 (__ghdl_index_type'sizeof ( ieee__std_logic_1164__std_logic_vector__BOUND))); __ghdl_memcpy (__ghdl_ptr'conv (T0_2.ALL.BOUNDS), __ghdl_ptr'conv (T0_3.ALL .BOUNDS), __ghdl_index_type'sizeof ( ieee__std_logic_1164__std_logic_vector__BOUND)); T0_2.ALL.BASE := ieee__std_logic_1164__std_logic_vector__BASEP'conv ( __ghdl_malloc0 ((T0_2.ALL.BOUNDS.ALL.dim_1.length *# __ghdl_index_type 'sizeof (ieee__std_logic_1164__std_ulogic)))); __ghdl_memcpy (__ghdl_ptr'conv (T0_2.ALL.BASE), __ghdl_ptr'conv (T0_3.ALL. BASE), (T0_2.ALL.BOUNDS.ALL.dim_1.length *# __ghdl_index_type'sizeof ( ieee__std_logic_1164__std_ulogic))); END; work__inc_ent__LASTARCH__DECL_ELAB (SUB_INSTANCE); work__inc_ent__LASTARCH__STMT_ELAB (SUB_INSTANCE); work__inc_ent__LASTARCH__DEFAULT_CONFIG (work__inc_ent__INSTPTR'conv ( SUB_INSTANCE)); END; PUBLIC PROCEDURE work__top_ent__ARCH__default__DECL_ELAB ( INSTANCE: work__top_ent__INSTPTR) DECLARE LOCAL VAR ARCH_INSTANCE : work__top_ent__ARCH__default__INSTPTR; BEGIN ARCH_INSTANCE := work__top_ent__ARCH__default__INSTPTR'conv (INSTANCE); INSTANCE.ALL.RTI.rti := __ghdl_rti_access'unchecked_address ( work__top_ent__ARCH__default__RTI); work__top_ent__DECL_ELAB (INSTANCE); --# 20 --# 20 --# 21 DECLARE LOCAL VAR T1_0 : ieee__std_logic_1164__std_logic_vector__BASEP; LOCAL VAR T1_1 : __ghdl_index_type; LOCAL VAR T1_2 : __ghdl_index_type; BEGIN T1_0 := ieee__std_logic_1164__std_logic_vector__BASEP'address ( ARCH_INSTANCE.ALL.foo_v); T1_1 := 13; T1_2 := 0; LOOP 1: IF __ghdl_bool_type'(T1_2 = T1_1) THEN EXIT LOOP 1; END IF; T1_0.ALL[T1_2] := ieee__std_logic_1164__std_ulogic'[C_1]; T1_2 := (T1_2 +# 1); END LOOP; END; DECLARE LOCAL VAR T0_0 : std__standard__integer__BT__TRPTR; LOCAL VAR T0_1 : work__top_ent__ARCH__default__g__INSTARRPTR; LOCAL VAR T0_2 : __ghdl_index_type; LOCAL VAR T0_3 : work__top_ent__ARCH__default__g__INSTPTR; LOCAL VAR T0_4 : std__standard__integer__BT; BEGIN T0_0 := std__standard__integer__BT__TRPTR'address ( work__top_ent__ARCH__default__g__ix__OT__STR); T0_1 := work__top_ent__ARCH__default__g__INSTARRPTR'conv (__ghdl_malloc0 (( T0_0.ALL.length *# __ghdl_index_type'sizeof ( work__top_ent__ARCH__default__g__INSTTYPE)))); ARCH_INSTANCE.ALL.g := T0_1; T0_2 := 0; LOOP 1: IF __ghdl_bool_type'(T0_2 = T0_0.ALL.length) THEN EXIT LOOP 1; END IF; T0_3 := work__top_ent__ARCH__default__g__INSTPTR'address (T0_1.ALL[T0_2]) ; T0_3.ALL.ORIGIN := ARCH_INSTANCE; T0_3.ALL.CONFIGURED := __ghdl_bool_type'[false]; IF __ghdl_bool_type'(T0_0.ALL.dir = __ghdl_dir_type'[dir_to]) THEN T0_4 := T0_0.ALL.left; ELSE T0_4 := T0_0.ALL.right; END IF; T0_3.ALL.ix := (T0_4 +# std__standard__integer__BT'conv (T0_2)); --# 24 --# 24 DECLARE LOCAL VAR T3_0 : std__standard__integer__BT__TRPTR; BEGIN T3_0 := std__standard__integer__BT__TRPTR'address (T0_3.ALL. foo_v__OT__STB.dim_1); T3_0.ALL.left := std__standard__integer__BT'conv ( std__standard__integer__BT'[0]); T3_0.ALL.right := std__standard__integer__BT'conv (T0_3.ALL.ix); T3_0.ALL.dir := __ghdl_dir_type'[dir_to]; DECLARE LOCAL VAR T5_0 : __ghdl_index_type; BEGIN DECLARE LOCAL VAR T6_0 : __ghdl_i32; BEGIN T6_0 := (__ghdl_i32'conv (T3_0.ALL.right) -# __ghdl_i32'conv (T3_0. ALL.left)); IF __ghdl_bool_type'(T6_0 < 0) THEN T5_0 := 0; ELSE T5_0 := (__ghdl_index_type'conv (T6_0) +# 1); END IF; END; T3_0.ALL.length := T5_0; END; END; T0_3.ALL.foo_v__OT__SIZE := (T0_3.ALL.foo_v__OT__STB.dim_1.length *# __ghdl_index_type'sizeof (ieee__std_logic_1164__std_ulogic)); T0_3.ALL.foo_v := ieee__std_logic_1164__std_logic_vector__BASEP'conv ( __ghdl_malloc0 (T0_3.ALL.foo_v__OT__SIZE)); DECLARE LOCAL VAR T2_0 : ieee__std_logic_1164__std_logic_vector__BASEP; LOCAL VAR T2_1 : __ghdl_index_type; LOCAL VAR T2_2 : __ghdl_index_type; BEGIN T2_0 := T0_3.ALL.foo_v; T2_1 := T0_3.ALL.foo_v__OT__STB.dim_1.length; T2_2 := 0; LOOP 2: IF __ghdl_bool_type'(T2_2 = T2_1) THEN EXIT LOOP 2; END IF; T2_0.ALL[T2_2] := ieee__std_logic_1164__std_ulogic'[C_1]; T2_2 := (T2_2 +# 1); END LOOP; END; work__top_ent__ARCH__default__g__inst__COMP_ELAB (T0_3); work__top_ent__ARCH__default__g__inst2__COMP_ELAB (T0_3); T0_2 := (T0_2 +# 1); END LOOP; END; END; PUBLIC PROCEDURE work__top_ent__ARCH__default__STMT_ELAB ( INSTANCE: work__top_ent__INSTPTR) DECLARE LOCAL VAR ARCH_INSTANCE : work__top_ent__ARCH__default__INSTPTR; BEGIN ARCH_INSTANCE := work__top_ent__ARCH__default__INSTPTR'conv (INSTANCE); work__top_ent__STMT_ELAB (INSTANCE); --# 20 DECLARE LOCAL VAR T0_0 : work__top_ent__ARCH__default__g__INSTARRPTR; LOCAL VAR T0_1 : __ghdl_index_type; LOCAL VAR T0_2 : __ghdl_index_type; LOCAL VAR T0_3 : work__top_ent__ARCH__default__g__INSTPTR; BEGIN T0_0 := ARCH_INSTANCE.ALL.g; T0_1 := work__top_ent__ARCH__default__g__ix__OT__STR.length; T0_2 := 0; LOOP 1: IF __ghdl_bool_type'(T0_2 = T0_1) THEN EXIT LOOP 1; END IF; T0_3 := work__top_ent__ARCH__default__g__INSTPTR'address (T0_0.ALL[T0_2]) ; T0_2 := (T0_2 +# 1); END LOOP; END; END;