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

powered by: WebSVN 2.1.0

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