1 |
2 |
rehnmaak |
#--
|
2 |
|
|
#-- opb_usblite - opb_uartlite replacement
|
3 |
|
|
#--
|
4 |
|
|
#-- opb_usblite is using components from Rudolf Usselmann see
|
5 |
|
|
#-- http://www.opencores.org/cores/usb_phy/
|
6 |
|
|
#-- and Joris van Rantwijk see http://www.xs4all.nl/~rjoris/fpga/usb.html
|
7 |
|
|
#--
|
8 |
|
|
#-- Copyright (C) 2010 Ake Rehnman
|
9 |
|
|
#--
|
10 |
|
|
#-- This program is free software: you can redistribute it and/or modify
|
11 |
6 |
rehnmaak |
#-- it under the terms of the GNU Lesser General Public License as published by
|
12 |
2 |
rehnmaak |
#-- the Free Software Foundation, either version 3 of the License, or
|
13 |
|
|
#-- (at your option) any later version.
|
14 |
|
|
#--
|
15 |
|
|
#-- This program is distributed in the hope that it will be useful,
|
16 |
|
|
#-- but WITHOUT ANY WARRANTY; without even the implied warranty of
|
17 |
|
|
#-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
18 |
6 |
rehnmaak |
#-- GNU Lesser General Public License for more details.
|
19 |
2 |
rehnmaak |
#--
|
20 |
6 |
rehnmaak |
#-- You should have received a copy of the GNU Lesser General Public License
|
21 |
2 |
rehnmaak |
#-- along with this program. If not, see .
|
22 |
|
|
#--
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
BEGIN opb_usblite
|
26 |
|
|
|
27 |
|
|
## Peripheral Options
|
28 |
|
|
OPTION IPTYPE = PERIPHERAL
|
29 |
|
|
OPTION IMP_NETLIST = TRUE
|
30 |
|
|
OPTION HDL = VHDL
|
31 |
|
|
OPTION IP_GROUP = MICROBLAZE:PPC:USER
|
32 |
|
|
|
33 |
|
|
|
34 |
|
|
## Bus Interfaces
|
35 |
|
|
BUS_INTERFACE BUS = SOPB, BUS_STD = OPB, BUS_TYPE = SLAVE
|
36 |
|
|
|
37 |
|
|
## Generics for VHDL or Parameters for Verilog
|
38 |
|
|
PARAMETER C_OPB_AWIDTH = 32, DT = INTEGER, BUS = SOPB
|
39 |
|
|
PARAMETER C_OPB_DWIDTH = 32, DT = INTEGER, BUS = SOPB
|
40 |
|
|
PARAMETER C_BASEADDR = 0xffff0000, DT = std_logic_vector(0 to 31), PAIR = C_HIGHADDR, ADDRESS = BASE, BUS = SOPB
|
41 |
|
|
PARAMETER C_HIGHADDR = 0xffff00ff, DT = std_logic_vector, PAIR = C_BASEADDR, ADDRESS = HIGH, BUS = SOPB
|
42 |
|
|
PARAMETER C_SYSRST = 1, DT = std_logic
|
43 |
|
|
PARAMETER C_PHYMODE = 1, DT = std_logic
|
44 |
|
|
PARAMETER C_VENDORID = 0x1234, DT = std_logic_vector(15 downto 0)
|
45 |
|
|
PARAMETER C_PRODUCTID = 0x5678, DT = std_logic_vector(15 downto 0)
|
46 |
|
|
PARAMETER C_VERSIONBCD = 0x0200, DT = std_logic_vector(15 downto 0)
|
47 |
|
|
PARAMETER C_SELFPOWERED = false, DT = BOOLEAN
|
48 |
|
|
PARAMETER C_RXBUFSIZE_BITS = 10, DT = INTEGER
|
49 |
|
|
PARAMETER C_TXBUFSIZE_BITS = 10, DT = INTEGER
|
50 |
|
|
|
51 |
|
|
## Ports
|
52 |
|
|
PORT OPB_Clk = "", DIR = I, SIGIS = CLK, BUS = SOPB
|
53 |
|
|
PORT OPB_Rst = OPB_Rst, DIR = I, SIGIS = RST, BUS = SOPB
|
54 |
|
|
PORT SYS_Rst = "", DIR = I, SIGIS = RST
|
55 |
|
|
PORT USB_Clk = "", DIR = I, SIGIS = CLK
|
56 |
|
|
PORT OPB_ABus = OPB_ABus, DIR = I, VEC = [0:31], BUS = SOPB
|
57 |
|
|
PORT OPB_BE = OPB_BE, DIR = I, VEC = [0:3], BUS = SOPB
|
58 |
|
|
PORT OPB_RNW = OPB_RNW, DIR = I, BUS = SOPB
|
59 |
|
|
PORT OPB_select = OPB_select, DIR = I, BUS = SOPB
|
60 |
|
|
PORT OPB_seqAddr = OPB_seqAddr, DIR = I, BUS = SOPB
|
61 |
|
|
PORT OPB_DBus = OPB_DBus, DIR = I, VEC = [0:31], BUS = SOPB
|
62 |
|
|
PORT Sl_DBus = Sl_DBus, DIR = O, VEC = [0:31], BUS = SOPB
|
63 |
|
|
PORT Sl_errAck = Sl_errAck, DIR = O, BUS = SOPB
|
64 |
|
|
PORT Sl_retry = Sl_retry, DIR = O, BUS = SOPB
|
65 |
|
|
PORT Sl_toutSup = Sl_toutSup, DIR = O, BUS = SOPB
|
66 |
|
|
PORT Sl_xferAck = Sl_xferAck, DIR = O, BUS = SOPB
|
67 |
|
|
PORT Interrupt = "", DIR = O, LEVEL = HIGH, SIGIS = INTERRUPT, INTERRUPT_PRIORITY = LOW
|
68 |
|
|
PORT txdp = "", DIR = O
|
69 |
|
|
PORT txdn = "", DIR = O
|
70 |
|
|
PORT txoe = "", DIR = O
|
71 |
|
|
PORT rxd = "", DIR = I
|
72 |
|
|
PORT rxdp = "", DIR = I
|
73 |
|
|
PORT rxdn = "", DIR = I
|
74 |
|
|
|
75 |
|
|
END
|