aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-06-19 06:48:02 +0200
committerTristan Gingold <tgingold@free.fr>2020-06-19 06:48:02 +0200
commitcfc4b80aa2fef5d58394241bcd157132f3ef54fd (patch)
tree35adda1efac151a8697ff0434f5ee63c468169d4 /src/synth
parent5f4992cf1b8cd862b5b1cde498e2a7a867439b5a (diff)
downloadghdl-cfc4b80aa2fef5d58394241bcd157132f3ef54fd.tar.gz
ghdl-cfc4b80aa2fef5d58394241bcd157132f3ef54fd.tar.bz2
ghdl-cfc4b80aa2fef5d58394241bcd157132f3ef54fd.zip
synth: handle to_x01. For ghdl/ghdl-yosys-plugin#126
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/synth-oper.adb16
1 files changed, 10 insertions, 6 deletions
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