aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/synth33/int_test.vhdl
blob: 62ea65bda9bf9e7c430d2a80dea596cbdd78e00e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
library ieee;
  use ieee.std_logic_1164.all;

entity int_test is
  generic (
    INT_MIN : integer range 1 to 8 := 1;
    INT_MAX : integer range 1 to 8 := 8
  );
  port (
    clk : in std_logic;
    a : in integer range INT_MIN to INT_MAX;
    b : out integer range INT_MIN to INT_MAX
  );
end int_test;

architecture rtl of int_test is
  signal int : integer range INT_MIN to INT_MAX;
begin
  process (clk)
  begin
    if rising_edge (clk) then
      if a < INT_MAX then
        int <= a + 1;
      else
        int <= INT_MIN;
      end if;
    end if;
  end process;
  b <= int;
end rtl;