aboutsummaryrefslogtreecommitdiffstats
path: root/src/synth/netlists-disp_vhdl.adb
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2020-05-29 18:39:34 +0200
committerTristan Gingold <tgingold@free.fr>2020-05-29 18:56:33 +0200
commit36cf92801b25119b12b300eef517e7e85c796efb (patch)
tree6806cb5369c5b1619a9d801f907b2a9b8c242c62 /src/synth/netlists-disp_vhdl.adb
parent633f76ee936e55de71262a2eba164e8abfe8fa26 (diff)
downloadghdl-36cf92801b25119b12b300eef517e7e85c796efb.tar.gz
ghdl-36cf92801b25119b12b300eef517e7e85c796efb.tar.bz2
ghdl-36cf92801b25119b12b300eef517e7e85c796efb.zip
netlists: handle UL32 in memory initial value.
Diffstat (limited to 'src/synth/netlists-disp_vhdl.adb')
-rw-r--r--src/synth/netlists-disp_vhdl.adb12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/synth/netlists-disp_vhdl.adb b/src/synth/netlists-disp_vhdl.adb
index 513dadbbb..6a013ed93 100644
--- a/src/synth/netlists-disp_vhdl.adb
+++ b/src/synth/netlists-disp_vhdl.adb
@@ -432,10 +432,20 @@ package body Netlists.Disp_Vhdl is
Zx := 0;
if Off < 32 then
Val := Get_Param_Uns32 (Inst, 0);
+ Val := Shift_Right (Val, Natural (Off mod 32)) and 1;
else
Val := 0;
end if;
- Val := Shift_Right (Val, Natural (Off mod 32)) and 1;
+ when Id_Const_UL32 =>
+ if Off < 32 then
+ Val := Get_Param_Uns32 (Inst, 0);
+ Val := Shift_Right (Val, Natural (Off mod 32)) and 1;
+ Zx := Get_Param_Uns32 (Inst, 1);
+ Zx := Shift_Right (Zx, Natural (Off mod 32)) and 1;
+ else
+ Val := 0;
+ Zx := 0;
+ end if;
when Id_Const_X =>
Zx := 1;
Val := 1;