diff options
author | Tristan Gingold <tgingold@free.fr> | 2016-02-13 18:17:21 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2016-02-14 13:52:34 +0100 |
commit | 03a502169b3a3656018236ec4d4952a3fd4ec880 (patch) | |
tree | 1784c7c25db963dce7ac2340c740a428a4ab8ced /src/vhdl/simulate/simulation.adb | |
parent | 32d422d2f5d002354aeaf111ce484b6665a5c9d5 (diff) | |
download | ghdl-03a502169b3a3656018236ec4d4952a3fd4ec880.tar.gz ghdl-03a502169b3a3656018236ec4d4952a3fd4ec880.tar.bz2 ghdl-03a502169b3a3656018236ec4d4952a3fd4ec880.zip |
simul: more fixes for std_ulogic.
Diffstat (limited to 'src/vhdl/simulate/simulation.adb')
-rw-r--r-- | src/vhdl/simulate/simulation.adb | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/vhdl/simulate/simulation.adb b/src/vhdl/simulate/simulation.adb index c33997b7d..728e7b0cb 100644 --- a/src/vhdl/simulate/simulation.adb +++ b/src/vhdl/simulate/simulation.adb @@ -1294,6 +1294,11 @@ package body Simulation is raise Internal_Error; end if; Grt.Signals.Ghdl_Signal_Associate_B1 (Port.Sig, Sig.B1); + when Iir_Value_E8 => + if Mode = Connect_Source then + raise Internal_Error; + end if; + Grt.Signals.Ghdl_Signal_Associate_E8 (Port.Sig, Sig.E8); when others => raise Internal_Error; end case; @@ -1622,7 +1627,7 @@ package body Simulation is Pfx.Val_Array.V (I), Time); end loop; when Iir_Value_Signal => - case Val.Kind is + case Iir_Value_Scalars (Val.Kind) is when Iir_Value_I64 => Val_Ptr := To_Ghdl_Value_Ptr (Val.I64'Address); when Iir_Value_E32 => @@ -1631,8 +1636,8 @@ package body Simulation is Val_Ptr := To_Ghdl_Value_Ptr (Val.F64'Address); when Iir_Value_B1 => Val_Ptr := To_Ghdl_Value_Ptr (Val.B1'Address); - when others => - raise Internal_Error; + when Iir_Value_E8 => + Val_Ptr := To_Ghdl_Value_Ptr (Val.E8'Address); end case; Sig.Sig := Grt.Signals.Ghdl_Create_Delayed_Signal (Pfx.Sig, Val_Ptr, Time); |