aboutsummaryrefslogtreecommitdiffstats
path: root/testsuite/synth/func02/func01.vhdl
blob: 3d0155567e3aa4b0ad86ea7473d3c1dfafbc6c48 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
library ieee;
use ieee.std_logic_1164.all;

entity func01 is
  port (a : std_logic_vector (7 downto 0);
        b : out std_logic_vector (7 downto 0));
end func01;

architecture behav of func01 is
  function gen_and (v : std_logic_vector (7 downto 0);
                    len : natural := 6) return std_logic_vector is
    variable res : std_logic_vector (7 downto 0);
  begin
    res := (others => '0');
    res (len - 1 downto 0) := (others => '1');
    return res and v;
  end gen_and;

begin
  b <= gen_and (a);
end behav;