diff options
author | Tristan Gingold <tgingold@free.fr> | 2018-12-04 20:35:23 +0100 |
---|---|---|
committer | Tristan Gingold <tgingold@free.fr> | 2018-12-04 20:35:23 +0100 |
commit | 96540807412c7a127bde646ee5737b10e089cf0d (patch) | |
tree | a4ae0d88b28555ac6ed759a60c7ef525be8f7d98 /testsuite/gna/issue713/dma_controller_tb.vhd | |
parent | 483a8f7f88b86acd0d339e197d96e3a60f737b5e (diff) | |
download | ghdl-96540807412c7a127bde646ee5737b10e089cf0d.tar.gz ghdl-96540807412c7a127bde646ee5737b10e089cf0d.tar.bz2 ghdl-96540807412c7a127bde646ee5737b10e089cf0d.zip |
Add testcase from #713
Diffstat (limited to 'testsuite/gna/issue713/dma_controller_tb.vhd')
-rw-r--r-- | testsuite/gna/issue713/dma_controller_tb.vhd | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/testsuite/gna/issue713/dma_controller_tb.vhd b/testsuite/gna/issue713/dma_controller_tb.vhd new file mode 100644 index 000000000..d67c94061 --- /dev/null +++ b/testsuite/gna/issue713/dma_controller_tb.vhd @@ -0,0 +1,45 @@ +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; + +use work.sim_types_pkg.all; + +entity dma_controller_tb is +generic ( + runner_cfg : string := "" +); +end entity; + +architecture bench of dma_controller_tb is + + constant num_desc : positive := 4; + subtype num_desc_range is natural range 0 to num_desc-1; + + constant MEM_BYTES : positive := 512; + constant MEM_DWORDS : positive := MEM_BYTES/4; + + + function byte_range (desc : descriptor_t) return bit_vector is + -- Works if 0 to 1 + -- variable v : bit_vector(0 to 1); + variable v : bit_vector(desc.address to desc.address + desc.length); + begin + return v; + end function; + +begin + + mm2s_buffer_destroy: process + variable desc : descriptor_t := (8, 8); + begin + wait for 50 ns; + for i in byte_range(desc)'range loop + call_report(i); + assert i >= 8 and i <= 16 severity failure; + -- Works for below + --for i in 0 to 1 loop +-- set_permissions(mm2s_memory, i, no_access); + end loop; + wait; + end process; +end architecture; |