From 1ca3be1b3277742e2a636b2d6f8335126d37223c Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 12 May 2020 07:44:23 +0200 Subject: testsuite/gna: add a test for #1300 --- testsuite/gna/issue1300/icache.vhdl | 16 ++++++++++++++++ testsuite/gna/issue1300/testsuite.sh | 11 +++++++++++ testsuite/gna/issue1300/wishbone_types.vhdl | 17 +++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 testsuite/gna/issue1300/icache.vhdl create mode 100755 testsuite/gna/issue1300/testsuite.sh create mode 100644 testsuite/gna/issue1300/wishbone_types.vhdl (limited to 'testsuite/gna') diff --git a/testsuite/gna/issue1300/icache.vhdl b/testsuite/gna/issue1300/icache.vhdl new file mode 100644 index 000000000..fed20e4a5 --- /dev/null +++ b/testsuite/gna/issue1300/icache.vhdl @@ -0,0 +1,16 @@ +library work; +use work.wishbone_types.all; + +entity icache is + port ( + clk : in bit; + rst : in bit; + +-- wishbone_in : in wb_cpu_in_t + wishbone_in : in wishbone_slave_out + ); +end entity icache; + +architecture rtl of icache is +begin +end; diff --git a/testsuite/gna/issue1300/testsuite.sh b/testsuite/gna/issue1300/testsuite.sh new file mode 100755 index 000000000..ec021a312 --- /dev/null +++ b/testsuite/gna/issue1300/testsuite.sh @@ -0,0 +1,11 @@ +#! /bin/sh + +. ../../testenv.sh + +export GHDL_STD_FLAGS=--std=08 +analyze wishbone_types.vhdl icache.vhdl +elab_simulate icache + +clean + +echo "Test successful" diff --git a/testsuite/gna/issue1300/wishbone_types.vhdl b/testsuite/gna/issue1300/wishbone_types.vhdl new file mode 100644 index 000000000..092e8c2aa --- /dev/null +++ b/testsuite/gna/issue1300/wishbone_types.vhdl @@ -0,0 +1,17 @@ +package wishbone_types is + type wb_slave_out_t is record + dat : bit_vector; + ack : bit; + stall : bit; + end record; + + -- Common subtypes + constant wb_cpu_data_bits : integer := 64; + subtype wb_cpu_in_t is wb_slave_out_t(dat(wb_cpu_data_bits-1 downto 0)); + + -- GHDL: Works +-- subtype wishbone_slave_out is wb_slave_out_t(dat(wb_cpu_data_bits-1 downto 0)); + + -- GHDL: Breaks + subtype wishbone_slave_out is wb_cpu_in_t; +end package wishbone_types; -- cgit v1.2.3