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/] [stratixii/] [grusbhc_stratixii.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_stratixii
20
-- File:        grusbhc_stratixii.vhd
21
-- Author:      Jonas Ekergarn - Gaisler Research 
22
-- Description: tech wrapper for stratixii/altera GRUSBHC netlist
23
------------------------------------------------------------------------------
24
library ieee;
25
use ieee.std_logic_1164.all;
26
--library stratixii;
27
--use stratixii.stratixii_components.all;
28
--library altera_mf;
29
--use altera_mf.altera_mf_components.all;
30
library techmap;
31
use techmap.grusbhc_stratixiipkg.all;
32
use techmap.gencomp.all;
33
 
34
entity grusbhc_stratixii is
35
  generic (
36
    nports      : integer range 1 to 15 := 1;
37
    ehcgen      : integer range 0 to 1 := 1;
38
    uhcgen      : integer range 0 to 1 := 1;
39
    n_cc        : integer range 1 to 15 := 1;
40
    n_pcc       : integer range 1 to 15 := 1;
41
    prr         : integer range 0 to 1 := 0;
42
    portroute1  : integer := 0;
43
    portroute2  : integer := 0;
44
    endian_conv : integer range 0 to 1 := 1;
45
    be_regs     : integer range 0 to 1 := 0;
46
    be_desc     : integer range 0 to 1 := 0;
47
    uhcblo      : integer range 0 to 255 := 2;
48
    bwrd        : integer range 1 to 256 := 16;
49
    utm_type    : integer range 0 to 2 := 2;
50
    vbusconf    : integer range 0 to 3 := 3;
51
    ramtest     : integer range 0 to 1 := 0;
52
    urst_time   : integer := 250;
53
    oepol       : integer range 0 to 1 := 0;
54
    scantest    : integer := 0;
55
    memtech     : integer range 0 to NTECH := DEFMEMTECH
56
    );
57
  port (
58
    clk               : in  std_ulogic;
59
    uclk              : in  std_ulogic;
60
    rst               : in  std_ulogic;
61
    -- EHC apb_slv_in_type unwrapped
62
    ehc_apbsi_psel    : in  std_ulogic;
63
    ehc_apbsi_penable : in  std_ulogic;
64
    ehc_apbsi_paddr   : in  std_logic_vector(31 downto 0);
65
    ehc_apbsi_pwrite  : in  std_ulogic;
66
    ehc_apbsi_pwdata  : in  std_logic_vector(31 downto 0);
67
    ehc_apbsi_testen  : in  std_ulogic;
68
    ehc_apbsi_testrst : in  std_ulogic;
69
    ehc_apbsi_scanen  : in  std_ulogic;
70
    -- EHC apb_slv_out_type unwrapped
71
    ehc_apbso_prdata  : out std_logic_vector(31 downto 0);
72
    ehc_apbso_pirq    : out std_ulogic;
73
    -- EHC/UHC ahb_mst_in_type unwrapped
74
    ahbmi_hgrant      : in  std_logic_vector(n_cc*uhcgen downto 0);
75
    ahbmi_hready      : in  std_ulogic;
76
    ahbmi_hresp       : in  std_logic_vector(1 downto 0);
77
    ahbmi_hrdata      : in  std_logic_vector(31 downto 0);
78
    ahbmi_hcache      : in  std_ulogic;
79
    ahbmi_testen      : in  std_ulogic;
80
    ahbmi_testrst     : in  std_ulogic;
81
    ahbmi_scanen      : in  std_ulogic;
82
    -- UHC ahb_slv_in_type unwrapped
83
    uhc_ahbsi_hsel    : in  std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
84
    uhc_ahbsi_haddr   : in  std_logic_vector(31 downto 0);
85
    uhc_ahbsi_hwrite  : in  std_ulogic;
86
    uhc_ahbsi_htrans  : in  std_logic_vector(1 downto 0);
87
    uhc_ahbsi_hsize   : in  std_logic_vector(2 downto 0);
88
    uhc_ahbsi_hwdata  : in  std_logic_vector(31 downto 0);
89
    uhc_ahbsi_hready  : in  std_ulogic;
90
    uhc_ahbsi_testen  : in  std_ulogic;
91
    uhc_ahbsi_testrst : in  std_ulogic;
92
    uhc_ahbsi_scanen  : in  std_ulogic;
93
    -- EHC ahb_mst_out_type_unwrapped 
94
    ehc_ahbmo_hbusreq : out std_ulogic;
95
    ehc_ahbmo_hlock   : out std_ulogic;
96
    ehc_ahbmo_htrans  : out std_logic_vector(1 downto 0);
97
    ehc_ahbmo_haddr   : out std_logic_vector(31 downto 0);
98
    ehc_ahbmo_hwrite  : out std_ulogic;
99
    ehc_ahbmo_hsize   : out std_logic_vector(2 downto 0);
100
    ehc_ahbmo_hburst  : out std_logic_vector(2 downto 0);
101
    ehc_ahbmo_hprot   : out std_logic_vector(3 downto 0);
102
    ehc_ahbmo_hwdata  : out std_logic_vector(31 downto 0);
103
    -- UHC ahb_mst_out_vector_type unwrapped
104
    uhc_ahbmo_hbusreq : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
105
    uhc_ahbmo_hlock   : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
106
    uhc_ahbmo_htrans  : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
107
    uhc_ahbmo_haddr   : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
108
    uhc_ahbmo_hwrite  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
109
    uhc_ahbmo_hsize   : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
110
    uhc_ahbmo_hburst  : out std_logic_vector((n_cc*3)*uhcgen downto 1*uhcgen);
111
    uhc_ahbmo_hprot   : out std_logic_vector((n_cc*4)*uhcgen downto 1*uhcgen);
112
    uhc_ahbmo_hwdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
113
    -- UHC ahb_slv_out_vector_type unwrapped
114
    uhc_ahbso_hready  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
115
    uhc_ahbso_hresp   : out std_logic_vector((n_cc*2)*uhcgen downto 1*uhcgen);
116
    uhc_ahbso_hrdata  : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
117
    uhc_ahbso_hsplit  : out std_logic_vector((n_cc*16)*uhcgen downto 1*uhcgen);
118
    uhc_ahbso_hcache  : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
119
    uhc_ahbso_hirq    : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
120
    -- grusb_out_type_vector unwrapped
121
    xcvrsel           : out std_logic_vector(((nports*2)-1) downto 0);
122
    termsel           : out std_logic_vector((nports-1) downto 0);
123
    opmode            : out std_logic_vector(((nports*2)-1) downto 0);
124
    txvalid           : out std_logic_vector((nports-1) downto 0);
125
    drvvbus           : out std_logic_vector((nports-1) downto 0);
126
    dataho            : out std_logic_vector(((nports*8)-1) downto 0);
127
    validho           : out std_logic_vector((nports-1) downto 0);
128
    stp               : out std_logic_vector((nports-1) downto 0);
129
    datao             : out std_logic_vector(((nports*8)-1) downto 0);
130
    utm_rst           : out std_logic_vector((nports-1) downto 0);
131
    dctrlo            : out std_logic_vector((nports-1) downto 0);
132
    suspendm          : out std_ulogic;
133
    dbus16_8          : out std_ulogic;
134
    dppulldown        : out std_ulogic;
135
    dmpulldown        : out std_ulogic;
136
    idpullup          : out std_ulogic;
137
    dischrgvbus       : out std_ulogic;
138
    chrgvbus          : out std_ulogic;
139
    txbitstuffenable  : out std_ulogic;
140
    txbitstuffenableh : out std_ulogic;
141
    fslsserialmode    : out std_ulogic;
142
    txenablen         : out std_ulogic;
143
    txdat             : out std_ulogic;
144
    txse0             : out std_ulogic;
145
    -- grusb_in_type_vector unwrapped
146
    linestate         : in  std_logic_vector(((nports*2)-1) downto 0);
147
    txready           : in  std_logic_vector((nports-1) downto 0);
148
    rxvalid           : in  std_logic_vector((nports-1) downto 0);
149
    rxactive          : in  std_logic_vector((nports-1) downto 0);
150
    rxerror           : in  std_logic_vector((nports-1) downto 0);
151
    vbusvalid         : in  std_logic_vector((nports-1) downto 0);
152
    datahi            : in  std_logic_vector(((nports*8)-1) downto 0);
153
    validhi           : in  std_logic_vector((nports-1) downto 0);
154
    hostdisc          : in  std_logic_vector((nports-1) downto 0);
155
    nxt               : in  std_logic_vector((nports-1) downto 0);
156
    dir               : in  std_logic_vector((nports-1) downto 0);
157
    datai             : in  std_logic_vector(((nports*8)-1) downto 0);
158
    -- EHC transaction buffer signals
159
    mbc20_tb_addr     : out std_logic_vector(8 downto 0);
160
    mbc20_tb_data     : out std_logic_vector(31 downto 0);
161
    mbc20_tb_en       : out std_ulogic;
162
    mbc20_tb_wel      : out std_ulogic;
163
    mbc20_tb_weh      : out std_ulogic;
164
    tb_mbc20_data     : in  std_logic_vector(31 downto 0);
165
    pe20_tb_addr      : out std_logic_vector(8 downto 0);
166
    pe20_tb_data      : out std_logic_vector(31 downto 0);
167
    pe20_tb_en        : out std_ulogic;
168
    pe20_tb_wel       : out std_ulogic;
169
    pe20_tb_weh       : out std_ulogic;
170
    tb_pe20_data      : in  std_logic_vector(31 downto 0);
171
    -- EHC packet buffer signals
172
    mbc20_pb_addr     : out std_logic_vector(8 downto 0);
173
    mbc20_pb_data     : out std_logic_vector(31 downto 0);
174
    mbc20_pb_en       : out std_ulogic;
175
    mbc20_pb_we       : out std_ulogic;
176
    pb_mbc20_data     : in  std_logic_vector(31 downto 0);
177
    sie20_pb_addr     : out std_logic_vector(8 downto 0);
178
    sie20_pb_data     : out std_logic_vector(31 downto 0);
179
    sie20_pb_en       : out std_ulogic;
180
    sie20_pb_we       : out std_ulogic;
181
    pb_sie20_data     : in  std_logic_vector(31 downto 0);
182
    -- UHC packet buffer signals
183
    sie11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
184
    sie11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
185
    sie11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
186
    sie11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
187
    pb_sie11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
188
    mbc11_pb_addr     : out std_logic_vector((n_cc*9)*uhcgen downto 1*uhcgen);
189
    mbc11_pb_data     : out std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
190
    mbc11_pb_en       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
191
    mbc11_pb_we       : out std_logic_vector(n_cc*uhcgen downto 1*uhcgen);
192
    pb_mbc11_data     : in  std_logic_vector((n_cc*32)*uhcgen downto 1*uhcgen);
193
    bufsel            : out std_ulogic);
194
end grusbhc_stratixii;
195
 
196
architecture rtl of grusbhc_stratixii is
197
 
198
begin
199
 
200
  -----------------------------------------------------------------------------
201
  -- Howto add netlist maps:
202
  -- First check the different combination of generics below. If your
203
  -- configuration is not available then add a new one named comb<X+1> (where
204
  -- X is the value of the last combination defined below) by simply copy
205
  -- pasting one exicisting combination and changing the generics and component
206
  -- name. Then add a component decleration for that configuration in the file
207
  -- grusbhc_stratixiipkg.vhd by simply copy pasting the port decleration from
208
  -- the entity above and replacing n_cc, uhcgen, and nports with their actual
209
  -- values. Also add the combination of genercis as valid in the function
210
  -- valid_comb at the bottom of the file grusbhc_stratixiipkg.vhd
211
  -----------------------------------------------------------------------------
212
 
213
  comb0 : if nports     = 1 and
214
            ehcgen      = 0 and
215
            uhcgen      = 1 and
216
            n_cc        = 1 and
217
            n_pcc       = 1 and
218
            prr         = 0 and
219
            portroute1  = 0 and
220
            portroute2  = 0 and
221
            endian_conv = 1 and
222
            be_regs     = 0 and
223
            be_desc     = 0 and
224
            uhcblo      = 2 and
225
            bwrd        = 16 and
226
            utm_type    = 2 and
227
            vbusconf    = 3 and
228
            ramtest     = 0 and
229
            urst_time   = 250 and
230
            oepol       = 0 and
231
            scantest    = 0 generate
232
    usbhc0 : grusbhc_stratixii_comb0
233
      port map(
234
        clk,uclk,rst,ehc_apbsi_psel,ehc_apbsi_penable,ehc_apbsi_paddr,
235
        ehc_apbsi_pwrite,ehc_apbsi_pwdata,ehc_apbsi_testen,ehc_apbsi_testrst,
236
        ehc_apbsi_scanen,ehc_apbso_prdata,ehc_apbso_pirq,ahbmi_hgrant,
237
        ahbmi_hready,ahbmi_hresp,ahbmi_hrdata,ahbmi_hcache,ahbmi_testen,
238
        ahbmi_testrst,ahbmi_scanen,uhc_ahbsi_hsel,uhc_ahbsi_haddr,
239
        uhc_ahbsi_hwrite,uhc_ahbsi_htrans,uhc_ahbsi_hsize,uhc_ahbsi_hwdata,
240
        uhc_ahbsi_hready,uhc_ahbsi_testen,uhc_ahbsi_testrst,uhc_ahbsi_scanen,
241
        ehc_ahbmo_hbusreq,ehc_ahbmo_hlock,ehc_ahbmo_htrans,ehc_ahbmo_haddr,
242
        ehc_ahbmo_hwrite,ehc_ahbmo_hsize,ehc_ahbmo_hburst,ehc_ahbmo_hprot,
243
        ehc_ahbmo_hwdata,uhc_ahbmo_hbusreq,uhc_ahbmo_hlock,uhc_ahbmo_htrans,
244
        uhc_ahbmo_haddr,uhc_ahbmo_hwrite,uhc_ahbmo_hsize,uhc_ahbmo_hburst,
245
        uhc_ahbmo_hprot,uhc_ahbmo_hwdata,uhc_ahbso_hready,uhc_ahbso_hresp,
246
        uhc_ahbso_hrdata,uhc_ahbso_hsplit,uhc_ahbso_hcache,uhc_ahbso_hirq,
247
        xcvrsel,termsel,opmode,txvalid,drvvbus,dataho,validho,stp,datao,
248
        utm_rst,dctrlo,suspendm,dbus16_8,dppulldown,dmpulldown,idpullup,
249
        dischrgvbus,chrgvbus,txbitstuffenable,txbitstuffenableh,
250
        fslsserialmode,txenablen,txdat,txse0,
251
        linestate,txready,rxvalid,rxactive,rxerror,
252
        vbusvalid,datahi,validhi,hostdisc,nxt,dir,datai,mbc20_tb_addr,
253
        mbc20_tb_data,mbc20_tb_en,mbc20_tb_wel,mbc20_tb_weh,tb_mbc20_data,
254
        pe20_tb_addr,pe20_tb_data,pe20_tb_en,pe20_tb_wel,pe20_tb_weh,
255
        tb_pe20_data,mbc20_pb_addr,mbc20_pb_data,mbc20_pb_en,mbc20_pb_we,
256
        pb_mbc20_data,sie20_pb_addr,sie20_pb_data,sie20_pb_en,sie20_pb_we,
257
        pb_sie20_data,sie11_pb_addr,sie11_pb_data,sie11_pb_en,sie11_pb_we,
258
        pb_sie11_data,mbc11_pb_addr,mbc11_pb_data,mbc11_pb_en,mbc11_pb_we,
259
        pb_mbc11_data,bufsel);
260
  end generate comb0;
261
 
262
  comb1 : if nports     = 1 and
263
            ehcgen      = 1 and
264
            uhcgen      = 0 and
265
            n_cc        = 1 and
266
            n_pcc       = 1 and
267
            prr         = 0 and
268
            portroute1  = 0 and
269
            portroute2  = 0 and
270
            endian_conv = 1 and
271
            be_regs     = 0 and
272
            be_desc     = 0 and
273
            uhcblo      = 2 and
274
            bwrd        = 16 and
275
            utm_type    = 2 and
276
            vbusconf    = 3 and
277
            ramtest     = 0 and
278
            urst_time   = 250 and
279
            oepol       = 0 and
280
            scantest    = 0 generate
281
    usbhc0 : grusbhc_stratixii_comb1
282
      port map(
283
        clk,uclk,rst,ehc_apbsi_psel,ehc_apbsi_penable,ehc_apbsi_paddr,
284
        ehc_apbsi_pwrite,ehc_apbsi_pwdata,ehc_apbsi_testen,ehc_apbsi_testrst,
285
        ehc_apbsi_scanen,ehc_apbso_prdata,ehc_apbso_pirq,ahbmi_hgrant,
286
        ahbmi_hready,ahbmi_hresp,ahbmi_hrdata,ahbmi_hcache,ahbmi_testen,
287
        ahbmi_testrst,ahbmi_scanen,uhc_ahbsi_hsel,uhc_ahbsi_haddr,
288
        uhc_ahbsi_hwrite,uhc_ahbsi_htrans,uhc_ahbsi_hsize,uhc_ahbsi_hwdata,
289
        uhc_ahbsi_hready,uhc_ahbsi_testen,uhc_ahbsi_testrst,uhc_ahbsi_scanen,
290
        ehc_ahbmo_hbusreq,ehc_ahbmo_hlock,ehc_ahbmo_htrans,ehc_ahbmo_haddr,
291
        ehc_ahbmo_hwrite,ehc_ahbmo_hsize,ehc_ahbmo_hburst,ehc_ahbmo_hprot,
292
        ehc_ahbmo_hwdata,uhc_ahbmo_hbusreq,uhc_ahbmo_hlock,uhc_ahbmo_htrans,
293
        uhc_ahbmo_haddr,uhc_ahbmo_hwrite,uhc_ahbmo_hsize,uhc_ahbmo_hburst,
294
        uhc_ahbmo_hprot,uhc_ahbmo_hwdata,uhc_ahbso_hready,uhc_ahbso_hresp,
295
        uhc_ahbso_hrdata,uhc_ahbso_hsplit,uhc_ahbso_hcache,uhc_ahbso_hirq,
296
        xcvrsel,termsel,opmode,txvalid,drvvbus,dataho,validho,stp,datao,
297
        utm_rst,dctrlo,suspendm,dbus16_8,dppulldown,dmpulldown,idpullup,
298
        dischrgvbus,chrgvbus,txbitstuffenable,txbitstuffenableh,
299
        fslsserialmode,txenablen,txdat,txse0,
300
        linestate,txready,rxvalid,rxactive,rxerror,
301
        vbusvalid,datahi,validhi,hostdisc,nxt,dir,datai,mbc20_tb_addr,
302
        mbc20_tb_data,mbc20_tb_en,mbc20_tb_wel,mbc20_tb_weh,tb_mbc20_data,
303
        pe20_tb_addr,pe20_tb_data,pe20_tb_en,pe20_tb_wel,pe20_tb_weh,
304
        tb_pe20_data,mbc20_pb_addr,mbc20_pb_data,mbc20_pb_en,mbc20_pb_we,
305
        pb_mbc20_data,sie20_pb_addr,sie20_pb_data,sie20_pb_en,sie20_pb_we,
306
        pb_sie20_data,sie11_pb_addr,sie11_pb_data,sie11_pb_en,sie11_pb_we,
307
        pb_sie11_data,mbc11_pb_addr,mbc11_pb_data,mbc11_pb_en,mbc11_pb_we,
308
        pb_mbc11_data,bufsel);
309
  end generate comb1;
310
 
311
  comb2 : if nports     = 1 and
312
            ehcgen      = 1 and
313
            uhcgen      = 1 and
314
            n_cc        = 1 and
315
            n_pcc       = 1 and
316
            prr         = 0 and
317
            portroute1  = 0 and
318
            portroute2  = 0 and
319
            endian_conv = 1 and
320
            be_regs     = 0 and
321
            be_desc     = 0 and
322
            uhcblo      = 2 and
323
            bwrd        = 16 and
324
            utm_type    = 2 and
325
            vbusconf    = 3 and
326
            ramtest     = 0 and
327
            urst_time   = 250 and
328
            oepol       = 0 and
329
            scantest    = 0 generate
330
    usbhc0 : grusbhc_stratixii_comb2
331
      port map(
332
        clk,uclk,rst,ehc_apbsi_psel,ehc_apbsi_penable,ehc_apbsi_paddr,
333
        ehc_apbsi_pwrite,ehc_apbsi_pwdata,ehc_apbsi_testen,ehc_apbsi_testrst,
334
        ehc_apbsi_scanen,ehc_apbso_prdata,ehc_apbso_pirq,ahbmi_hgrant,
335
        ahbmi_hready,ahbmi_hresp,ahbmi_hrdata,ahbmi_hcache,ahbmi_testen,
336
        ahbmi_testrst,ahbmi_scanen,uhc_ahbsi_hsel,uhc_ahbsi_haddr,
337
        uhc_ahbsi_hwrite,uhc_ahbsi_htrans,uhc_ahbsi_hsize,uhc_ahbsi_hwdata,
338
        uhc_ahbsi_hready,uhc_ahbsi_testen,uhc_ahbsi_testrst,uhc_ahbsi_scanen,
339
        ehc_ahbmo_hbusreq,ehc_ahbmo_hlock,ehc_ahbmo_htrans,ehc_ahbmo_haddr,
340
        ehc_ahbmo_hwrite,ehc_ahbmo_hsize,ehc_ahbmo_hburst,ehc_ahbmo_hprot,
341
        ehc_ahbmo_hwdata,uhc_ahbmo_hbusreq,uhc_ahbmo_hlock,uhc_ahbmo_htrans,
342
        uhc_ahbmo_haddr,uhc_ahbmo_hwrite,uhc_ahbmo_hsize,uhc_ahbmo_hburst,
343
        uhc_ahbmo_hprot,uhc_ahbmo_hwdata,uhc_ahbso_hready,uhc_ahbso_hresp,
344
        uhc_ahbso_hrdata,uhc_ahbso_hsplit,uhc_ahbso_hcache,uhc_ahbso_hirq,
345
        xcvrsel,termsel,opmode,txvalid,drvvbus,dataho,validho,stp,datao,
346
        utm_rst,dctrlo,suspendm,dbus16_8,dppulldown,dmpulldown,idpullup,
347
        dischrgvbus,chrgvbus,txbitstuffenable,txbitstuffenableh,
348
        fslsserialmode,txenablen,txdat,txse0,
349
        linestate,txready,rxvalid,rxactive,rxerror,
350
        vbusvalid,datahi,validhi,hostdisc,nxt,dir,datai,mbc20_tb_addr,
351
        mbc20_tb_data,mbc20_tb_en,mbc20_tb_wel,mbc20_tb_weh,tb_mbc20_data,
352
        pe20_tb_addr,pe20_tb_data,pe20_tb_en,pe20_tb_wel,pe20_tb_weh,
353
        tb_pe20_data,mbc20_pb_addr,mbc20_pb_data,mbc20_pb_en,mbc20_pb_we,
354
        pb_mbc20_data,sie20_pb_addr,sie20_pb_data,sie20_pb_en,sie20_pb_we,
355
        pb_sie20_data,sie11_pb_addr,sie11_pb_data,sie11_pb_en,sie11_pb_we,
356
        pb_sie11_data,mbc11_pb_addr,mbc11_pb_data,mbc11_pb_en,mbc11_pb_we,
357
        pb_mbc11_data,bufsel);
358
  end generate comb2;
359
 
360
  comb3 : if nports     = 2 and
361
            ehcgen      = 1 and
362
            uhcgen      = 1 and
363
            n_cc        = 1 and
364
            n_pcc       = 2 and
365
            prr         = 0 and
366
            portroute1  = 0 and
367
            portroute2  = 0 and
368
            endian_conv = 1 and
369
            be_regs     = 0 and
370
            be_desc     = 0 and
371
            uhcblo      = 2 and
372
            bwrd        = 16 and
373
            utm_type    = 2 and
374
            vbusconf    = 3 and
375
            ramtest     = 0 and
376
            urst_time   = 250 and
377
            oepol       = 0 and
378
            scantest    = 0 generate
379
    usbhc0 : grusbhc_stratixii_comb3
380
      port map(
381
        clk,uclk,rst,ehc_apbsi_psel,ehc_apbsi_penable,ehc_apbsi_paddr,
382
        ehc_apbsi_pwrite,ehc_apbsi_pwdata,ehc_apbsi_testen,ehc_apbsi_testrst,
383
        ehc_apbsi_scanen,ehc_apbso_prdata,ehc_apbso_pirq,ahbmi_hgrant,
384
        ahbmi_hready,ahbmi_hresp,ahbmi_hrdata,ahbmi_hcache,ahbmi_testen,
385
        ahbmi_testrst,ahbmi_scanen,uhc_ahbsi_hsel,uhc_ahbsi_haddr,
386
        uhc_ahbsi_hwrite,uhc_ahbsi_htrans,uhc_ahbsi_hsize,uhc_ahbsi_hwdata,
387
        uhc_ahbsi_hready,uhc_ahbsi_testen,uhc_ahbsi_testrst,uhc_ahbsi_scanen,
388
        ehc_ahbmo_hbusreq,ehc_ahbmo_hlock,ehc_ahbmo_htrans,ehc_ahbmo_haddr,
389
        ehc_ahbmo_hwrite,ehc_ahbmo_hsize,ehc_ahbmo_hburst,ehc_ahbmo_hprot,
390
        ehc_ahbmo_hwdata,uhc_ahbmo_hbusreq,uhc_ahbmo_hlock,uhc_ahbmo_htrans,
391
        uhc_ahbmo_haddr,uhc_ahbmo_hwrite,uhc_ahbmo_hsize,uhc_ahbmo_hburst,
392
        uhc_ahbmo_hprot,uhc_ahbmo_hwdata,uhc_ahbso_hready,uhc_ahbso_hresp,
393
        uhc_ahbso_hrdata,uhc_ahbso_hsplit,uhc_ahbso_hcache,uhc_ahbso_hirq,
394
        xcvrsel,termsel,opmode,txvalid,drvvbus,dataho,validho,stp,datao,
395
        utm_rst,dctrlo,suspendm,dbus16_8,dppulldown,dmpulldown,idpullup,
396
        dischrgvbus,chrgvbus,txbitstuffenable,txbitstuffenableh,
397
        fslsserialmode,txenablen,txdat,txse0,
398
        linestate,txready,rxvalid,rxactive,rxerror,
399
        vbusvalid,datahi,validhi,hostdisc,nxt,dir,datai,mbc20_tb_addr,
400
        mbc20_tb_data,mbc20_tb_en,mbc20_tb_wel,mbc20_tb_weh,tb_mbc20_data,
401
        pe20_tb_addr,pe20_tb_data,pe20_tb_en,pe20_tb_wel,pe20_tb_weh,
402
        tb_pe20_data,mbc20_pb_addr,mbc20_pb_data,mbc20_pb_en,mbc20_pb_we,
403
        pb_mbc20_data,sie20_pb_addr,sie20_pb_data,sie20_pb_en,sie20_pb_we,
404
        pb_sie20_data,sie11_pb_addr,sie11_pb_data,sie11_pb_en,sie11_pb_we,
405
        pb_sie11_data,mbc11_pb_addr,mbc11_pb_data,mbc11_pb_en,mbc11_pb_we,
406
        pb_mbc11_data,bufsel);
407
  end generate comb3;
408
 
409
-- pragma translate_off
410
  nomap : if not valid_comb(nports,ehcgen,uhcgen,n_cc,n_pcc,prr,portroute1,
411
                            portroute2,endian_conv,be_regs,be_desc,uhcblo,bwrd,
412
                            utm_type,vbusconf,ramtest,urst_time,oepol,scantest)
413
  generate
414
    err : process
415
    begin
416
      assert false report "ERROR : Can't map a netlist for this combination" &
417
        "of generics"
418
        severity failure;
419
      wait;
420
    end process;
421
  end generate;
422
-- pragma translate_on
423
 
424
end rtl;

powered by: WebSVN 2.1.0

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