aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth
diff options
context:
space:
mode:
Diffstat (limited to 'src/synth')
-rw-r--r--src/synth/netlists-disp_vhdl.adb18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb
index a1126a852..2f6c63628 100644
--- a/src/synth/netlists-disp_vhdl.adb
+++ b/src/synth/netlists-disp_vhdl.adb
@@ -764,6 +764,19 @@ package body Netlists.Disp_Vhdl is
when Id_Srem =>
Disp_Template
(" \o0 <= std_logic_vector (\si0 rem \si1);" & NL, Inst);
+ when Id_Lsl =>
+ Disp_Template
+ (" \o0 <= std_logic_vector "
+ & "(shift_left (\ui0, to_integer (\ui1)));" & NL, Inst);
+ when Id_Asr =>
+ Disp_Template
+ (" \o0 <= std_logic_vector "
+ & "(shift_left (\si0, to_integer (\ui1)));" & NL, Inst);
+ when Id_Rol =>
+ Disp_Template
+ (" \o0 <= std_logic_vector "
+ & "(rotate_left (\ui0, to_integer (\ui1)));" & NL, Inst);
+
when Id_Ult =>
Disp_Template (" \o0 <= '1' when \ui0 < \ui1 else '0';" & NL,
Inst);
@@ -800,6 +813,11 @@ package body Netlists.Disp_Vhdl is
Disp_Template (" \o0 <= \i0 and \i1;" & NL, Inst);
when Id_Xor =>
Disp_Template (" \o0 <= \i0 xor \i1;" & NL, Inst);
+ when Id_Nor =>
+ Disp_Template (" \o0 <= \i0 nor \i1;" & NL, Inst);
+ when Id_Nand =>
+ Disp_Template (" \o0 <= \i0 nand \i1;" & NL, Inst);
+
when Id_Concat2 =>
declare
Wd : constant Width := Get_Width (Get_Output (Inst, 0));