diff options
Diffstat (limited to 'src/synth/netlists-disp_vhdl.adb')
-rw-r--r-- | src/synth/netlists-disp_vhdl.adb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb index a7999ba0c..fdd4c308a 100644 --- a/src/synth/netlists-disp_vhdl.adb +++ b/src/synth/netlists-disp_vhdl.adb @@ -605,6 +605,19 @@ package body Netlists.Disp_Vhdl is Put ((1 .. Natural (Ow - Iw) => '0')); Disp_Template (""" & \i0; -- uext" & NL, Inst); end; + when Id_Red_Or => + declare + Iw : constant Width := Get_Width (Get_Input_Net (Inst, 0)); + begin + if Iw > 1 then + Disp_Template + (" \o0 <= '1' when \i0 /= (\n0 downto 0 => '0') else '0';" + & NL, Inst, (0 => Iw - 1)); + else + Disp_Template + (" \o0 <= \i1; -- reduce or" & NL, Inst); + end if; + end; when Id_Assert => Disp_Template (" assert \i0 = '1' severity error;" & NL, Inst); when Id_Assume => |