summaryrefslogtreecommitdiff
path: root/testsuite/gna/sr2737/testit.vhdl
diff options
context:
space:
mode:
authorTristan Gingold2014-01-01 10:04:27 +0100
committerTristan Gingold2014-01-01 10:04:27 +0100
commitc8150ec75d67a046e9e78b61ba26ad5be5fbe187 (patch)
tree40e83061e2d2ed6a0979808cbacd92cf371a4964 /testsuite/gna/sr2737/testit.vhdl
parent6ef9b50581989bc7cfcf142cb132a4491c9012a7 (diff)
downloadghdl-c8150ec75d67a046e9e78b61ba26ad5be5fbe187.tar.gz
ghdl-c8150ec75d67a046e9e78b61ba26ad5be5fbe187.tar.bz2
ghdl-c8150ec75d67a046e9e78b61ba26ad5be5fbe187.zip
Fix sr2737 (rol/ror with shift = +/- length).
Diffstat (limited to 'testsuite/gna/sr2737/testit.vhdl')
-rw-r--r--testsuite/gna/sr2737/testit.vhdl27
1 files changed, 27 insertions, 0 deletions
diff --git a/testsuite/gna/sr2737/testit.vhdl b/testsuite/gna/sr2737/testit.vhdl
new file mode 100644
index 0000000..d1e9cda
--- /dev/null
+++ b/testsuite/gna/sr2737/testit.vhdl
@@ -0,0 +1,27 @@
+entity testit is
+
+end entity;
+
+architecture behave of testit is
+
+ subtype shiftrange is integer range -8 to 8;
+ signal input: bit_vector (1 to 5) := "11100";
+ signal ror_val: bit_vector (1 to 5);
+ signal rol_val: bit_vector (1 to 5);
+ signal shft: shiftrange;
+
+begin
+
+process
+begin
+ for i in shiftrange loop
+ ror_val <= input ror i;
+ rol_val <= input rol i;
+ shft <= i;
+ wait for 20 ns; -- a convenient length of time
+ end loop;
+ wait;
+
+end process;
+
+end architecture;