diff options
author | Tristan Gingold <tgingold@free.fr> | 2019-06-08 07:52:43 +0200 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2019-06-08 07:52:43 +0200 |
commit | c5fbc11795004074b9f2f52e94e13d5907f1c95b (patch) | |
tree | 8fbe2aa0d82011bb95d67a3cc3b2ffd205b6b3e7 /src/synth/synth-values.adb | |
parent | 2a21ee61dd73224bec023b3a541c9d4ddaee0f88 (diff) | |
download | ghdl-c5fbc11795004074b9f2f52e94e13d5907f1c95b.tar.gz ghdl-c5fbc11795004074b9f2f52e94e13d5907f1c95b.tar.bz2 ghdl-c5fbc11795004074b9f2f52e94e13d5907f1c95b.zip |
synth: support conditional signal assignments.
Diffstat (limited to 'src/synth/synth-values.adb')
-rw-r--r-- | src/synth/synth-values.adb | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/synth/synth-values.adb b/src/synth/synth-values.adb index 238341627..cb68848e2 100644 --- a/src/synth/synth-values.adb +++ b/src/synth/synth-values.adb @@ -53,6 +53,17 @@ package body Synth.Values is Value_Type_Net'(Kind => Value_Net, N => N, N_Range => Rng))); end Create_Value_Net; + function Create_Value_Mux2 (Cond : Value_Acc; T : Value_Acc; F : Value_Acc) + return Value_Acc + is + subtype Value_Type_Mux2 is Value_Type (Value_Mux2); + function Alloc is new Areapools.Alloc_On_Pool_Addr (Value_Type_Mux2); + begin + return To_Value_Acc + (Alloc (Current_Pool, + (Kind => Value_Mux2, M_Cond => Cond, M_T => T, M_F => F))); + end Create_Value_Mux2; + function Create_Value_Lit (Val : Iir_Value_Literal_Acc; Typ : Iir) return Value_Acc is |