OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [lib/] [techmap/] [maps/] [grusbhc_net.vhd] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
------------------------------------------------------------------------------
2
--  This file is a part of the GRLIB VHDL IP LIBRARY
3
--  Copyright (C) 2003, Gaisler Research
4
--
5
--  This program is free software; you can redistribute it and/or modify
6
--  it under the terms of the GNU General Public License as published by
7
--  the Free Software Foundation; either version 2 of the License, or
8
--  (at your option) any later version.
9
--
10
--  This program is distributed in the hope that it will be useful,
11
--  but WITHOUT ANY WARRANTY; without even the implied warranty of
12
--  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
--  GNU General Public License for more details.
14
--
15
--  You should have received a copy of the GNU General Public License
16
--  along with this program; if not, write to the Free Software
17
--  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 
18
-----------------------------------------------------------------------------
19
-- Entity:      grusbhc_net
20
-- File:        grusbhc_net.vhd
21
-- Author:      Jonas Ekergarn - Gaisler Research
22
-- Description: GRUSBHC netlist wrapper
23
------------------------------------------------------------------------------
24
library ieee;
25
use ieee.std_logic_1164.all;
26
library techmap;
27
use techmap.gencomp.all;
28
 
29
entity grusbhc_net is
30
  generic (
31
    tech        : integer := 0;
32
    nports      : integer range 1 to 15 := 1;
33
    ehcgen      : integer range 0 to 1 := 1;
34
    uhcgen      : integer range 0 to 1 := 1;
35
    n_cc        : integer range 1 to 15 := 1;
36
    n_pcc       : integer range 1 to 15 := 1;
37
    prr         : integer range 0 to 1 := 0;
38
    portroute1  : integer := 0;
39
    portroute2  : integer := 0;
40
    endian_conv : integer range 0 to 1 := 1;
41
    be_regs     : integer range 0 to 1 := 0;
42
    be_desc     : integer range 0 to 1 := 0;
43
    uhcblo      : integer range 0 to 255 := 2;
44
    bwrd        : integer range 1 to 256 := 16;
45
    utm_type    : integer range 0 to 2 := 2;
46
    vbusconf    : integer range 0 to 3 := 3;
47
    ramtest     : integer range 0 to 1 := 0;
48
    urst_time   : integer := 250;
49
    oepol       : integer range 0 to 1 := 0;
50
    scantest    : integer := 0;
51
    memtech     : integer range 0 to NTECH := DEFMEMTECH);
52
  port (
53
    clk               : in  std_ulogic;
54
    uclk              : in  std_ulogic;
55
    rst               : in  std_ulogic;
56
    ursti             : in  std_ulogic;
57
    -- EHC apb_slv_in_type unwrapped
58
    ehc_apbsi_psel    : in  std_ulogic;
59
    ehc_apbsi_penable : in  std_ulogic;
60
    ehc_apbsi_paddr   : in  std_logic_vector(31 downto 0);
61
    ehc_apbsi_pwrite  : in  std_ulogic;
62
    ehc_apbsi_pwdata  : in  std_logic_vector(31 downto 0);
63
    ehc_apbsi_testen  : in  std_ulogic;
64
    ehc_apbsi_testrst : in  std_ulogic;
65
    ehc_apbsi_scanen  : in  std_ulogic;
66
    -- EHC apb_slv_out_type unwrapped
67
    ehc_apbso_prdata  : out std_logic_vector(31 downto 0);
68
    ehc_apbso_pirq    : out std_ulogic;
69
    -- EHC/UHC ahb_mst_in_type unwrapped
70
    ahbmi_hgrant      : in  std_logic_vector(n_cc*uhcgen downto 0);
71
    ahbmi_hready      : in  std_ulogic;
72
    ahbmi_hresp       : in  std_logic_vector(1 downto 0);
73
    ahbmi_hrdata      : in  std_logic_vector(31 downto 0);
74
    ahbmi_hcache      : in  std_ulogic;
75
    ahbmi_testen      : in  std_ulogic;
76
    ahbmi_testrst     : in  std_ulogic;
77
    ahbmi_scanen      : in  std_ulogic;
78
    -- UHC ahb_slv_in_type unwrapped
79
    uhc_ahbsi_hsel    : in  std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
80
    uhc_ahbsi_haddr   : in  std_logic_vector(31 downto 0);
81
    uhc_ahbsi_hwrite  : in  std_ulogic;
82
    uhc_ahbsi_htrans  : in  std_logic_vector(1 downto 0);
83
    uhc_ahbsi_hsize   : in  std_logic_vector(2 downto 0);
84
    uhc_ahbsi_hwdata  : in  std_logic_vector(31 downto 0);
85
    uhc_ahbsi_hready  : in  std_ulogic;
86
    uhc_ahbsi_testen  : in  std_ulogic;
87
    uhc_ahbsi_testrst : in  std_ulogic;
88
    uhc_ahbsi_scanen  : in  std_ulogic;
89
    -- EHC ahb_mst_out_type_unwrapped 
90
    ehc_ahbmo_hbusreq : out std_ulogic;
91
    ehc_ahbmo_hlock   : out std_ulogic;
92
    ehc_ahbmo_htrans  : out std_logic_vector(1 downto 0);
93
    ehc_ahbmo_haddr   : out std_logic_vector(31 downto 0);
94
    ehc_ahbmo_hwrite  : out std_ulogic;
95
    ehc_ahbmo_hsize   : out std_logic_vector(2 downto 0);
96
    ehc_ahbmo_hburst  : out std_logic_vector(2 downto 0);
97
    ehc_ahbmo_hprot   : out std_logic_vector(3 downto 0);
98
    ehc_ahbmo_hwdata  : out std_logic_vector(31 downto 0);
99
    -- UHC ahb_mst_out_vector_type unwrapped
100
    uhc_ahbmo_hbusreq : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
101
    uhc_ahbmo_hlock   : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
102
    uhc_ahbmo_htrans  : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
103
    uhc_ahbmo_haddr   : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
104
    uhc_ahbmo_hwrite  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
105
    uhc_ahbmo_hsize   : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
106
    uhc_ahbmo_hburst  : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
107
    uhc_ahbmo_hprot   : out std_logic_vector((n_cc*4)*uhcgen downto 1*uhcgen);
108
    uhc_ahbmo_hwdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
109
    -- UHC ahb_slv_out_vector_type unwrapped
110
    uhc_ahbso_hready  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
111
    uhc_ahbso_hresp   : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
112
    uhc_ahbso_hrdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
113
    uhc_ahbso_hsplit  : out std_logic_vector((n_cc*16)*uhcgen downto 1*uhcgen);
114
    uhc_ahbso_hcache  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
115
    uhc_ahbso_hirq    : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
116
    -- grusb_out_type_vector unwrapped
117
    xcvrsel           : out std_logic_vector(((nports*2)-1) downto 0);
118
    termsel           : out std_logic_vector((nports-1) downto 0);
119
    opmode            : out std_logic_vector(((nports*2)-1) downto 0);
120
    txvalid           : out std_logic_vector((nports-1) downto 0);
121
    drvvbus           : out std_logic_vector((nports-1) downto 0);
122
    dataho            : out std_logic_vector(((nports*8)-1) downto 0);
123
    validho           : out std_logic_vector((nports-1) downto 0);
124
    stp               : out std_logic_vector((nports-1) downto 0);
125
    datao             : out std_logic_vector(((nports*8)-1) downto 0);
126
    utm_rst           : out std_logic_vector((nports-1) downto 0);
127
    dctrlo            : out std_logic_vector((nports-1) downto 0);
128
    suspendm          : out std_ulogic;
129
    dbus16_8          : out std_ulogic;
130
    dppulldown        : out std_ulogic;
131
    dmpulldown        : out std_ulogic;
132
    idpullup          : out std_ulogic;
133
    dischrgvbus       : out std_ulogic;
134
    chrgvbus          : out std_ulogic;
135
    txbitstuffenable  : out std_ulogic;
136
    txbitstuffenableh : out std_ulogic;
137
    fslsserialmode    : out std_ulogic;
138
    txenablen         : out std_ulogic;
139
    txdat             : out std_ulogic;
140
    txse0             : out std_ulogic;
141
    -- grusb_in_type_vector unwrapped
142
    linestate         : in  std_logic_vector(((nports*2)-1) downto 0);
143
    txready           : in  std_logic_vector((nports-1) downto 0);
144
    rxvalid           : in  std_logic_vector((nports-1) downto 0);
145
    rxactive          : in  std_logic_vector((nports-1) downto 0);
146
    rxerror           : in  std_logic_vector((nports-1) downto 0);
147
    vbusvalid         : in  std_logic_vector((nports-1) downto 0);
148
    datahi            : in  std_logic_vector(((nports*8)-1) downto 0);
149
    validhi           : in  std_logic_vector((nports-1) downto 0);
150
    hostdisc          : in  std_logic_vector((nports-1) downto 0);
151
    nxt               : in  std_logic_vector((nports-1) downto 0);
152
    dir               : in  std_logic_vector((nports-1) downto 0);
153
    datai             : in  std_logic_vector(((nports*8)-1) downto 0);
154
    -- EHC transaction buffer signals
155
    mbc20_tb_addr     : out std_logic_vector(8 downto 0);
156
    mbc20_tb_data     : out std_logic_vector(31 downto 0);
157
    mbc20_tb_en       : out std_ulogic;
158
    mbc20_tb_wel      : out std_ulogic;
159
    mbc20_tb_weh      : out std_ulogic;
160
    tb_mbc20_data     : in  std_logic_vector(31 downto 0);
161
    pe20_tb_addr      : out std_logic_vector(8 downto 0);
162
    pe20_tb_data      : out std_logic_vector(31 downto 0);
163
    pe20_tb_en        : out std_ulogic;
164
    pe20_tb_wel       : out std_ulogic;
165
    pe20_tb_weh       : out std_ulogic;
166
    tb_pe20_data      : in  std_logic_vector(31 downto 0);
167
    -- EHC packet buffer signals
168
    mbc20_pb_addr     : out std_logic_vector(8 downto 0);
169
    mbc20_pb_data     : out std_logic_vector(31 downto 0);
170
    mbc20_pb_en       : out std_ulogic;
171
    mbc20_pb_we       : out std_ulogic;
172
    pb_mbc20_data     : in  std_logic_vector(31 downto 0);
173
    sie20_pb_addr     : out std_logic_vector(8 downto 0);
174
    sie20_pb_data     : out std_logic_vector(31 downto 0);
175
    sie20_pb_en       : out std_ulogic;
176
    sie20_pb_we       : out std_ulogic;
177
    pb_sie20_data     : in  std_logic_vector(31 downto 0);
178
    -- UHC packet buffer signals
179
    sie11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
180
    sie11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
181
    sie11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
182
    sie11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
183
    pb_sie11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
184
    mbc11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
185
    mbc11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
186
    mbc11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
187
    mbc11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
188
    pb_mbc11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
189
    bufsel            : out std_ulogic);
190
end grusbhc_net;
191
 
192
architecture rtl of grusbhc_net is
193
 
194
  component grusbhc_unisim is
195
    generic (
196
      nports      : integer range 1 to 15 := 1;
197
      ehcgen      : integer range 0 to 1 := 1;
198
      uhcgen      : integer range 0 to 1 := 1;
199
      n_cc        : integer range 1 to 15 := 1;
200
      n_pcc       : integer range 1 to 15 := 1;
201
      prr         : integer range 0 to 1 := 0;
202
      portroute1  : integer := 0;
203
      portroute2  : integer := 0;
204
      endian_conv : integer range 0 to 1 := 1;
205
      be_regs     : integer range 0 to 1 := 0;
206
      be_desc     : integer range 0 to 1 := 0;
207
      uhcblo      : integer range 0 to 255 := 2;
208
      bwrd        : integer range 1 to 256 := 16;
209
      utm_type    : integer range 0 to 2 := 2;
210
      vbusconf    : integer range 0 to 3 := 3;
211
      ramtest     : integer range 0 to 1 := 0;
212
      urst_time   : integer := 250;
213
      oepol       : integer range 0 to 1 := 0;
214
      scantest    : integer := 0;
215
      memtech     : integer range 0 to NTECH := DEFMEMTECH
216
    );
217
    port (
218
      clk               : in  std_ulogic;
219
      uclk              : in  std_ulogic;
220
      rst               : in  std_ulogic;
221
      ursti             : in  std_ulogic;
222
      -- EHC apb_slv_in_type unwrapped
223
      ehc_apbsi_psel    : in  std_ulogic;
224
      ehc_apbsi_penable : in  std_ulogic;
225
      ehc_apbsi_paddr   : in  std_logic_vector(31 downto 0);
226
      ehc_apbsi_pwrite  : in  std_ulogic;
227
      ehc_apbsi_pwdata  : in  std_logic_vector(31 downto 0);
228
      ehc_apbsi_testen  : in  std_ulogic;
229
      ehc_apbsi_testrst : in  std_ulogic;
230
      ehc_apbsi_scanen  : in  std_ulogic;
231
      -- EHC apb_slv_out_type unwrapped
232
      ehc_apbso_prdata  : out std_logic_vector(31 downto 0);
233
      ehc_apbso_pirq    : out std_ulogic;
234
      -- EHC/UHC ahb_mst_in_type unwrapped
235
      ahbmi_hgrant      : in  std_logic_vector(n_cc*uhcgen downto 0);
236
      ahbmi_hready      : in  std_ulogic;
237
      ahbmi_hresp       : in  std_logic_vector(1 downto 0);
238
      ahbmi_hrdata      : in  std_logic_vector(31 downto 0);
239
      ahbmi_hcache      : in  std_ulogic;
240
      ahbmi_testen      : in  std_ulogic;
241
      ahbmi_testrst     : in  std_ulogic;
242
      ahbmi_scanen      : in  std_ulogic;
243
      -- UHC ahb_slv_in_type unwrapped
244
      uhc_ahbsi_hsel    : in  std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
245
      uhc_ahbsi_haddr   : in  std_logic_vector(31 downto 0);
246
      uhc_ahbsi_hwrite  : in  std_ulogic;
247
      uhc_ahbsi_htrans  : in  std_logic_vector(1 downto 0);
248
      uhc_ahbsi_hsize   : in  std_logic_vector(2 downto 0);
249
      uhc_ahbsi_hwdata  : in  std_logic_vector(31 downto 0);
250
      uhc_ahbsi_hready  : in  std_ulogic;
251
      uhc_ahbsi_testen  : in  std_ulogic;
252
      uhc_ahbsi_testrst : in  std_ulogic;
253
      uhc_ahbsi_scanen  : in  std_ulogic;
254
      -- EHC ahb_mst_out_type_unwrapped 
255
      ehc_ahbmo_hbusreq : out std_ulogic;
256
      ehc_ahbmo_hlock   : out std_ulogic;
257
      ehc_ahbmo_htrans  : out std_logic_vector(1 downto 0);
258
      ehc_ahbmo_haddr   : out std_logic_vector(31 downto 0);
259
      ehc_ahbmo_hwrite  : out std_ulogic;
260
      ehc_ahbmo_hsize   : out std_logic_vector(2 downto 0);
261
      ehc_ahbmo_hburst  : out std_logic_vector(2 downto 0);
262
      ehc_ahbmo_hprot   : out std_logic_vector(3 downto 0);
263
      ehc_ahbmo_hwdata  : out std_logic_vector(31 downto 0);
264
      -- UHC ahb_mst_out_vector_type unwrapped
265
      uhc_ahbmo_hbusreq : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
266
      uhc_ahbmo_hlock   : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
267
      uhc_ahbmo_htrans  : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
268
      uhc_ahbmo_haddr   : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
269
      uhc_ahbmo_hwrite  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
270
      uhc_ahbmo_hsize   : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
271
      uhc_ahbmo_hburst  : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
272
      uhc_ahbmo_hprot   : out std_logic_vector((n_cc*4)*uhcgen downto 1*uhcgen);
273
      uhc_ahbmo_hwdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
274
      -- UHC ahb_slv_out_vector_type unwrapped
275
      uhc_ahbso_hready  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
276
      uhc_ahbso_hresp   : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
277
      uhc_ahbso_hrdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
278
      uhc_ahbso_hsplit  : out std_logic_vector((n_cc*16)*uhcgen downto 1*uhcgen);
279
      uhc_ahbso_hcache  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
280
      uhc_ahbso_hirq    : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
281
      -- grusb_out_type_vector unwrapped
282
      xcvrsel           : out std_logic_vector(((nports*2)-1) downto 0);
283
      termsel           : out std_logic_vector((nports-1) downto 0);
284
      opmode            : out std_logic_vector(((nports*2)-1) downto 0);
285
      txvalid           : out std_logic_vector((nports-1) downto 0);
286
      drvvbus           : out std_logic_vector((nports-1) downto 0);
287
      dataho            : out std_logic_vector(((nports*8)-1) downto 0);
288
      validho           : out std_logic_vector((nports-1) downto 0);
289
      stp               : out std_logic_vector((nports-1) downto 0);
290
      datao             : out std_logic_vector(((nports*8)-1) downto 0);
291
      utm_rst           : out std_logic_vector((nports-1) downto 0);
292
      dctrlo            : out std_logic_vector((nports-1) downto 0);
293
      suspendm          : out std_ulogic;
294
      dbus16_8          : out std_ulogic;
295
      dppulldown        : out std_ulogic;
296
      dmpulldown        : out std_ulogic;
297
      idpullup          : out std_ulogic;
298
      dischrgvbus       : out std_ulogic;
299
      chrgvbus          : out std_ulogic;
300
      txbitstuffenable  : out std_ulogic;
301
      txbitstuffenableh : out std_ulogic;
302
      fslsserialmode    : out std_ulogic;
303
      txenablen         : out std_ulogic;
304
      txdat             : out std_ulogic;
305
      txse0             : out std_ulogic;
306
      -- grusb_in_type_vector unwrapped
307
      linestate         : in  std_logic_vector(((nports*2)-1) downto 0);
308
      txready           : in  std_logic_vector((nports-1) downto 0);
309
      rxvalid           : in  std_logic_vector((nports-1) downto 0);
310
      rxactive          : in  std_logic_vector((nports-1) downto 0);
311
      rxerror           : in  std_logic_vector((nports-1) downto 0);
312
      vbusvalid         : in  std_logic_vector((nports-1) downto 0);
313
      datahi            : in  std_logic_vector(((nports*8)-1) downto 0);
314
      validhi           : in  std_logic_vector((nports-1) downto 0);
315
      hostdisc          : in  std_logic_vector((nports-1) downto 0);
316
      nxt               : in  std_logic_vector((nports-1) downto 0);
317
      dir               : in  std_logic_vector((nports-1) downto 0);
318
      datai             : in  std_logic_vector(((nports*8)-1) downto 0);
319
      -- EHC transaction buffer signals
320
      mbc20_tb_addr     : out std_logic_vector(8 downto 0);
321
      mbc20_tb_data     : out std_logic_vector(31 downto 0);
322
      mbc20_tb_en       : out std_ulogic;
323
      mbc20_tb_wel      : out std_ulogic;
324
      mbc20_tb_weh      : out std_ulogic;
325
      tb_mbc20_data     : in  std_logic_vector(31 downto 0);
326
      pe20_tb_addr      : out std_logic_vector(8 downto 0);
327
      pe20_tb_data      : out std_logic_vector(31 downto 0);
328
      pe20_tb_en        : out std_ulogic;
329
      pe20_tb_wel       : out std_ulogic;
330
      pe20_tb_weh       : out std_ulogic;
331
      tb_pe20_data      : in  std_logic_vector(31 downto 0);
332
      -- EHC packet buffer signals
333
      mbc20_pb_addr     : out std_logic_vector(8 downto 0);
334
      mbc20_pb_data     : out std_logic_vector(31 downto 0);
335
      mbc20_pb_en       : out std_ulogic;
336
      mbc20_pb_we       : out std_ulogic;
337
      pb_mbc20_data     : in  std_logic_vector(31 downto 0);
338
      sie20_pb_addr     : out std_logic_vector(8 downto 0);
339
      sie20_pb_data     : out std_logic_vector(31 downto 0);
340
      sie20_pb_en       : out std_ulogic;
341
      sie20_pb_we       : out std_ulogic;
342
      pb_sie20_data     : in  std_logic_vector(31 downto 0);
343
      -- UHC packet buffer signals
344
      sie11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
345
      sie11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
346
      sie11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
347
      sie11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
348
      pb_sie11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
349
      mbc11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
350
      mbc11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
351
      mbc11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
352
      mbc11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
353
      pb_mbc11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
354
      bufsel            : out std_ulogic);
355
  end component;
356
 
357
  component grusbhc_stratixii is
358
    generic (
359
      nports      : integer range 1 to 15 := 1;
360
      ehcgen      : integer range 0 to 1 := 1;
361
      uhcgen      : integer range 0 to 1 := 1;
362
      n_cc        : integer range 1 to 15 := 1;
363
      n_pcc       : integer range 1 to 15 := 1;
364
      prr         : integer range 0 to 1 := 0;
365
      portroute1  : integer := 0;
366
      portroute2  : integer := 0;
367
      endian_conv : integer range 0 to 1 := 1;
368
      be_regs     : integer range 0 to 1 := 0;
369
      be_desc     : integer range 0 to 1 := 0;
370
      uhcblo      : integer range 0 to 255 := 2;
371
      bwrd        : integer range 1 to 256 := 16;
372
      utm_type    : integer range 0 to 2 := 2;
373
      vbusconf    : integer range 0 to 3 := 3;
374
      ramtest     : integer range 0 to 1 := 0;
375
      urst_time   : integer := 250;
376
      oepol       : integer range 0 to 1 := 0;
377
      scantest    : integer := 0;
378
      memtech     : integer range 0 to NTECH := DEFMEMTECH
379
    );
380
    port (
381
      clk               : in  std_ulogic;
382
      uclk              : in  std_ulogic;
383
      rst               : in  std_ulogic;
384
      ursti             : in  std_ulogic;
385
      -- EHC apb_slv_in_type unwrapped
386
      ehc_apbsi_psel    : in  std_ulogic;
387
      ehc_apbsi_penable : in  std_ulogic;
388
      ehc_apbsi_paddr   : in  std_logic_vector(31 downto 0);
389
      ehc_apbsi_pwrite  : in  std_ulogic;
390
      ehc_apbsi_pwdata  : in  std_logic_vector(31 downto 0);
391
      ehc_apbsi_testen  : in  std_ulogic;
392
      ehc_apbsi_testrst : in  std_ulogic;
393
      ehc_apbsi_scanen  : in  std_ulogic;
394
      -- EHC apb_slv_out_type unwrapped
395
      ehc_apbso_prdata  : out std_logic_vector(31 downto 0);
396
      ehc_apbso_pirq    : out std_ulogic;
397
      -- EHC/UHC ahb_mst_in_type unwrapped
398
      ahbmi_hgrant      : in  std_logic_vector(n_cc*uhcgen downto 0);
399
      ahbmi_hready      : in  std_ulogic;
400
      ahbmi_hresp       : in  std_logic_vector(1 downto 0);
401
      ahbmi_hrdata      : in  std_logic_vector(31 downto 0);
402
      ahbmi_hcache      : in  std_ulogic;
403
      ahbmi_testen      : in  std_ulogic;
404
      ahbmi_testrst     : in  std_ulogic;
405
      ahbmi_scanen      : in  std_ulogic;
406
      -- UHC ahb_slv_in_type unwrapped
407
      uhc_ahbsi_hsel    : in  std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
408
      uhc_ahbsi_haddr   : in  std_logic_vector(31 downto 0);
409
      uhc_ahbsi_hwrite  : in  std_ulogic;
410
      uhc_ahbsi_htrans  : in  std_logic_vector(1 downto 0);
411
      uhc_ahbsi_hsize   : in  std_logic_vector(2 downto 0);
412
      uhc_ahbsi_hwdata  : in  std_logic_vector(31 downto 0);
413
      uhc_ahbsi_hready  : in  std_ulogic;
414
      uhc_ahbsi_testen  : in  std_ulogic;
415
      uhc_ahbsi_testrst : in  std_ulogic;
416
      uhc_ahbsi_scanen  : in  std_ulogic;
417
      -- EHC ahb_mst_out_type_unwrapped 
418
      ehc_ahbmo_hbusreq : out std_ulogic;
419
      ehc_ahbmo_hlock   : out std_ulogic;
420
      ehc_ahbmo_htrans  : out std_logic_vector(1 downto 0);
421
      ehc_ahbmo_haddr   : out std_logic_vector(31 downto 0);
422
      ehc_ahbmo_hwrite  : out std_ulogic;
423
      ehc_ahbmo_hsize   : out std_logic_vector(2 downto 0);
424
      ehc_ahbmo_hburst  : out std_logic_vector(2 downto 0);
425
      ehc_ahbmo_hprot   : out std_logic_vector(3 downto 0);
426
      ehc_ahbmo_hwdata  : out std_logic_vector(31 downto 0);
427
      -- UHC ahb_mst_out_vector_type unwrapped
428
      uhc_ahbmo_hbusreq : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
429
      uhc_ahbmo_hlock   : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
430
      uhc_ahbmo_htrans  : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
431
      uhc_ahbmo_haddr   : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
432
      uhc_ahbmo_hwrite  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
433
      uhc_ahbmo_hsize   : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
434
      uhc_ahbmo_hburst  : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
435
      uhc_ahbmo_hprot   : out std_logic_vector((n_cc*4)*uhcgen downto 1*uhcgen);
436
      uhc_ahbmo_hwdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
437
      -- UHC ahb_slv_out_vector_type unwrapped
438
      uhc_ahbso_hready  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
439
      uhc_ahbso_hresp   : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
440
      uhc_ahbso_hrdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
441
      uhc_ahbso_hsplit  : out std_logic_vector((n_cc*16)*uhcgen downto 1*uhcgen);
442
      uhc_ahbso_hcache  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
443
      uhc_ahbso_hirq    : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
444
      -- grusb_out_type_vector unwrapped
445
      xcvrsel           : out std_logic_vector(((nports*2)-1) downto 0);
446
      termsel           : out std_logic_vector((nports-1) downto 0);
447
      opmode            : out std_logic_vector(((nports*2)-1) downto 0);
448
      txvalid           : out std_logic_vector((nports-1) downto 0);
449
      drvvbus           : out std_logic_vector((nports-1) downto 0);
450
      dataho            : out std_logic_vector(((nports*8)-1) downto 0);
451
      validho           : out std_logic_vector((nports-1) downto 0);
452
      stp               : out std_logic_vector((nports-1) downto 0);
453
      datao             : out std_logic_vector(((nports*8)-1) downto 0);
454
      utm_rst           : out std_logic_vector((nports-1) downto 0);
455
      dctrlo            : out std_logic_vector((nports-1) downto 0);
456
      suspendm          : out std_ulogic;
457
      dbus16_8          : out std_ulogic;
458
      dppulldown        : out std_ulogic;
459
      dmpulldown        : out std_ulogic;
460
      idpullup          : out std_ulogic;
461
      dischrgvbus       : out std_ulogic;
462
      chrgvbus          : out std_ulogic;
463
      txbitstuffenable  : out std_ulogic;
464
      txbitstuffenableh : out std_ulogic;
465
      fslsserialmode    : out std_ulogic;
466
      txenablen         : out std_ulogic;
467
      txdat             : out std_ulogic;
468
      txse0             : out std_ulogic;
469
      -- grusb_in_type_vector unwrapped
470
      linestate         : in  std_logic_vector(((nports*2)-1) downto 0);
471
      txready           : in  std_logic_vector((nports-1) downto 0);
472
      rxvalid           : in  std_logic_vector((nports-1) downto 0);
473
      rxactive          : in  std_logic_vector((nports-1) downto 0);
474
      rxerror           : in  std_logic_vector((nports-1) downto 0);
475
      vbusvalid         : in  std_logic_vector((nports-1) downto 0);
476
      datahi            : in  std_logic_vector(((nports*8)-1) downto 0);
477
      validhi           : in  std_logic_vector((nports-1) downto 0);
478
      hostdisc          : in  std_logic_vector((nports-1) downto 0);
479
      nxt               : in  std_logic_vector((nports-1) downto 0);
480
      dir               : in  std_logic_vector((nports-1) downto 0);
481
      datai             : in  std_logic_vector(((nports*8)-1) downto 0);
482
      -- EHC transaction buffer signals
483
      mbc20_tb_addr     : out std_logic_vector(8 downto 0);
484
      mbc20_tb_data     : out std_logic_vector(31 downto 0);
485
      mbc20_tb_en       : out std_ulogic;
486
      mbc20_tb_wel      : out std_ulogic;
487
      mbc20_tb_weh      : out std_ulogic;
488
      tb_mbc20_data     : in  std_logic_vector(31 downto 0);
489
      pe20_tb_addr      : out std_logic_vector(8 downto 0);
490
      pe20_tb_data      : out std_logic_vector(31 downto 0);
491
      pe20_tb_en        : out std_ulogic;
492
      pe20_tb_wel       : out std_ulogic;
493
      pe20_tb_weh       : out std_ulogic;
494
      tb_pe20_data      : in  std_logic_vector(31 downto 0);
495
      -- EHC packet buffer signals
496
      mbc20_pb_addr     : out std_logic_vector(8 downto 0);
497
      mbc20_pb_data     : out std_logic_vector(31 downto 0);
498
      mbc20_pb_en       : out std_ulogic;
499
      mbc20_pb_we       : out std_ulogic;
500
      pb_mbc20_data     : in  std_logic_vector(31 downto 0);
501
      sie20_pb_addr     : out std_logic_vector(8 downto 0);
502
      sie20_pb_data     : out std_logic_vector(31 downto 0);
503
      sie20_pb_en       : out std_ulogic;
504
      sie20_pb_we       : out std_ulogic;
505
      pb_sie20_data     : in  std_logic_vector(31 downto 0);
506
      -- UHC packet buffer signals
507
      sie11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
508
      sie11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
509
      sie11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
510
      sie11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
511
      pb_sie11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
512
      mbc11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
513
      mbc11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
514
      mbc11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
515
      mbc11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
516
      pb_mbc11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
517
      bufsel            : out std_ulogic);
518
  end component;
519
 
520
  component grusbhc_axcelerator is
521
    generic (
522
      nports      : integer range 1 to 15 := 1;
523
      ehcgen      : integer range 0 to 1 := 1;
524
      uhcgen      : integer range 0 to 1 := 1;
525
      n_cc        : integer range 1 to 15 := 1;
526
      n_pcc       : integer range 1 to 15 := 1;
527
      prr         : integer range 0 to 1 := 0;
528
      portroute1  : integer := 0;
529
      portroute2  : integer := 0;
530
      endian_conv : integer range 0 to 1 := 1;
531
      be_regs     : integer range 0 to 1 := 0;
532
      be_desc     : integer range 0 to 1 := 0;
533
      uhcblo      : integer range 0 to 255 := 2;
534
      bwrd        : integer range 1 to 256 := 16;
535
      utm_type    : integer range 0 to 2 := 2;
536
      vbusconf    : integer range 0 to 3 := 3;
537
      ramtest     : integer range 0 to 1 := 0;
538
      urst_time   : integer := 250;
539
      oepol       : integer range 0 to 1 := 0;
540
      scantest    : integer := 0;
541
      memtech     : integer range 0 to NTECH := DEFMEMTECH
542
    );
543
    port (
544
      clk               : in  std_ulogic;
545
      uclk              : in  std_ulogic;
546
      rst               : in  std_ulogic;
547
      ursti             : in  std_ulogic;
548
      -- EHC apb_slv_in_type unwrapped
549
      ehc_apbsi_psel    : in  std_ulogic;
550
      ehc_apbsi_penable : in  std_ulogic;
551
      ehc_apbsi_paddr   : in  std_logic_vector(31 downto 0);
552
      ehc_apbsi_pwrite  : in  std_ulogic;
553
      ehc_apbsi_pwdata  : in  std_logic_vector(31 downto 0);
554
      ehc_apbsi_testen  : in  std_ulogic;
555
      ehc_apbsi_testrst : in  std_ulogic;
556
      ehc_apbsi_scanen  : in  std_ulogic;
557
      -- EHC apb_slv_out_type unwrapped
558
      ehc_apbso_prdata  : out std_logic_vector(31 downto 0);
559
      ehc_apbso_pirq    : out std_ulogic;
560
      -- EHC/UHC ahb_mst_in_type unwrapped
561
      ahbmi_hgrant      : in  std_logic_vector(n_cc*uhcgen downto 0);
562
      ahbmi_hready      : in  std_ulogic;
563
      ahbmi_hresp       : in  std_logic_vector(1 downto 0);
564
      ahbmi_hrdata      : in  std_logic_vector(31 downto 0);
565
      ahbmi_hcache      : in  std_ulogic;
566
      ahbmi_testen      : in  std_ulogic;
567
      ahbmi_testrst     : in  std_ulogic;
568
      ahbmi_scanen      : in  std_ulogic;
569
      -- UHC ahb_slv_in_type unwrapped
570
      uhc_ahbsi_hsel    : in  std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
571
      uhc_ahbsi_haddr   : in  std_logic_vector(31 downto 0);
572
      uhc_ahbsi_hwrite  : in  std_ulogic;
573
      uhc_ahbsi_htrans  : in  std_logic_vector(1 downto 0);
574
      uhc_ahbsi_hsize   : in  std_logic_vector(2 downto 0);
575
      uhc_ahbsi_hwdata  : in  std_logic_vector(31 downto 0);
576
      uhc_ahbsi_hready  : in  std_ulogic;
577
      uhc_ahbsi_testen  : in  std_ulogic;
578
      uhc_ahbsi_testrst : in  std_ulogic;
579
      uhc_ahbsi_scanen  : in  std_ulogic;
580
      -- EHC ahb_mst_out_type_unwrapped 
581
      ehc_ahbmo_hbusreq : out std_ulogic;
582
      ehc_ahbmo_hlock   : out std_ulogic;
583
      ehc_ahbmo_htrans  : out std_logic_vector(1 downto 0);
584
      ehc_ahbmo_haddr   : out std_logic_vector(31 downto 0);
585
      ehc_ahbmo_hwrite  : out std_ulogic;
586
      ehc_ahbmo_hsize   : out std_logic_vector(2 downto 0);
587
      ehc_ahbmo_hburst  : out std_logic_vector(2 downto 0);
588
      ehc_ahbmo_hprot   : out std_logic_vector(3 downto 0);
589
      ehc_ahbmo_hwdata  : out std_logic_vector(31 downto 0);
590
      -- UHC ahb_mst_out_vector_type unwrapped
591
      uhc_ahbmo_hbusreq : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
592
      uhc_ahbmo_hlock   : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
593
      uhc_ahbmo_htrans  : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
594
      uhc_ahbmo_haddr   : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
595
      uhc_ahbmo_hwrite  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
596
      uhc_ahbmo_hsize   : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
597
      uhc_ahbmo_hburst  : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
598
      uhc_ahbmo_hprot   : out std_logic_vector((n_cc*4)*uhcgen downto 1*uhcgen);
599
      uhc_ahbmo_hwdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
600
      -- UHC ahb_slv_out_vector_type unwrapped
601
      uhc_ahbso_hready  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
602
      uhc_ahbso_hresp   : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
603
      uhc_ahbso_hrdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
604
      uhc_ahbso_hsplit  : out std_logic_vector((n_cc*16)*uhcgen downto 1*uhcgen);
605
      uhc_ahbso_hcache  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
606
      uhc_ahbso_hirq    : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
607
      -- grusb_out_type_vector unwrapped
608
      xcvrsel           : out std_logic_vector(((nports*2)-1) downto 0);
609
      termsel           : out std_logic_vector((nports-1) downto 0);
610
      opmode            : out std_logic_vector(((nports*2)-1) downto 0);
611
      txvalid           : out std_logic_vector((nports-1) downto 0);
612
      drvvbus           : out std_logic_vector((nports-1) downto 0);
613
      dataho            : out std_logic_vector(((nports*8)-1) downto 0);
614
      validho           : out std_logic_vector((nports-1) downto 0);
615
      stp               : out std_logic_vector((nports-1) downto 0);
616
      datao             : out std_logic_vector(((nports*8)-1) downto 0);
617
      utm_rst           : out std_logic_vector((nports-1) downto 0);
618
      dctrlo            : out std_logic_vector((nports-1) downto 0);
619
      suspendm          : out std_ulogic;
620
      dbus16_8          : out std_ulogic;
621
      dppulldown        : out std_ulogic;
622
      dmpulldown        : out std_ulogic;
623
      idpullup          : out std_ulogic;
624
      dischrgvbus       : out std_ulogic;
625
      chrgvbus          : out std_ulogic;
626
      txbitstuffenable  : out std_ulogic;
627
      txbitstuffenableh : out std_ulogic;
628
      fslsserialmode    : out std_ulogic;
629
      txenablen         : out std_ulogic;
630
      txdat             : out std_ulogic;
631
      txse0             : out std_ulogic;
632
      -- grusb_in_type_vector unwrapped
633
      linestate         : in  std_logic_vector(((nports*2)-1) downto 0);
634
      txready           : in  std_logic_vector((nports-1) downto 0);
635
      rxvalid           : in  std_logic_vector((nports-1) downto 0);
636
      rxactive          : in  std_logic_vector((nports-1) downto 0);
637
      rxerror           : in  std_logic_vector((nports-1) downto 0);
638
      vbusvalid         : in  std_logic_vector((nports-1) downto 0);
639
      datahi            : in  std_logic_vector(((nports*8)-1) downto 0);
640
      validhi           : in  std_logic_vector((nports-1) downto 0);
641
      hostdisc          : in  std_logic_vector((nports-1) downto 0);
642
      nxt               : in  std_logic_vector((nports-1) downto 0);
643
      dir               : in  std_logic_vector((nports-1) downto 0);
644
      datai             : in  std_logic_vector(((nports*8)-1) downto 0);
645
      -- EHC transaction buffer signals
646
      mbc20_tb_addr     : out std_logic_vector(8 downto 0);
647
      mbc20_tb_data     : out std_logic_vector(31 downto 0);
648
      mbc20_tb_en       : out std_ulogic;
649
      mbc20_tb_wel      : out std_ulogic;
650
      mbc20_tb_weh      : out std_ulogic;
651
      tb_mbc20_data     : in  std_logic_vector(31 downto 0);
652
      pe20_tb_addr      : out std_logic_vector(8 downto 0);
653
      pe20_tb_data      : out std_logic_vector(31 downto 0);
654
      pe20_tb_en        : out std_ulogic;
655
      pe20_tb_wel       : out std_ulogic;
656
      pe20_tb_weh       : out std_ulogic;
657
      tb_pe20_data      : in  std_logic_vector(31 downto 0);
658
      -- EHC packet buffer signals
659
      mbc20_pb_addr     : out std_logic_vector(8 downto 0);
660
      mbc20_pb_data     : out std_logic_vector(31 downto 0);
661
      mbc20_pb_en       : out std_ulogic;
662
      mbc20_pb_we       : out std_ulogic;
663
      pb_mbc20_data     : in  std_logic_vector(31 downto 0);
664
      sie20_pb_addr     : out std_logic_vector(8 downto 0);
665
      sie20_pb_data     : out std_logic_vector(31 downto 0);
666
      sie20_pb_en       : out std_ulogic;
667
      sie20_pb_we       : out std_ulogic;
668
      pb_sie20_data     : in  std_logic_vector(31 downto 0);
669
      -- UHC packet buffer signals
670
      sie11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
671
      sie11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
672
      sie11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
673
      sie11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
674
      pb_sie11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
675
      mbc11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
676
      mbc11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
677
      mbc11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
678
      mbc11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
679
      pb_mbc11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
680
      bufsel            : out std_ulogic);
681
  end component;
682
 
683
begin
684
 
685
  xil : if (tech = virtex2) or (tech = virtex4) or (tech = virtex5) or
686
        (tech = spartan3) or (tech = spartan3e) generate
687
    usbhc0 : grusbhc_unisim
688
      generic map(
689
        nports      => nports,
690
        ehcgen      => ehcgen,
691
        uhcgen      => uhcgen,
692
        n_cc        => n_cc,
693
        n_pcc       => n_pcc,
694
        prr         => prr,
695
        portroute1  => portroute1,
696
        portroute2  => portroute2,
697
        endian_conv => endian_conv,
698
        be_regs     => be_regs,
699
        be_desc     => be_desc,
700
        uhcblo      => uhcblo,
701
        bwrd        => bwrd,
702
        utm_type    => utm_type,
703
        vbusconf    => vbusconf,
704
        ramtest     => ramtest,
705
        urst_time   => urst_time,
706
        oepol       => oepol,
707
        scantest    => scantest,
708
        memtech     => memtech)
709
      port map(
710
        clk               => clk,
711
        uclk              => uclk,
712
        rst               => rst,
713
        ursti             => ursti,
714
        -- EHC apb_slv_in_type unwrapped
715
        ehc_apbsi_psel    => ehc_apbsi_psel,
716
        ehc_apbsi_penable => ehc_apbsi_penable,
717
        ehc_apbsi_paddr   => ehc_apbsi_paddr,
718
        ehc_apbsi_pwrite  => ehc_apbsi_pwrite,
719
        ehc_apbsi_pwdata  => ehc_apbsi_pwdata,
720
        ehc_apbsi_testen  => ehc_apbsi_testen,
721
        ehc_apbsi_testrst => ehc_apbsi_testrst,
722
        ehc_apbsi_scanen  => ehc_apbsi_scanen,
723
        -- EHC apb_slv_out_type unwrapped
724
        ehc_apbso_prdata  => ehc_apbso_prdata,
725
        ehc_apbso_pirq    => ehc_apbso_pirq,
726
        -- EHC/UHC ahb_mst_in_type unwrapped
727
        ahbmi_hgrant      => ahbmi_hgrant,
728
        ahbmi_hready      => ahbmi_hready,
729
        ahbmi_hresp       => ahbmi_hresp,
730
        ahbmi_hrdata      => ahbmi_hrdata,
731
        ahbmi_hcache      => ahbmi_hcache,
732
        ahbmi_testen      => ahbmi_testen,
733
        ahbmi_testrst     => ahbmi_testrst,
734
        ahbmi_scanen      => ahbmi_scanen,
735
        -- UHC ahb_slv_in_type unwrapped
736
        uhc_ahbsi_hsel    => uhc_ahbsi_hsel,
737
        uhc_ahbsi_haddr   => uhc_ahbsi_haddr,
738
        uhc_ahbsi_hwrite  => uhc_ahbsi_hwrite,
739
        uhc_ahbsi_htrans  => uhc_ahbsi_htrans,
740
        uhc_ahbsi_hsize   => uhc_ahbsi_hsize,
741
        uhc_ahbsi_hwdata  => uhc_ahbsi_hwdata,
742
        uhc_ahbsi_hready  => uhc_ahbsi_hready,
743
        uhc_ahbsi_testen  => uhc_ahbsi_testen,
744
        uhc_ahbsi_testrst => uhc_ahbsi_testrst,
745
        uhc_ahbsi_scanen  => uhc_ahbsi_scanen,
746
        -- EHC ahb_mst_out_type_unwrapped 
747
        ehc_ahbmo_hbusreq => ehc_ahbmo_hbusreq,
748
        ehc_ahbmo_hlock   => ehc_ahbmo_hlock,
749
        ehc_ahbmo_htrans  => ehc_ahbmo_htrans,
750
        ehc_ahbmo_haddr   => ehc_ahbmo_haddr,
751
        ehc_ahbmo_hwrite  => ehc_ahbmo_hwrite,
752
        ehc_ahbmo_hsize   => ehc_ahbmo_hsize,
753
        ehc_ahbmo_hburst  => ehc_ahbmo_hburst,
754
        ehc_ahbmo_hprot   => ehc_ahbmo_hprot,
755
        ehc_ahbmo_hwdata  => ehc_ahbmo_hwdata,
756
        -- UHC ahb_mst_out_vector_type unwrapped
757
        uhc_ahbmo_hbusreq => uhc_ahbmo_hbusreq,
758
        uhc_ahbmo_hlock   => uhc_ahbmo_hlock,
759
        uhc_ahbmo_htrans  => uhc_ahbmo_htrans,
760
        uhc_ahbmo_haddr   => uhc_ahbmo_haddr,
761
        uhc_ahbmo_hwrite  => uhc_ahbmo_hwrite,
762
        uhc_ahbmo_hsize   => uhc_ahbmo_hsize,
763
        uhc_ahbmo_hburst  => uhc_ahbmo_hburst,
764
        uhc_ahbmo_hprot   => uhc_ahbmo_hprot,
765
        uhc_ahbmo_hwdata  => uhc_ahbmo_hwdata,
766
        -- UHC ahb_slv_out_vector_type unwrapped 
767
        uhc_ahbso_hready  => uhc_ahbso_hready,
768
        uhc_ahbso_hresp   => uhc_ahbso_hresp,
769
        uhc_ahbso_hrdata  => uhc_ahbso_hrdata,
770
        uhc_ahbso_hsplit  => uhc_ahbso_hsplit,
771
        uhc_ahbso_hcache  => uhc_ahbso_hcache,
772
        uhc_ahbso_hirq    => uhc_ahbso_hirq,
773
        -- grusb_out_type_vector unwrapped
774
        xcvrsel           => xcvrsel,
775
        termsel           => termsel,
776
        opmode            => opmode,
777
        txvalid           => txvalid,
778
        drvvbus           => drvvbus,
779
        dataho            => dataho,
780
        validho           => validho,
781
        stp               => stp,
782
        datao             => datao,
783
        utm_rst           => utm_rst,
784
        dctrlo            => dctrlo,
785
        suspendm          => suspendm,
786
        dbus16_8          => dbus16_8,
787
        dppulldown        => dppulldown,
788
        dmpulldown        => dmpulldown,
789
        idpullup          => idpullup,
790
        dischrgvbus       => dischrgvbus,
791
        chrgvbus          => chrgvbus,
792
        txbitstuffenable  => txbitstuffenable,
793
        txbitstuffenableh => txbitstuffenableh,
794
        fslsserialmode    => fslsserialmode,
795
        txenablen         => txenablen,
796
        txdat             => txdat,
797
        txse0             => txse0,
798
        -- grusb_in_type_vector unwrapped
799
        linestate         => linestate,
800
        txready           => txready,
801
        rxvalid           => rxvalid,
802
        rxactive          => rxactive,
803
        rxerror           => rxerror,
804
        vbusvalid         => vbusvalid,
805
        datahi            => datahi,
806
        validhi           => validhi,
807
        hostdisc          => hostdisc,
808
        nxt               => nxt,
809
        dir               => dir,
810
        datai             => datai,
811
        -- EHC transaction buffer signals
812
        mbc20_tb_addr     => mbc20_tb_addr,
813
        mbc20_tb_data     => mbc20_tb_data,
814
        mbc20_tb_en       => mbc20_tb_en,
815
        mbc20_tb_wel      => mbc20_tb_wel,
816
        mbc20_tb_weh      => mbc20_tb_weh,
817
        tb_mbc20_data     => tb_mbc20_data,
818
        pe20_tb_addr      => pe20_tb_addr,
819
        pe20_tb_data      => pe20_tb_data,
820
        pe20_tb_en        => pe20_tb_en,
821
        pe20_tb_wel       => pe20_tb_wel,
822
        pe20_tb_weh       => pe20_tb_weh,
823
        tb_pe20_data      => tb_pe20_data,
824
        -- EHC packet buffer signals
825
        mbc20_pb_addr     => mbc20_pb_addr,
826
        mbc20_pb_data     => mbc20_pb_data,
827
        mbc20_pb_en       => mbc20_pb_en,
828
        mbc20_pb_we       => mbc20_pb_we,
829
        pb_mbc20_data     => pb_mbc20_data,
830
        sie20_pb_addr     => sie20_pb_addr,
831
        sie20_pb_data     => sie20_pb_data,
832
        sie20_pb_en       => sie20_pb_en,
833
        sie20_pb_we       => sie20_pb_we,
834
        pb_sie20_data     => pb_sie20_data,
835
        -- UHC packet buffer signals
836
        sie11_pb_addr     => sie11_pb_addr,
837
        sie11_pb_data     => sie11_pb_data,
838
        sie11_pb_en       => sie11_pb_en,
839
        sie11_pb_we       => sie11_pb_we,
840
        pb_sie11_data     => pb_sie11_data,
841
        mbc11_pb_addr     => mbc11_pb_addr,
842
        mbc11_pb_data     => mbc11_pb_data,
843
        mbc11_pb_en       => mbc11_pb_en,
844
        mbc11_pb_we       => mbc11_pb_we,
845
        pb_mbc11_data     => pb_mbc11_data,
846
        bufsel            => bufsel);
847
  end generate;
848
 
849
  alt : if (tech = altera) or (tech = stratix1) or (tech = stratix2) or
850
        (tech = stratix3) or (tech = cyclone3) generate
851
    usbhc0 : grusbhc_stratixii
852
      generic map(
853
        nports      => nports,
854
        ehcgen      => ehcgen,
855
        uhcgen      => uhcgen,
856
        n_cc        => n_cc,
857
        n_pcc       => n_pcc,
858
        prr         => prr,
859
        portroute1  => portroute1,
860
        portroute2  => portroute2,
861
        endian_conv => endian_conv,
862
        be_regs     => be_regs,
863
        be_desc     => be_desc,
864
        uhcblo      => uhcblo,
865
        bwrd        => bwrd,
866
        utm_type    => utm_type,
867
        vbusconf    => vbusconf,
868
        ramtest     => ramtest,
869
        urst_time   => urst_time,
870
        oepol       => oepol,
871
        scantest    => scantest,
872
        memtech     => memtech)
873
      port map(
874
        clk               => clk,
875
        uclk              => uclk,
876
        rst               => rst,
877
        ursti             => ursti,
878
        -- EHC apb_slv_in_type unwrapped
879
        ehc_apbsi_psel    => ehc_apbsi_psel,
880
        ehc_apbsi_penable => ehc_apbsi_penable,
881
        ehc_apbsi_paddr   => ehc_apbsi_paddr,
882
        ehc_apbsi_pwrite  => ehc_apbsi_pwrite,
883
        ehc_apbsi_pwdata  => ehc_apbsi_pwdata,
884
        ehc_apbsi_testen  => ehc_apbsi_testen,
885
        ehc_apbsi_testrst => ehc_apbsi_testrst,
886
        ehc_apbsi_scanen  => ehc_apbsi_scanen,
887
        -- EHC apb_slv_out_type unwrapped
888
        ehc_apbso_prdata  => ehc_apbso_prdata,
889
        ehc_apbso_pirq    => ehc_apbso_pirq,
890
        -- EHC/UHC ahb_mst_in_type unwrapped
891
        ahbmi_hgrant      => ahbmi_hgrant,
892
        ahbmi_hready      => ahbmi_hready,
893
        ahbmi_hresp       => ahbmi_hresp,
894
        ahbmi_hrdata      => ahbmi_hrdata,
895
        ahbmi_hcache      => ahbmi_hcache,
896
        ahbmi_testen      => ahbmi_testen,
897
        ahbmi_testrst     => ahbmi_testrst,
898
        ahbmi_scanen      => ahbmi_scanen,
899
        -- UHC ahb_slv_in_type unwrapped
900
        uhc_ahbsi_hsel    => uhc_ahbsi_hsel,
901
        uhc_ahbsi_haddr   => uhc_ahbsi_haddr,
902
        uhc_ahbsi_hwrite  => uhc_ahbsi_hwrite,
903
        uhc_ahbsi_htrans  => uhc_ahbsi_htrans,
904
        uhc_ahbsi_hsize   => uhc_ahbsi_hsize,
905
        uhc_ahbsi_hwdata  => uhc_ahbsi_hwdata,
906
        uhc_ahbsi_hready  => uhc_ahbsi_hready,
907
        uhc_ahbsi_testen  => uhc_ahbsi_testen,
908
        uhc_ahbsi_testrst => uhc_ahbsi_testrst,
909
        uhc_ahbsi_scanen  => uhc_ahbsi_scanen,
910
        -- EHC ahb_mst_out_type_unwrapped 
911
        ehc_ahbmo_hbusreq => ehc_ahbmo_hbusreq,
912
        ehc_ahbmo_hlock   => ehc_ahbmo_hlock,
913
        ehc_ahbmo_htrans  => ehc_ahbmo_htrans,
914
        ehc_ahbmo_haddr   => ehc_ahbmo_haddr,
915
        ehc_ahbmo_hwrite  => ehc_ahbmo_hwrite,
916
        ehc_ahbmo_hsize   => ehc_ahbmo_hsize,
917
        ehc_ahbmo_hburst  => ehc_ahbmo_hburst,
918
        ehc_ahbmo_hprot   => ehc_ahbmo_hprot,
919
        ehc_ahbmo_hwdata  => ehc_ahbmo_hwdata,
920
        -- UHC ahb_mst_out_vector_type unwrapped
921
        uhc_ahbmo_hbusreq => uhc_ahbmo_hbusreq,
922
        uhc_ahbmo_hlock   => uhc_ahbmo_hlock,
923
        uhc_ahbmo_htrans  => uhc_ahbmo_htrans,
924
        uhc_ahbmo_haddr   => uhc_ahbmo_haddr,
925
        uhc_ahbmo_hwrite  => uhc_ahbmo_hwrite,
926
        uhc_ahbmo_hsize   => uhc_ahbmo_hsize,
927
        uhc_ahbmo_hburst  => uhc_ahbmo_hburst,
928
        uhc_ahbmo_hprot   => uhc_ahbmo_hprot,
929
        uhc_ahbmo_hwdata  => uhc_ahbmo_hwdata,
930
        -- UHC ahb_slv_out_vector_type unwrapped 
931
        uhc_ahbso_hready  => uhc_ahbso_hready,
932
        uhc_ahbso_hresp   => uhc_ahbso_hresp,
933
        uhc_ahbso_hrdata  => uhc_ahbso_hrdata,
934
        uhc_ahbso_hsplit  => uhc_ahbso_hsplit,
935
        uhc_ahbso_hcache  => uhc_ahbso_hcache,
936
        uhc_ahbso_hirq    => uhc_ahbso_hirq,
937
        -- grusb_out_type_vector unwrapped
938
        xcvrsel           => xcvrsel,
939
        termsel           => termsel,
940
        opmode            => opmode,
941
        txvalid           => txvalid,
942
        drvvbus           => drvvbus,
943
        dataho            => dataho,
944
        validho           => validho,
945
        stp               => stp,
946
        datao             => datao,
947
        utm_rst           => utm_rst,
948
        dctrlo            => dctrlo,
949
        suspendm          => suspendm,
950
        dbus16_8          => dbus16_8,
951
        dppulldown        => dppulldown,
952
        dmpulldown        => dmpulldown,
953
        idpullup          => idpullup,
954
        dischrgvbus       => dischrgvbus,
955
        chrgvbus          => chrgvbus,
956
        txbitstuffenable  => txbitstuffenable,
957
        txbitstuffenableh => txbitstuffenableh,
958
        fslsserialmode    => fslsserialmode,
959
        txenablen         => txenablen,
960
        txdat             => txdat,
961
        txse0             => txse0,
962
        -- grusb_in_type_vector unwrapped
963
        linestate         => linestate,
964
        txready           => txready,
965
        rxvalid           => rxvalid,
966
        rxactive          => rxactive,
967
        rxerror           => rxerror,
968
        vbusvalid         => vbusvalid,
969
        datahi            => datahi,
970
        validhi           => validhi,
971
        hostdisc          => hostdisc,
972
        nxt               => nxt,
973
        dir               => dir,
974
        datai             => datai,
975
        -- EHC transaction buffer signals
976
        mbc20_tb_addr     => mbc20_tb_addr,
977
        mbc20_tb_data     => mbc20_tb_data,
978
        mbc20_tb_en       => mbc20_tb_en,
979
        mbc20_tb_wel      => mbc20_tb_wel,
980
        mbc20_tb_weh      => mbc20_tb_weh,
981
        tb_mbc20_data     => tb_mbc20_data,
982
        pe20_tb_addr      => pe20_tb_addr,
983
        pe20_tb_data      => pe20_tb_data,
984
        pe20_tb_en        => pe20_tb_en,
985
        pe20_tb_wel       => pe20_tb_wel,
986
        pe20_tb_weh       => pe20_tb_weh,
987
        tb_pe20_data      => tb_pe20_data,
988
        -- EHC packet buffer signals
989
        mbc20_pb_addr     => mbc20_pb_addr,
990
        mbc20_pb_data     => mbc20_pb_data,
991
        mbc20_pb_en       => mbc20_pb_en,
992
        mbc20_pb_we       => mbc20_pb_we,
993
        pb_mbc20_data     => pb_mbc20_data,
994
        sie20_pb_addr     => sie20_pb_addr,
995
        sie20_pb_data     => sie20_pb_data,
996
        sie20_pb_en       => sie20_pb_en,
997
        sie20_pb_we       => sie20_pb_we,
998
        pb_sie20_data     => pb_sie20_data,
999
        -- UHC packet buffer signals
1000
        sie11_pb_addr     => sie11_pb_addr,
1001
        sie11_pb_data     => sie11_pb_data,
1002
        sie11_pb_en       => sie11_pb_en,
1003
        sie11_pb_we       => sie11_pb_we,
1004
        pb_sie11_data     => pb_sie11_data,
1005
        mbc11_pb_addr     => mbc11_pb_addr,
1006
        mbc11_pb_data     => mbc11_pb_data,
1007
        mbc11_pb_en       => mbc11_pb_en,
1008
        mbc11_pb_we       => mbc11_pb_we,
1009
        pb_mbc11_data     => pb_mbc11_data,
1010
        bufsel            => bufsel);
1011
  end generate;
1012
 
1013
  ax : if tech = axcel generate
1014
    usbhc0 : grusbhc_axcelerator
1015
      generic map(
1016
        nports      => nports,
1017
        ehcgen      => ehcgen,
1018
        uhcgen      => uhcgen,
1019
        n_cc        => n_cc,
1020
        n_pcc       => n_pcc,
1021
        prr         => prr,
1022
        portroute1  => portroute1,
1023
        portroute2  => portroute2,
1024
        endian_conv => endian_conv,
1025
        be_regs     => be_regs,
1026
        be_desc     => be_desc,
1027
        uhcblo      => uhcblo,
1028
        bwrd        => bwrd,
1029
        utm_type    => utm_type,
1030
        vbusconf    => vbusconf,
1031
        ramtest     => ramtest,
1032
        urst_time   => urst_time,
1033
        oepol       => oepol,
1034
        scantest    => scantest,
1035
        memtech     => memtech)
1036
      port map(
1037
        clk               => clk,
1038
        uclk              => uclk,
1039
        rst               => rst,
1040
        ursti             => ursti,
1041
        -- EHC apb_slv_in_type unwrapped
1042
        ehc_apbsi_psel    => ehc_apbsi_psel,
1043
        ehc_apbsi_penable => ehc_apbsi_penable,
1044
        ehc_apbsi_paddr   => ehc_apbsi_paddr,
1045
        ehc_apbsi_pwrite  => ehc_apbsi_pwrite,
1046
        ehc_apbsi_pwdata  => ehc_apbsi_pwdata,
1047
        ehc_apbsi_testen  => ehc_apbsi_testen,
1048
        ehc_apbsi_testrst => ehc_apbsi_testrst,
1049
        ehc_apbsi_scanen  => ehc_apbsi_scanen,
1050
        -- EHC apb_slv_out_type unwrapped
1051
        ehc_apbso_prdata  => ehc_apbso_prdata,
1052
        ehc_apbso_pirq    => ehc_apbso_pirq,
1053
        -- EHC/UHC ahb_mst_in_type unwrapped
1054
        ahbmi_hgrant      => ahbmi_hgrant,
1055
        ahbmi_hready      => ahbmi_hready,
1056
        ahbmi_hresp       => ahbmi_hresp,
1057
        ahbmi_hrdata      => ahbmi_hrdata,
1058
        ahbmi_hcache      => ahbmi_hcache,
1059
        ahbmi_testen      => ahbmi_testen,
1060
        ahbmi_testrst     => ahbmi_testrst,
1061
        ahbmi_scanen      => ahbmi_scanen,
1062
        -- UHC ahb_slv_in_type unwrapped
1063
        uhc_ahbsi_hsel    => uhc_ahbsi_hsel,
1064
        uhc_ahbsi_haddr   => uhc_ahbsi_haddr,
1065
        uhc_ahbsi_hwrite  => uhc_ahbsi_hwrite,
1066
        uhc_ahbsi_htrans  => uhc_ahbsi_htrans,
1067
        uhc_ahbsi_hsize   => uhc_ahbsi_hsize,
1068
        uhc_ahbsi_hwdata  => uhc_ahbsi_hwdata,
1069
        uhc_ahbsi_hready  => uhc_ahbsi_hready,
1070
        uhc_ahbsi_testen  => uhc_ahbsi_testen,
1071
        uhc_ahbsi_testrst => uhc_ahbsi_testrst,
1072
        uhc_ahbsi_scanen  => uhc_ahbsi_scanen,
1073
        -- EHC ahb_mst_out_type_unwrapped 
1074
        ehc_ahbmo_hbusreq => ehc_ahbmo_hbusreq,
1075
        ehc_ahbmo_hlock   => ehc_ahbmo_hlock,
1076
        ehc_ahbmo_htrans  => ehc_ahbmo_htrans,
1077
        ehc_ahbmo_haddr   => ehc_ahbmo_haddr,
1078
        ehc_ahbmo_hwrite  => ehc_ahbmo_hwrite,
1079
        ehc_ahbmo_hsize   => ehc_ahbmo_hsize,
1080
        ehc_ahbmo_hburst  => ehc_ahbmo_hburst,
1081
        ehc_ahbmo_hprot   => ehc_ahbmo_hprot,
1082
        ehc_ahbmo_hwdata  => ehc_ahbmo_hwdata,
1083
        -- UHC ahb_mst_out_vector_type unwrapped
1084
        uhc_ahbmo_hbusreq => uhc_ahbmo_hbusreq,
1085
        uhc_ahbmo_hlock   => uhc_ahbmo_hlock,
1086
        uhc_ahbmo_htrans  => uhc_ahbmo_htrans,
1087
        uhc_ahbmo_haddr   => uhc_ahbmo_haddr,
1088
        uhc_ahbmo_hwrite  => uhc_ahbmo_hwrite,
1089
        uhc_ahbmo_hsize   => uhc_ahbmo_hsize,
1090
        uhc_ahbmo_hburst  => uhc_ahbmo_hburst,
1091
        uhc_ahbmo_hprot   => uhc_ahbmo_hprot,
1092
        uhc_ahbmo_hwdata  => uhc_ahbmo_hwdata,
1093
        -- UHC ahb_slv_out_vector_type unwrapped 
1094
        uhc_ahbso_hready  => uhc_ahbso_hready,
1095
        uhc_ahbso_hresp   => uhc_ahbso_hresp,
1096
        uhc_ahbso_hrdata  => uhc_ahbso_hrdata,
1097
        uhc_ahbso_hsplit  => uhc_ahbso_hsplit,
1098
        uhc_ahbso_hcache  => uhc_ahbso_hcache,
1099
        uhc_ahbso_hirq    => uhc_ahbso_hirq,
1100
        -- grusb_out_type_vector unwrapped
1101
        xcvrsel           => xcvrsel,
1102
        termsel           => termsel,
1103
        opmode            => opmode,
1104
        txvalid           => txvalid,
1105
        drvvbus           => drvvbus,
1106
        dataho            => dataho,
1107
        validho           => validho,
1108
        stp               => stp,
1109
        datao             => datao,
1110
        utm_rst           => utm_rst,
1111
        dctrlo            => dctrlo,
1112
        suspendm          => suspendm,
1113
        dbus16_8          => dbus16_8,
1114
        dppulldown        => dppulldown,
1115
        dmpulldown        => dmpulldown,
1116
        idpullup          => idpullup,
1117
        dischrgvbus       => dischrgvbus,
1118
        chrgvbus          => chrgvbus,
1119
        txbitstuffenable  => txbitstuffenable,
1120
        txbitstuffenableh => txbitstuffenableh,
1121
        fslsserialmode    => fslsserialmode,
1122
        txenablen         => txenablen,
1123
        txdat             => txdat,
1124
        txse0             => txse0,
1125
        -- grusb_in_type_vector unwrapped
1126
        linestate         => linestate,
1127
        txready           => txready,
1128
        rxvalid           => rxvalid,
1129
        rxactive          => rxactive,
1130
        rxerror           => rxerror,
1131
        vbusvalid         => vbusvalid,
1132
        datahi            => datahi,
1133
        validhi           => validhi,
1134
        hostdisc          => hostdisc,
1135
        nxt               => nxt,
1136
        dir               => dir,
1137
        datai             => datai,
1138
        -- EHC transaction buffer signals
1139
        mbc20_tb_addr     => mbc20_tb_addr,
1140
        mbc20_tb_data     => mbc20_tb_data,
1141
        mbc20_tb_en       => mbc20_tb_en,
1142
        mbc20_tb_wel      => mbc20_tb_wel,
1143
        mbc20_tb_weh      => mbc20_tb_weh,
1144
        tb_mbc20_data     => tb_mbc20_data,
1145
        pe20_tb_addr      => pe20_tb_addr,
1146
        pe20_tb_data      => pe20_tb_data,
1147
        pe20_tb_en        => pe20_tb_en,
1148
        pe20_tb_wel       => pe20_tb_wel,
1149
        pe20_tb_weh       => pe20_tb_weh,
1150
        tb_pe20_data      => tb_pe20_data,
1151
        -- EHC packet buffer signals
1152
        mbc20_pb_addr     => mbc20_pb_addr,
1153
        mbc20_pb_data     => mbc20_pb_data,
1154
        mbc20_pb_en       => mbc20_pb_en,
1155
        mbc20_pb_we       => mbc20_pb_we,
1156
        pb_mbc20_data     => pb_mbc20_data,
1157
        sie20_pb_addr     => sie20_pb_addr,
1158
        sie20_pb_data     => sie20_pb_data,
1159
        sie20_pb_en       => sie20_pb_en,
1160
        sie20_pb_we       => sie20_pb_we,
1161
        pb_sie20_data     => pb_sie20_data,
1162
        -- UHC packet buffer signals
1163
        sie11_pb_addr     => sie11_pb_addr,
1164
        sie11_pb_data     => sie11_pb_data,
1165
        sie11_pb_en       => sie11_pb_en,
1166
        sie11_pb_we       => sie11_pb_we,
1167
        pb_sie11_data     => pb_sie11_data,
1168
        mbc11_pb_addr     => mbc11_pb_addr,
1169
        mbc11_pb_data     => mbc11_pb_data,
1170
        mbc11_pb_en       => mbc11_pb_en,
1171
        mbc11_pb_we       => mbc11_pb_we,
1172
        pb_mbc11_data     => pb_mbc11_data,
1173
        bufsel            => bufsel);
1174
  end generate;
1175
 
1176
  -- pragma translate_off
1177
  nonet : if not ((tech = virtex2) or (tech = virtex4) or (tech = virtex5) or
1178
                  (tech = spartan3) or (tech = spartan3e) or (tech = axcel) or
1179
                  (tech = stratix3) or (tech = cyclone3) or
1180
                  (tech = stratix1) or (tech = stratix2) or (tech = altera)) generate
1181
    err : process
1182
    begin
1183
      assert false report "ERROR : No GRUSBHC netlist available for this process!"
1184
        severity failure;
1185
      wait;
1186
    end process;
1187
  end generate;
1188
  -- pragma translate_on
1189
 
1190
 
1191
end rtl;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.