aboutsummaryrefslogtreecommitdiffstats
path: root/tests/svtypes
diff options
context:
space:
mode:
authorJeff Wang <jjj11x@gmail.com>2020-04-07 00:37:44 -0400
committerJeff Wang <jeffrey.wang@ll.mit.edu>2020-04-07 00:38:15 -0400
commit249876b61405a83ed19a9cc20fcffbf9313f2619 (patch)
tree58327f14d6d09c271218a08837533cbb10c54991 /tests/svtypes
parentebf23cd62e7617ef2510a5bdc7e66ac5f82b7991 (diff)
downloadyosys-249876b61405a83ed19a9cc20fcffbf9313f2619.tar.gz
yosys-249876b61405a83ed19a9cc20fcffbf9313f2619.tar.bz2
yosys-249876b61405a83ed19a9cc20fcffbf9313f2619.zip
support using previously declared types/localparams/params in package
(parameters in systemverilog packages can't actually be overridden, so allowing parameters in addition to localparams doesn't actually add any new functionality, but it's useful to be able to use the parameter keyword also)
Diffstat (limited to 'tests/svtypes')
-rw-r--r--tests/svtypes/typedef_package.sv11
1 files changed, 8 insertions, 3 deletions
diff --git a/tests/svtypes/typedef_package.sv b/tests/svtypes/typedef_package.sv
index 57a78c53a..2d83742c5 100644
--- a/tests/svtypes/typedef_package.sv
+++ b/tests/svtypes/typedef_package.sv
@@ -1,6 +1,9 @@
package pkg;
typedef logic [7:0] uint8_t;
- typedef enum logic [7:0] {bb=8'hBB} enum8_t;
+ typedef enum logic [7:0] {bb=8'hBB, cc=8'hCC} enum8_t;
+
+ localparam uint8_t PCONST = cc;
+ parameter uint8_t PCONST_COPY = PCONST;
endpackage
module top;
@@ -8,7 +11,9 @@ module top;
(* keep *) pkg::uint8_t a = 8'hAA;
(* keep *) pkg::enum8_t b_enum = pkg::bb;
- always @* assert(a == 8'hAA);
- always @* assert(b_enum == 8'hBB);
+ always_comb assert(a == 8'hAA);
+ always_comb assert(b_enum == 8'hBB);
+ always_comb assert(pkg::PCONST == pkg::cc);
+ always_comb assert(pkg::PCONST_COPY == pkg::cc);
endmodule