From cfc4b80aa2fef5d58394241bcd157132f3ef54fd Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Fri, 19 Jun 2020 06:48:02 +0200 Subject: synth: handle to_x01. For ghdl/ghdl-yosys-plugin#126 --- src/synth/synth-oper.adb | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src/synth') diff --git a/src/synth/synth-oper.adb b/src/synth/synth-oper.adb index b66d0c947..42c17af9b 100644 --- a/src/synth/synth-oper.adb +++ b/src/synth/synth-oper.adb @@ -1595,19 +1595,23 @@ package body Synth.Oper is return Create_Value_Net (Edge, Res_Typ); end; when Iir_Predefined_Ieee_1164_Scalar_Is_X - | Iir_Predefined_Ieee_1164_Vector_Is_X => + | Iir_Predefined_Ieee_1164_Vector_Is_X => -- Always false. return Create_Value_Discrete (0, Boolean_Type); when Iir_Predefined_Ieee_1164_To_Bitvector - | Iir_Predefined_Ieee_1164_To_Stdlogicvector_Suv - | Iir_Predefined_Ieee_1164_To_Stdlogicvector_Bv - | Iir_Predefined_Ieee_Numeric_Std_To_01_Uns - | Iir_Predefined_Ieee_Numeric_Std_To_01_Sgn => + | Iir_Predefined_Ieee_1164_To_Stdlogicvector_Suv + | Iir_Predefined_Ieee_1164_To_Stdlogicvector_Bv + | Iir_Predefined_Ieee_Numeric_Std_To_01_Uns + | Iir_Predefined_Ieee_Numeric_Std_To_01_Sgn + | Iir_Predefined_Ieee_1164_To_X01_Slv => if Is_Static (L.Val) then raise Internal_Error; end if; + -- A no-op (with change of bounds). return Create_Value_Net (Get_Net (Ctxt, L), Create_Res_Bound (L)); - when Iir_Predefined_Ieee_1164_To_Bit => + when Iir_Predefined_Ieee_1164_To_Bit + | Iir_Predefined_Ieee_1164_To_X01_Log => + -- A no-op. return Create_Value_Net (Get_Net (Ctxt, L), Res_Typ); when Iir_Predefined_Ieee_Numeric_Std_Touns_Nat_Nat_Uns -- cgit v1.2.3