Fixed generic() parser
[vip:vip.git] / test / test.vhdl
1 -- A collection of entity and components to test the VEP plugin\r
2 -- v 0.1.0\r
3 -- nov. 07 2010\r
4 -- LGPLv3\r
5 \r
6           component a_a is port (\r
7               DATA     : in std_logic_vector (31 downto 0); -- comment comment comment\r
8       CLK        : in  std_logic;   -- comment comment comment\r
9         RST_SRn    : in  std_logic;   -- comment comment comment\r
10         DELAY_RSTn : out std_logic    -- comment comment comment\r
11     );\r
12   end component a_a;\r
13 \r
14    \r
15 \r
16           component a_b is port (\r
17               DATA     : in std_logic_vector (31 downto 0); -- comment comment comment\r
18       CLK        : in  std_logic;   -- comment comment comment\r
19         RST_SRn    : in  std_logic;   -- comment comment comment\r
20         DELAY_RSTn : out std_logic);\r
21   end component a_b;\r
22 \r
23 \r
24 \r
25           component a_c is port (\r
26               DATA     : in std_logic_vector (31 downto 0); -- comment comment comment\r
27       CLK        : in  std_logic;   -- comment comment comment\r
28         RST_SRn    : in  std_logic;   -- comment comment comment\r
29         DELAY_RSTn : out std_logic );\r
30   end component a_c;\r
31 \r
32 \r
33 \r
34   component b_a is\r
35     port (\r
36       INPUT  : in  std_logic; -- comment comment comment\r
37       SEL    : in  std_logic; -- comment comment comment\r
38       OUTPUT : out std_logic_vector (15 downto 0)\r
39     );\r
40   end component b_a;\r
41 \r
42 \r
43 \r
44   component b_b is\r
45     port (\r
46       INPUT: in  std_logic; -- comment comment comment\r
47       SEL: in  std_logic; -- comment comment comment\r
48       OUTPUT: out std_logic_vector (15 downto 0));\r
49   end component b_b;\r
50 \r
51 \r
52 \r
53   component b_c is\r
54     port (\r
55       INPUT  : in  std_logic; -- comment comment comment\r
56       SEL    : in  std_logic; -- comment comment comment\r
57       OUTPUT : out std_logic_vector (15 downto 0) );\r
58   end component b_c;\r
59 \r
60 \r
61 \r
62   component b_e is\r
63     port(\r
64       INPUT  : in  std_logic; -- comment comment comment\r
65       SEL    : in  std_logic; -- comment comment comment\r
66       OUTPUT : out std_logic  -- comment comment comment\r
67     );\r
68   end component b_e;\r
69 \r
70 \r
71 \r
72   component b_d is port(\r
73       INPUT  : in  std_logic; -- comment comment comment\r
74       SEL    : in  std_logic; -- comment comment comment\r
75       OUTPUT : out std_logic  -- comment comment comment\r
76     );\r
77   end component b_d;\r
78 \r
79 \r
80 \r
81   component c_a is\r
82     generic (g_WIDTH : positive := 4);\r
83     port (\r
84       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
85       CLK     : in  std_logic; -- comment comment comment\r
86       RST_SRn : in  std_logic; -- comment comment comment\r
87       CLK : out std_logic  -- comment comment comment\r
88     );\r
89   end component c_a;\r
90 \r
91 \r
92 \r
93   component c_b is\r
94     generic (\r
95       g_WIDTH : positive := 4\r
96     );\r
97     port (\r
98       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
99       CLK     : in  std_logic; -- comment comment comment\r
100       RST_SRn : in  std_logic; -- comment comment comment\r
101       CLK : out std_logic  -- comment comment comment\r
102     );\r
103   end component c_b;\r
104 \r
105 \r
106 \r
107   component c_c is\r
108     generic (\r
109       g_WIDTH : positive := 4);\r
110     port (\r
111       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
112       CLK     : in  std_logic; -- comment comment comment\r
113       RST_SRn : in  std_logic; -- comment comment comment\r
114       CLK : out std_logic  -- comment comment comment\r
115     );\r
116   end component c_c;\r
117 \r
118 \r
119 \r
120   component c_d is\r
121     generic (\r
122       g_WIDTH : positive := 4);\r
123     port (\r
124       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
125       CLK     : in  std_logic; -- comment comment comment\r
126       RST_SRn : in  std_logic; -- comment comment comment\r
127       CLK : out std_logic);\r
128   end component c_d;\r
129 \r
130 \r
131   component e_a is\r
132     generic (\r
133       g_WIDTH : positive := 4);\r
134     port (\r
135       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
136       -- comment\r
137       CLK     : in  std_logic; -- comment comment comment\r
138       RST_SRn : in  std_logic; -- comment comment comment\r
139       CLK : out std_logic);\r
140   end component e_a;\r
141 \r
142 \r
143   component e_b is\r
144     generic (\r
145       g_WIDTH : positive := 4);\r
146     port (\r
147       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
148       -- comment\r
149       --comment\r
150       CLK     : in  std_logic; -- comment comment comment\r
151       RST_SRn : in  std_logic; -- comment comment comment\r
152       CLK : out std_logic);\r
153   end component e_b;\r
154 \r
155 \r
156   component e_c is\r
157     generic (\r
158       -- comment\r
159       --comment\r
160       g_WIDTH : positive := 4);\r
161     port (\r
162       --comment\r
163       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
164       -- comment\r
165       --comment\r
166       CLK     : in  std_logic; -- comment comment comment\r
167       RST_SRn : in  std_logic; -- comment comment comment\r
168       CLK : out std_logic);\r
169   end component e_c;\r
170 \r
171 \r
172   component e_d is\r
173     generic (\r
174       -- comment\r
175       --comment\r
176       g_WIDTH : positive := 4); port (\r
177       --comment\r
178       DATA  : in std_logic_vector (31 downto 0);  -- comment comment comment\r
179       -- comment\r
180       --comment\r
181       CLK     : in  std_logic; -- comment comment comment\r
182       RST_SRn : in  std_logic; -- comment comment comment\r
183       CLK : out std_logic);\r
184   end component e_d;\r
185 \r
186 \r
187   component e_e is\r
188     generic (\r
189       -- comment\r
190       --comment\r
191       );\r
192     port (\r
193       --comment\r
194       -- comment\r
195       --comment\r
196       );\r
197   end component e_e;\r
198 \r
199 \r
200   component e_f is\r
201     generic ( );\r
202     port ( );\r
203   end component e_f;\r
204 \r
205 \r
206   component ADD\r
207    generic (\r
208   N : positive range 0 to 16);\r
209    port (\r
210   A: in std_logic_vector(N-1 downto 0);\r
211   B: in std_logic_vector(N-1 downto 0);\r
212   S: out std_logic_vector(N-1 downto 0));\r
213   end component;\r
214 \r
215 \r
216      component AND2\r
217            generic (DELAY: time :=5ns);\r
218            port (\r
219              in1: in std_logic;\r
220              out1: out std_logic);\r
221      end component;\r
222 \r
223 \r
224   component reg32 is\r
225      generic (\r
226                setup_time : time := 50 ps;\r
227                pulse_width : time := 100 ps  );\r
228      port (\r
229             input : in std_logic_vector(31 downto 0);\r
230             output: out std_logic_vector(31 downto 0);\r
231             Load  : in  std_logic_vector;\r
232             Clk   : in  std_logic_vector );\r
233   end component reg32;\r
234 \r
235 \r
236   component reg32 is\r
237      generic (     \r
238                setup_time : time := 50 ps;\r
239                setup_ti : time := 50 ps;\r
240                setup : time := 50 ps;\r
241                pulse_width : time := 100 ps  );\r
242      port (        \r
243             input : in std_logic_vector(31 downto 0);\r
244             output: out std_logic_vector(31 downto 0);\r
245             Load  : in  std_logic_vector;\r
246             Clk   : in  std_logic_vector );\r
247   end component reg32;\r
248 \r
249   \r
250   component reg32 is\r
251      generic ( setup_time : time := 50 ps;\r
252                pulse_width : time := 100 ps  );\r
253      port ( input : in std_logic_vector(31 downto 0);\r
254             output: out std_logic_vector(31 downto 0);\r
255             Load  : in  std_logic_vector;\r
256             Clk   : in  std_logic_vector );\r
257   end component reg32;\r
258 \r
259 ---------------------------------------------------------------------------------\r
260 -- Instances\r
261 ---------------------------------------------------------------------------------\r
262 \r
263   U0_7_u_10 : d_a port map (\r
264     DATA     => s_DATA,     -- comment comment comment\r
265     CLK        => s_CLK,        -- comment comment comment\r
266     RST_SRn    => s_RST_SRn,    -- comment comment comment\r
267     DELAY      => s_DELAY       -- comment comment comment\r
268   );\r
269 \r
270   U1 : d_b\r
271   port map (\r
272     DATA     => s_DATA,     -- comment comment comment\r
273     CLK        => s_CLK,        -- comment comment comment\r
274     RST_SRn    => s_RST_SRn,    -- comment comment comment\r
275     DELAY      => s_DELAY       -- comment comment comment\r
276   );\r
277 \r
278   U2 : d_c port map (\r
279     DATA       => s_DATA,     -- comment comment comment\r
280     CLK        => s_CLK,        -- comment comment comment\r
281     RST_SRn    => s_RST_SRn,    -- comment comment comment\r
282     DELAY      => s_DELAY);\r
283 \r
284   U3 : e_a\r
285   generic map (g_WIDTH=>14)   -- comment comment comment\r
286   port map (\r
287     DATA=>s_DATA,         -- comment comment comment\r
288     CLK=>s_CLK,           -- comment comment comment\r
289     RST_SRn=>s_RSTn,          -- comment comment comment\r
290     CLK=>s_CLKOUT0(0)     -- comment comment comment\r
291   );\r
292 \r
293   U4 : e_b\r
294   generic map (g_WIDTH => 14)   -- comment comment comment\r
295   port map (\r
296     DATA    => s_DATA,         -- comment comment comment\r
297     CLK     => s_CLK,           -- comment comment comment\r
298     RST_SRn => s_RSTn,          -- comment comment comment\r
299     CLK     => s_CLKOUT0(0));\r
300 \r
301   U5 : e_c\r
302   generic map (g_WIDTH => 14)   -- comment comment comment\r
303   port map (\r
304     DATA    => s_DATA,         -- comment comment comment\r
305     CLK     => s_CLK,           -- comment comment comment\r
306     RST_SRn => s_RSTn,          -- comment comment comment\r
307     CLK (15 downto 0) => s_CLKOUT0 (15 downto 0));\r
308 \r
309   U6 : e_d\r
310   generic map (\r
311     g_WIDTH => 14   -- comment comment comment\r
312   )\r
313   port map (\r
314     DATA  => s_DATA,         -- comment comment comment\r
315     CLK     => s_CLK,           -- comment comment comment\r
316     RST_SRn => s_RSTn,          -- comment comment comment\r
317     CLK => s_CLKOUT0(0)     -- comment comment comment\r
318   );\r
319 \r
320   U7 : e_e\r
321   generic\r
322     map (\r
323       g_WIDTH => 14   -- comment comment comment\r
324     )\r
325   port map (\r
326     DATA    => s_DATA,         -- comment comment comment\r
327     CLK     => s_CLK,           -- comment comment comment\r
328     RST_SRn => s_RSTn,          -- comment comment comment\r
329     CLK     => s_CLKOUT0(0)     -- comment comment comment\r
330   );\r
331 \r
332   U8 : e_f\r
333   generic\r
334     map (\r
335       g_WIDTH => 14   -- comment comment comment\r
336     )\r
337   port\r
338     map (\r
339       DATA    => s_DATA,         -- comment comment comment\r
340       CLK     => s_CLK,           -- comment comment comment\r
341       RST_SRn => s_RSTn,          -- comment comment comment\r
342       CLK => s_CLKOUT0(0)     -- comment comment comment\r
343     );\r
344 \r
345   U9 : e_g generic map (g_WIDTH => 14)   -- comment comment comment\r
346   port map (\r
347     DATA    => s_DATA,         -- comment comment comment\r
348     CLK     => s_CLK,           -- comment comment comment\r
349     RST_SRn => s_RSTn,          -- comment comment comment\r
350     CLK => s_CLKOUT0(0)     -- comment comment comment\r
351   );\r
352 \r
353   U10 : e_k generic\r
354   map (g_WIDTH => 14)   -- comment comment comment\r
355   port map (\r
356     DATA    => s_DATA,         -- comment comment comment\r
357     CLK     => s_CLK,           -- comment comment comment\r
358     RST_SRn => s_RSTn,          -- comment comment comment\r
359     CLK => s_CLKOUT0(0)     -- comment comment comment\r
360   );\r
361 \r
362 ---------------------------------------------------------------------------------\r
363 -- Bad Instances\r
364 --------------------------------------------------------------------------------\r
365 \r
366   U11  e_l generic\r
367   map (g_WIDTH => 14)   -- comment comment comment\r
368   port map (\r
369     DATA    => s_DATA,         -- comment comment comment\r
370     CLK     => s_CLK,           -- comment comment comment\r
371     RST_SRn => s_RSTn,          -- comment comment comment\r
372     CLK => s_CLKOUT0(0)     -- comment comment comment\r
373   );\r
374 \r
375   U12 : e_l generic\r
376   map (g_WIDTH => 14)   -- comment comment comment\r
377   port map (\r
378     DATA    => s_DATA,         -- comment comment comment\r
379     CLK     => s_CLK,           -- comment comment comment\r
380     RST_SRn => s_RSTn,          -- comment comment comment\r
381     CLK => s_CLKOUT0(0)     -- comment comment comment\r
382 \r
383   U13 : e_l generic\r
384   map (g_WIDTH => 14)   -- comment comment comment\r
385   port map (\r
386     DATA    => s_DATA,         -- comment comment comment\r
387     CLK     => s_CLK,           -- comment comment comment\r
388 \r
389     RST_SRn => s_RSTn,          -- comment comment comment\r
390     CLK => s_CLKOUT0(0));     -- comment comment comment\r
391 \r
392   U14 : e_l generic\r
393   map (g_WIDTH => 14   -- comment comment comment\r
394   port map (\r
395     DATA    => s_DATA,         -- comment comment comment\r
396     CLK     => s_CLK,           -- comment comment comment\r
397 \r
398     RST_SRn => s_RSTn,          -- comment comment comment\r
399     CLK => s_CLKOUT0(0));     -- comment comment comment\r
400 \r
401 -- vim:set noexpandtab\r