From 81d7abaf88669b830ea9a8136497a5492ff2d66e Mon Sep 17 00:00:00 2001 From: Martin Whitaker Date: Sun, 28 Jan 2024 15:53:47 +0000 Subject: [PATCH] Add regression tests for checking wire data types (issue 1087). --- ivtest/gold/br_gh1087a1-iverilog-stderr.gold | 1 + ivtest/gold/br_gh1087a2-iverilog-stderr.gold | 2 ++ ivtest/gold/br_gh1087a3-iverilog-stderr.gold | 2 ++ ivtest/gold/br_gh1087b-iverilog-stderr.gold | 2 ++ ivtest/gold/br_gh1087c-iverilog-stderr.gold | 2 ++ ivtest/ivltests/br_gh1087a.v | 8 ++++++++ ivtest/ivltests/br_gh1087b.v | 8 ++++++++ ivtest/ivltests/br_gh1087c.v | 8 ++++++++ ivtest/regress-vvp.list | 5 +++++ ivtest/vvp_tests/br_gh1087a1.json | 6 ++++++ ivtest/vvp_tests/br_gh1087a2.json | 6 ++++++ ivtest/vvp_tests/br_gh1087a3.json | 6 ++++++ ivtest/vvp_tests/br_gh1087b.json | 6 ++++++ ivtest/vvp_tests/br_gh1087c.json | 6 ++++++ 14 files changed, 68 insertions(+) create mode 100644 ivtest/gold/br_gh1087a1-iverilog-stderr.gold create mode 100644 ivtest/gold/br_gh1087a2-iverilog-stderr.gold create mode 100644 ivtest/gold/br_gh1087a3-iverilog-stderr.gold create mode 100644 ivtest/gold/br_gh1087b-iverilog-stderr.gold create mode 100644 ivtest/gold/br_gh1087c-iverilog-stderr.gold create mode 100644 ivtest/ivltests/br_gh1087a.v create mode 100644 ivtest/ivltests/br_gh1087b.v create mode 100644 ivtest/ivltests/br_gh1087c.v create mode 100644 ivtest/vvp_tests/br_gh1087a1.json create mode 100644 ivtest/vvp_tests/br_gh1087a2.json create mode 100644 ivtest/vvp_tests/br_gh1087a3.json create mode 100644 ivtest/vvp_tests/br_gh1087b.json create mode 100644 ivtest/vvp_tests/br_gh1087c.json diff --git a/ivtest/gold/br_gh1087a1-iverilog-stderr.gold b/ivtest/gold/br_gh1087a1-iverilog-stderr.gold new file mode 100644 index 000000000..222f490b4 --- /dev/null +++ b/ivtest/gold/br_gh1087a1-iverilog-stderr.gold @@ -0,0 +1 @@ +ivltests/br_gh1087a.v:3: Net data type requires SystemVerilog or -gxtypes. diff --git a/ivtest/gold/br_gh1087a2-iverilog-stderr.gold b/ivtest/gold/br_gh1087a2-iverilog-stderr.gold new file mode 100644 index 000000000..816d398aa --- /dev/null +++ b/ivtest/gold/br_gh1087a2-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/br_gh1087a.v:6: error: Unresolved net/uwire r cannot have multiple drivers. +1 error(s) during elaboration. diff --git a/ivtest/gold/br_gh1087a3-iverilog-stderr.gold b/ivtest/gold/br_gh1087a3-iverilog-stderr.gold new file mode 100644 index 000000000..b0ae793b0 --- /dev/null +++ b/ivtest/gold/br_gh1087a3-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/br_gh1087a.v:3: error: Net `r` can not be of type `real`. +1 error(s) during elaboration. diff --git a/ivtest/gold/br_gh1087b-iverilog-stderr.gold b/ivtest/gold/br_gh1087b-iverilog-stderr.gold new file mode 100644 index 000000000..1d1843f32 --- /dev/null +++ b/ivtest/gold/br_gh1087b-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/br_gh1087b.v:6: error: Unresolved net/uwire b cannot have multiple drivers. +1 error(s) during elaboration. diff --git a/ivtest/gold/br_gh1087c-iverilog-stderr.gold b/ivtest/gold/br_gh1087c-iverilog-stderr.gold new file mode 100644 index 000000000..96e18fb88 --- /dev/null +++ b/ivtest/gold/br_gh1087c-iverilog-stderr.gold @@ -0,0 +1,2 @@ +ivltests/br_gh1087c.v:3: error: Net `b` can not be of type `bool`. +1 error(s) during elaboration. diff --git a/ivtest/ivltests/br_gh1087a.v b/ivtest/ivltests/br_gh1087a.v new file mode 100644 index 000000000..b638c90a6 --- /dev/null +++ b/ivtest/ivltests/br_gh1087a.v @@ -0,0 +1,8 @@ +module test(); + +wire real r; + +assign r = 1.0; +assign r = 2.0; + +endmodule diff --git a/ivtest/ivltests/br_gh1087b.v b/ivtest/ivltests/br_gh1087b.v new file mode 100644 index 000000000..8908b6f45 --- /dev/null +++ b/ivtest/ivltests/br_gh1087b.v @@ -0,0 +1,8 @@ +module test(); + +wire bool [7:0] b; + +assign b = 8'h11; +assign b = 8'h22; + +endmodule diff --git a/ivtest/ivltests/br_gh1087c.v b/ivtest/ivltests/br_gh1087c.v new file mode 100644 index 000000000..fb1fbe48a --- /dev/null +++ b/ivtest/ivltests/br_gh1087c.v @@ -0,0 +1,8 @@ +module test(); + +wire bit [7:0] b; + +assign b = 8'h11; +assign b = 8'h22; + +endmodule diff --git a/ivtest/regress-vvp.list b/ivtest/regress-vvp.list index 17f7c63f0..a37079745 100644 --- a/ivtest/regress-vvp.list +++ b/ivtest/regress-vvp.list @@ -34,6 +34,11 @@ br_gh1018 vvp_tests/br_gh1018.json br_gh1029 vvp_tests/br_gh1029.json br_gh1075a vvp_tests/br_gh1074a.json br_gh1075b vvp_tests/br_gh1074b.json +br_gh1087a1 vvp_tests/br_gh1087a1.json +br_gh1087a2 vvp_tests/br_gh1087a2.json +br_gh1087a3 vvp_tests/br_gh1087a3.json +br_gh1087b vvp_tests/br_gh1087b.json +br_gh1087c vvp_tests/br_gh1087c.json ca_time_real` vvp_tests/ca_time_real.json case1 vvp_tests/case1.json case2 vvp_tests/case2.json diff --git a/ivtest/vvp_tests/br_gh1087a1.json b/ivtest/vvp_tests/br_gh1087a1.json new file mode 100644 index 000000000..748a7d7e5 --- /dev/null +++ b/ivtest/vvp_tests/br_gh1087a1.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "br_gh1087a.v", + "gold" : "br_gh1087a1", + "iverilog-args" : [ "-gno-xtypes" ] +} diff --git a/ivtest/vvp_tests/br_gh1087a2.json b/ivtest/vvp_tests/br_gh1087a2.json new file mode 100644 index 000000000..767646880 --- /dev/null +++ b/ivtest/vvp_tests/br_gh1087a2.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "br_gh1087a.v", + "gold" : "br_gh1087a2", + "iverilog-args" : [ "-gxtypes" ] +} diff --git a/ivtest/vvp_tests/br_gh1087a3.json b/ivtest/vvp_tests/br_gh1087a3.json new file mode 100644 index 000000000..7d076c4da --- /dev/null +++ b/ivtest/vvp_tests/br_gh1087a3.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "br_gh1087a.v", + "gold" : "br_gh1087a3", + "iverilog-args" : [ "-g2009", "-gno-xtypes" ] +} diff --git a/ivtest/vvp_tests/br_gh1087b.json b/ivtest/vvp_tests/br_gh1087b.json new file mode 100644 index 000000000..0f8269039 --- /dev/null +++ b/ivtest/vvp_tests/br_gh1087b.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "br_gh1087b.v", + "gold" : "br_gh1087b", + "iverilog-args" : [ "-gxtypes" ] +} diff --git a/ivtest/vvp_tests/br_gh1087c.json b/ivtest/vvp_tests/br_gh1087c.json new file mode 100644 index 000000000..efae11d3a --- /dev/null +++ b/ivtest/vvp_tests/br_gh1087c.json @@ -0,0 +1,6 @@ +{ + "type" : "CE", + "source" : "br_gh1087c.v", + "gold" : "br_gh1087c", + "iverilog-args" : [ "-g2009", "-gno-xtypes" ] +}