diff options
author | Tristan Gingold <tgingold@free.fr> | 2020-05-29 18:39:34 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2020-05-29 18:56:33 +0200 |
commit | 36cf92801b25119b12b300eef517e7e85c796efb (patch) | |
tree | 6806cb5369c5b1619a9d801f907b2a9b8c242c62 /src/synth/netlists-disp_vhdl.adb | |
parent | 633f76ee936e55de71262a2eba164e8abfe8fa26 (diff) | |
download | ghdl-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.adb | 12 |
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; |