## Copyright (c) 1995-2007 Xilinx, Inc.  All rights reserved.

## You may copy and modify these files for your own internal use solely with
## Xilinx programmable logic devices and  Xilinx EDK system or create IP
## modules solely for Xilinx programmable logic devices and Xilinx EDK system.
## No rights are granted to distribute any files unless they are distributed in
## Xilinx programmable logic devices.

BEGIN user_io_board_controller_plbw

## Peripheral Options
OPTION RUN_NGCBUILD = TRUE
OPTION IMP_NETLIST = TRUE
OPTION STYLE = MIX
OPTION HDL = MIXED
OPTION IPTYPE = PERIPHERAL
OPTION LAST_UPDATED = 10.1.2.1250
OPTION USAGE_LEVEL = BASE_USER


IO_INTERFACE IO_IF = userio_board_controller, IO_TYPE = XIL_USERIOBOARD_V1

## Bus Interfaces
BUS_INTERFACE BUS = SPLB, BUS_STD = PLBV46, BUS_TYPE = SLAVE

## Generics for VHDL or Parameters for Verilog
PARAMETER C_BASEADDR = 0xffffffff, DT = std_logic_vector(0 to 31), BUS = SPLB, ADDRESS = BASE, PAIR = C_HIGHADDR, MIN_SIZE = 0x20000, ASSIGNMENT = REQUIRE
PARAMETER C_HIGHADDR = 0x00000000, DT = std_logic_vector(0 to 31), BUS = SPLB, ADDRESS = HIGH, PAIR = C_BASEADDR, ASSIGNMENT = REQUIRE
PARAMETER C_SPLB_AWIDTH = 32, DT = INTEGER, BUS = SPLB, ASSIGNMENT = CONSTANT
PARAMETER C_SPLB_DWIDTH = 32, DT = INTEGER, BUS = SPLB
PARAMETER C_SPLB_P2P = 0, DT = INTEGER, BUS = SPLB
PARAMETER C_SPLB_MID_WIDTH = 1, DT = INTEGER, BUS = SPLB
PARAMETER C_SPLB_NUM_MASTERS = 1, DT = INTEGER, BUS = SPLB
PARAMETER C_SPLB_SUPPORT_BURSTS = 0, DT = INTEGER, BUS = SPLB, ASSIGNMENT = CONSTANT
PARAMETER C_SPLB_NATIVE_DWIDTH = 32, DT = INTEGER, BUS = SPLB, ASSIGNMENT = CONSTANT

# Memory Map Information
# From Registers
PARAMETER C_MEMMAP_BUTTONS_BIG = 0x10054, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUTTONS_BIG_N_BITS = 2, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUTTONS_BIG_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUTTONS_SMALL = 0x10058, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUTTONS_SMALL_N_BITS = 6, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUTTONS_SMALL_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_DIP_SWITCH = 0x1005C, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_DIP_SWITCH_N_BITS = 4, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_DIP_SWITCH_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_TRACKBALL = 0x10060, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_TRACKBALL_N_BITS = 5, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_TRACKBALL_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
# To Registers
PARAMETER C_MEMMAP_BUZZER_DUTYCYCLE = 0x10000, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_DUTYCYCLE_N_BITS = 18, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_DUTYCYCLE_BIN_PT = 18, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUZZER_ENABLE = 0x10004, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_ENABLE_N_BITS = 1, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_ENABLE_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_BUZZER_PERIOD = 0x10008, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_PERIOD_N_BITS = 18, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_BUZZER_PERIOD_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_BACKGROUNDCOLOR = 0x1000C, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_BACKGROUNDCOLOR_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_BACKGROUNDCOLOR_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_CHARACTEROFFSET = 0x10010, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTEROFFSET_N_BITS = 4, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTEROFFSET_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_CHARACTERSSELECT = 0x10014, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERSSELECT_N_BITS = 3, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERSSELECT_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_COLSET = 0x10018, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_COLSET_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_COLSET_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_CONFIGLOCATION = 0x1001C, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CONFIGLOCATION_N_BITS = 2, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CONFIGLOCATION_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_DIVIDERSELECT = 0x10020, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_DIVIDERSELECT_N_BITS = 1, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_DIVIDERSELECT_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_FIRSTEND = 0x10024, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_FIRSTEND_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_FIRSTEND_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_FIRSTSTART = 0x10028, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_FIRSTSTART_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_FIRSTSTART_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_LINEOFFSET = 0x1002C, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_LINEOFFSET_N_BITS = 4, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_LINEOFFSET_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_RAMWRITE = 0x10030, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RAMWRITE_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RAMWRITE_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_RESET = 0x10034, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RESET_N_BITS = 1, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RESET_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_RESETLCD = 0x10038, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RESETLCD_N_BITS = 1, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_RESETLCD_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_ROWSET = 0x1003C, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_ROWSET_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_ROWSET_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_SECONDEND = 0x10040, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SECONDEND_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SECONDEND_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_SECONDSTART = 0x10044, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SECONDSTART_N_BITS = 9, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SECONDSTART_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_SEND = 0x10048, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SEND_N_BITS = 1, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_SEND_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LCD_TOTALCMDTRANSFER = 0x1004C, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_TOTALCMDTRANSFER_N_BITS = 8, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_TOTALCMDTRANSFER_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
PARAMETER C_MEMMAP_LEDS = 0x10050, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LEDS_N_BITS = 8, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LEDS_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT 
# From FIFOs
# To FIFOs
# Shared RAMs
PARAMETER C_MEMMAP_LCD_CHARACTERMAP = 0x00000, DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_CHARACTERMAP_GRANT = , DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_CHARACTERMAP_REQ = , DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERMAP_N_BITS = 32, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERMAP_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERS = 0x04000, DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_CHARACTERS_GRANT = , DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_CHARACTERS_REQ = , DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERS_N_BITS = 32, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_CHARACTERS_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_COMMANDS = 0x04800, DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_COMMANDS_GRANT = , DT = integer, ASSIGNMENT = CONSTANT
# PARAMETER C_MEMMAP_LCD_COMMANDS_REQ = , DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_COMMANDS_N_BITS = 32, DT = integer, ASSIGNMENT = CONSTANT
PARAMETER C_MEMMAP_LCD_COMMANDS_BIN_PT = 0, DT = integer, ASSIGNMENT = CONSTANT

# Ports (Export flow)
PORT buttons_big = "", DIR = I, VEC = [0:(2-1)], IO_IS = userio_board_buttons_big
PORT buttons_small = "", DIR = I, VEC = [0:(6-1)], IO_IS = userio_board_buttons_small
PORT splb_clk = "", DIR = I, SIGIS = clk, BUS = SPLB
PORT dip_switch = "", DIR = I, VEC = [0:(4-1)], IO_IS = userio_board_dip_switch
PORT plb_abus = plb_abus, DIR = I, VEC = [0:(32-1)], BUS = SPLB
PORT plb_pavalid = plb_pavalid, DIR = I, BUS = SPLB
PORT plb_rnw = plb_rnw, DIR = I, BUS = SPLB
PORT plb_wrdbus = plb_wrdbus, DIR = I, VEC = [0:(C_SPLB_DWIDTH-1)], BUS = SPLB
PORT reset = net_gnd, DIR = I
PORT splb_rst = splb_rst, DIR = I, SIGIS = rst, BUS = SPLB
PORT trackball_ox = "", DIR = I, IO_IS = userio_board_trackball_ox
PORT trackball_oxn = "", DIR = I, IO_IS = userio_board_trackball_oxn
PORT trackball_oy = "", DIR = I, IO_IS = userio_board_trackball_oy
PORT trackball_oyn = "", DIR = I, IO_IS = userio_board_trackball_oyn
PORT trackball_sel2 = "", DIR = I, IO_IS = userio_board_trackball_sel2

PORT buzzer = "", DIR = O, IO_IS = userio_board_buzzer
PORT cs = "", DIR = O, IO_IS = userio_board_cs
PORT leds = "", DIR = O, VEC = [0:(8-1)], IO_IS = userio_board_leds
PORT resetlcd = "", DIR = O, IO_IS = userio_board_resetlcd
PORT scl = "", DIR = O, IO_IS = userio_board_scl
PORT sdi = "", DIR = O, IO_IS = userio_board_sdi
PORT sl_addrack = sl_addrack, DIR = O, BUS = SPLB
PORT sl_rdcomp = sl_rdcomp, DIR = O, BUS = SPLB
PORT sl_rddack = sl_rddack, DIR = O, BUS = SPLB
PORT sl_rddbus = sl_rddbus, DIR = O, VEC = [0:(C_SPLB_DWIDTH-1)], BUS = SPLB
PORT sl_wait = sl_wait, DIR = O, BUS = SPLB
PORT sl_wrcomp = sl_wrcomp, DIR = O, BUS = SPLB
PORT sl_wrdack = sl_wrdack, DIR = O, BUS = SPLB
PORT trackball_sel1 = "", DIR = O, IO_IS = userio_board_trackball_sel1
PORT trackball_xscn = "", DIR = O, IO_IS = userio_board_trackball_xscn
PORT trackball_yscn = "", DIR = O, IO_IS = userio_board_trackball_yscn



END
