1VST(5)              VHDL subset of ASIM/LIP6/CAO-VLSI lab.              VST(5)
2
3
4

NAME

6       vst
7       VHDL structural subset.
8
9

DESCRIPTION

11       This  document  describes  the  ALLIANCE  VHDL  subset  for  structural
12       descriptions.
13
14
15       The declaration  part  of  a  structural  description  includes  signal
16       decalarations and component declarations.
17
18
19       An internal signal can be declared of any type supported by the present
20       VHDL subset except reg_bit and reg_vector.
21
22
23       A component must be declared with exactly the same port description  as
24       in  its  entity  specification.  This  means that local ports are to be
25       declared with the same name, type and kind and in the same order.
26
27
28       A structural description is a set  of  component  instantiation  state‐
29       ments.   Instances' ports are connected to each other trough signals in
30       a port map specification. Both explicit and implicit port map  specifi‐
31       cations are supported by the ALLIANCE VHDL subset.
32
33
34       The  present  version  of  the VHDL compiler does not allow unconnected
35       ports (the open mode is not supported).
36
37
38       Only the concatenation operator (&) can be  used  in  the  actual  part
39       (effective signal conntected to a formal port) of a port map specifica‐
40       tion.
41
42

EXAMPLES

44       Here is the description of an adder with an accumulator register.
45
46       entity add_accu is
47       port (
48         clk      : in  bit;
49         command  : in  bit;
50         data_in  : in  bit_vector (31 downto 0);
51         data_out : out bit_vector (31 downto 0);
52         cry_out  : out bit;
53         vdd      : in  bit;
54         vss      : in  bit
55         );
56       end add_accu;
57
58       architecture structural of add_accu is
59
60       signal eff_data  : bit_vector (31 downto 0);      -- effective operande
61       signal adder_out : bit_vector (31 downto 0);      -- adder's result
62       signal accu_out  : bit_vector (31 downto 0);      -- accumulator
63
64       component adder
65       port (a   : in  bit_vector (31 downto 0);
66             b   : in  bit_vector (31 downto 0);
67             res : out bit_vector (31 downto 0));
68       end component;
69
70       component and_32
71       port (a   : in  bit_vector (31 downto 0);
72             cmd : in  bit;
73             res : out bit_vector (31 downto 0));
74       end component;
75
76       component falling_edge_reg
77       port (din  : in  bit_vector (31 downto 0);
78             clk  : in  bit;
79             dout : out bit_vector (31 downto 0));
80       end component;
81
82       begin
83
84         my_adder : adder
85         port map (a => eff_data, b => accu_out, res => adder_out);
86
87         my_mux   : and_32
88         port map (cmd => command, a => accu_out, res => eff_data);
89
90         my_reg   : falling_edge_reg
91         port map (din => adder_out, clk => clk, dout => accu_out);
92
93       end;
94
95

SEE ALSO

97       vhdl(5), vbe(5), asimut(1)
98
99
100
101
102
103
104ASIM/LIP6                       October 1, 1997                         VST(5)
Impressum