1package power is
2  type voltage is range integer'low to integer'high units
3    uV;
4    mV = 1000 uV;
5     V = 1000 mV;
6    kV = 1000  V;
7  end units;
8end package;
9
10use work.power.all;
11
12entity LTC is
13  generic (
14    V_MIN : voltage := 0 V;
15    V_MAX : voltage := voltage'high
16  );
17  port (
18    Vin  : in  voltage range 0 V to 15 V;
19    Vout : out voltage range V_MIN to V_MAX
20  );
21end entity;
22
23architecture ic of LTC is
24begin
25  Vout <= Vin * 0.95;
26end architecture;
27
28use work.power.all;
29
30entity board is
31  port (
32    Vin  : in  voltage;
33    Vout : out voltage
34  );
35end entity;
36
37architecture ic of board is
38begin
39  U1: entity work.LTC
40    port map (
41      Vin  => 2.5 V,
42      Vout => open
43    );
44end architecture;
45