diff options
author | T. Meissner <programming@goodcleanfun.de> | 2021-02-09 07:31:00 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-09 07:31:00 +0100 |
commit | 7d5bfac5526528e32f5f44b9bea0bbdfee21a589 (patch) | |
tree | a3d749912cca5d83f8cb1da304b90a62713d2d59 /src/vhdl/vhdl-sem_expr.adb | |
parent | a75c135b5bb3c817ff0d9605c5cfabbfa721c13b (diff) | |
download | ghdl-7d5bfac5526528e32f5f44b9bea0bbdfee21a589.tar.gz ghdl-7d5bfac5526528e32f5f44b9bea0bbdfee21a589.tar.bz2 ghdl-7d5bfac5526528e32f5f44b9bea0bbdfee21a589.zip |
Add support for PSL onehot/onehot0 functions (#1633)
* vhdl: parse PSL onehot/onehot0 builtin calls. For #662
* update pyGHDL bindings
* Synthesis of PSL built-in onehot/onehot0 function.
* testsuite/synth: add tests of PSL built-in functions onehot()/onehot0() for #662
* doc: add info about PSL built-in functions onehot()/onehot0() for #662
* synth: refactor synthesis of onehot/onehot0 functions
Co-authored-by: eine <eine@users.noreply.github.com>
Diffstat (limited to 'src/vhdl/vhdl-sem_expr.adb')
-rw-r--r-- | src/vhdl/vhdl-sem_expr.adb | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/vhdl/vhdl-sem_expr.adb b/src/vhdl/vhdl-sem_expr.adb index b8445bcec..25dbb1fea 100644 --- a/src/vhdl/vhdl-sem_expr.adb +++ b/src/vhdl/vhdl-sem_expr.adb @@ -417,7 +417,9 @@ package body Vhdl.Sem_Expr is | Iir_Kind_Psl_Prev | Iir_Kind_Psl_Stable | Iir_Kind_Psl_Rose - | Iir_Kind_Psl_Fell => + | Iir_Kind_Psl_Fell + | Iir_Kind_Psl_Onehot + | Iir_Kind_Psl_Onehot0 => return Expr; when Iir_Kind_Simple_Name | Iir_Kind_Parenthesis_Name @@ -4920,6 +4922,12 @@ package body Vhdl.Sem_Expr is when Iir_Kind_Psl_Fell => return Sem_Psl.Sem_Fell_Builtin (Expr); + when Iir_Kind_Psl_Onehot => + return Sem_Psl.Sem_Onehot_Builtin (Expr); + + when Iir_Kind_Psl_Onehot0 => + return Sem_Psl.Sem_Onehot0_Builtin (Expr); + when Iir_Kind_Error => -- Always ok. -- Use the error as a type. |