12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455openBasemoduletypeStd_logic=sigtypet=|U(** Uninitialized *)|X(** Unknown *)|L0(** Logic 0 *)|L1(** Logic 1 *)|Z(** High impedance *)|W(** Weak - neither prefer 0 or 1 *)|L(** Weak - prefer 0 *)|H(** Weak - prefer 1 *)|Don't_care(** Dont care *)[@@derivingcompare,enumerate,sexp,variants]includeEqual.Swithtypet:=t(** Provide the index of [t] in textual order. When passing a std_logic parameter from
verilog to vhdl, we need to encode this type into an integer. For example, L1 =
4'd3. *)valto_int:t->int(** The OCaml [char] used in [of_char] and [to_char] is the same as used in VHDL. *)valof_char_exn:char->tvalto_char:t->charendmoduletypeFour_state=sigtypet=|X|Z|L0|L1[@@derivingcompare,enumerate,sexp,variants]includeEqual.Swithtypet:=t(** Provide the index of [t] in textual order. *)valto_int:t->intvalof_char_exn:char->tvalto_char:t->charendmoduletypeLogic=sigmoduletypeStd_logic=Std_logicmoduletypeFour_state=Four_statemoduleStd_logic:Std_logicmoduleFour_state:Four_statemoduleStd_logic_vector:Bits_list.Combwithtypet=Std_logic.tlistmoduleBit_vector:Bits_list.Combwithtypet=intlistmoduleFour_state_vector:Bits_list.Combwithtypet=Four_state.tlistend