aboutsummaryrefslogtreecommitdiffstats
path: root/src/vhdl/vhdl-sem_expr.adb
diff options
context:
space:
mode:
authorT. Meissner <programming@goodcleanfun.de>2021-02-09 07:31:00 +0100
committerGitHub <noreply@github.com>2021-02-09 07:31:00 +0100
commit7d5bfac5526528e32f5f44b9bea0bbdfee21a589 (patch)
treea3d749912cca5d83f8cb1da304b90a62713d2d59 /src/vhdl/vhdl-sem_expr.adb
parenta75c135b5bb3c817ff0d9605c5cfabbfa721c13b (diff)
downloadghdl-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.adb10
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.