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

Subversion Repositories gecko3

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /gecko3/trunk/GECKO3 Microblaze/edk_user_repository/GECKO
    from Rev 4 to Rev 5
    Reverse comparison

Rev 4 → Rev 5

/boards/GECKO3main/data/LICENSE
0,0 → 1,30
Xilinx EDK Board Support Package for the GECKO3main
Copyright (C) 2008 Christoph Zimmermann
 
This Library is a free work: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
 
This Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
 
You should have received a copy of the GNU Lesser General Public License
along with this Library. If not, see <http://www.gnu.org/licenses/>.
 
For more information visit the project homepage <http://labs.ti.bfh.ch/gecko>
or the MicroLab homepage <http://microlab.ch>
You can also contact us by mail:
 
Bern University of Applied Science
MicroLab
P.O. Box
CH-2501 Biel
Switzerland
 
Bern University of Applied Science, hereby disclaims all copyright interest in
the BSP `GECKO3main' created by Christoph Zimmermann.
 
Marcel Jacomet, head of the Microlab I3S
boards/GECKO3main/data/LICENSE Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: boards/GECKO3main/data/GECKO3main_v2_2_0.xbd =================================================================== --- boards/GECKO3main/data/GECKO3main_v2_2_0.xbd (nonexistent) +++ boards/GECKO3main/data/GECKO3main_v2_2_0.xbd (revision 5) @@ -0,0 +1,899 @@ +# -------------------------------------------------------------------------------- +# GECKO3 SoC Co-Design Environment: +# GECKO3 Microblaze +# ___ ___ _ _ +# ( _`\ ( __)( ) ( ) +# | (_) )| ( | |_| | Bern University of Applied Sciences +# | _ <'| _) | _ | School of Engineering and +# | (_) )| | | | | | Information Technology +# (____/'(_) (_) (_) +# +# +# Author: Christoph Zimmermann +# Date of creation: 22. September 2008 +# Description: +# +# +# Tool versions: Xilinx EDK 8.2i and higher +# +# License: +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License as published +# by the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License for more details. +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see . +# +# History: +# 30. september 2008 +# working with edk 9.2i without ddr ram +# testing in 10.1, 9.1 and 8.2 missing +# +# 1. october 2008 +# testing with edk 9.1. 9.1 still uses the ddr ip-core and not the new mpmc +# as in 9.2. looks fine. needed to change the iostandard of the ddr feedback +# to lvcmos33. +# single ddr ram works +# +# 2. october 2008 +# added the second ddr ram configurations using both ram chips with a 32 bit +# width databus. the ddr blocks use the "exclusive" attribute so a user can only +# select one of the two configurations. +# still a bug somwhere +# -------------------------------------------------------------------------------- + +ATTRIBUTE VENDOR = MicroLab +ATTRIBUTE SPEC_URL = www.microlab.ch +ATTRIBUTE CONTACT_INFO_URL=http://labs.ti.bfh.ch/gecko/ +ATTRIBUTE NAME = GECKO3main Board + + +ATTRIBUTE REVISION = 1 +ATTRIBUTE DESC = GECKO3main Board Revision 1 +ATTRIBUTE LONG_DESC = 'GECKO3main Board utilizes Xilinx Spartan-3 XC3S4000-4FG679 device. The board includes one RS232 serial ports, 4 DIP switches, 4 push buttons (one for Reset), 4 Bi-Color LEDs, 10/100 Ethernet port, 32 MByte of parallel NOR flash and 128 MByte DDR SDRAM, USB 2.0 High Speed Interface for FPGA configuration and data transfer.' + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_CLOCK_V1 + ATTRIBUTE INSTANCE =sysclk + PARAMETER CLK_FREQ =50000000, IO_IS=clk_freq, RANGE=(50000000) # 50 Mhz + PORT SYSCLK = CONN_CLK, IO_IS=ext_clk +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_CLOCK_V1 + ATTRIBUTE INSTANCE = clk_ext0 + PARAMETER CLK_FREQ =50000000, IO_IS=clk_freq + PORT CLK_EXT0 = CONN_OSC_EXT0, IO_IS=ext_clk +END + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_CLOCK_V1 + ATTRIBUTE INSTANCE = clk_ext1 + PARAMETER CLK_FREQ =50000000, IO_IS=clk_freq + PORT CLK_EXT1 = CONN_OSC_EXT1, IO_IS=ext_clk +END + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_RESET_V1 + ATTRIBUTE INSTANCE =rst_0 + PARAMETER RST_POLARITY =0, IO_IS=polarity, VALUE_NOTE=Active Low + # push button 1 is dedicated to system reset. + PORT RESET = CONN_RESET, IO_IS=ext_rst +END + +# Uses Micron device MT46V32M16-5B +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_DDR_V1 + ATTRIBUTE INSTANCE = DDR_SDRAM_64Mx16 + ATTRIBUTE EXCLUSIVE = DDR_MEMORY + ATTRIBUTE ALERT = 'DDR device on this board requires minimum clock frequency of 66Mhz to operate properly.' + PARAMETER C_DDR_ASYNC_SUPPORT=1, IO_IS=C_DDR_ASYNC_SUPPORT + PARAMETER C_INCLUDE_BURST_SUPPORT=1, IO_IS=C_INCLUDE_BURST_SUPPORT + PARAMETER C_REG_DIMM=0, IO_IS=C_REG_DIMM + PARAMETER C_EXTRA_TSU=0, IO_IS=C_EXTRA_TSU + PARAMETER C_NUM_BANKS_MEM=1, IO_IS=C_NUM_BANKS_MEM + PARAMETER C_NUM_CLK_PAIRS=1, IO_IS=C_NUM_CLK_PAIRS + PARAMETER C_DDR_TMRD=15000, IO_IS=C_DDR_TMRD + PARAMETER C_DDR_TWR=15000, IO_IS=C_DDR_TWR + PARAMETER C_DDR_TWTR=1, IO_IS=C_DDR_TWTR + PARAMETER C_DDR_TRAS=40000, IO_IS=C_DDR_TRAS + PARAMETER C_DDR_TRC=65000, IO_IS=C_DDR_TRC + PARAMETER C_DDR_TRFC=75000, IO_IS=C_DDR_TRFC + PARAMETER C_DDR_TRCD=20000, IO_IS=C_DDR_TRCD + PARAMETER C_DDR_TRRD=15000, IO_IS=C_DDR_TRRD + PARAMETER C_DDR_TREFC=70000000, IO_IS=C_DDR_TREFC + PARAMETER C_DDR_TREFI=7800000, IO_IS=C_DDR_TREFI + PARAMETER C_DDR_TRP=20000, IO_IS=C_DDR_TRP + PARAMETER C_DDR_CAS_LAT=3, IO_IS=C_DDR_CAS_LAT + PARAMETER C_DDR_DWIDTH=16, IO_IS=C_DDR_DWIDTH + PARAMETER C_DDR_AWIDTH=14, IO_IS=C_DDR_AWIDTH + PARAMETER C_DDR_COL_AWIDTH=10, IO_IS=C_DDR_COL_AWIDTH + PARAMETER C_DDR_BANK_AWIDTH=2, IO_IS=C_DDR_BANK_AWIDTH + PARAMETER C_MCH0_ACCESSBUF_DEPTH = 16, IO_IS=C_MCH0_ACCESSBUF_DEPTH + PARAMETER C_MCH0_RDDATABUF_DEPTH = 0, IO_IS=C_MCH0_RDDATABUF_DEPTH + PARAMETER C_XCL0_LINESIZE = 4, IO_IS=C_XCL0_LINESIZE + PARAMETER C_XCL0_WRITEXFER = 0, IO_IS=C_XCL0_WRITEXFER + PARAMETER C_MCH1_ACCESSBUF_DEPTH = 16, IO_IS=C_MCH1_ACCESSBUF_DEPTH + PARAMETER C_MCH1_RDDATABUF_DEPTH = 0, IO_IS=C_MCH1_RDDATABUF_DEPTH + PARAMETER C_XCL1_LINESIZE = 4, IO_IS=C_XCL1_LINESIZE + PARAMETER C_XCL1_WRITEXFER = 1, IO_IS=C_XCL1_WRITEXFER + PARAMETER C_MEM0_BASEADDR=0x00000000, IO_IS=C_BASEADDR, SHORT_DESC=DDR_SDRAM + PARAMETER C_MEM0_HIGHADDR=0x03ffffff, IO_IS=C_HIGHADDR + + PORT DDR_CLK = ddr_clk, IO_IS = ddr_clk_out + PORT DDR_CLKn = ddr_clk_n, IO_IS = ddr_clk_out_n + PORT DDR_CLK_FB = ddr_clk_fb, IO_IS=feedback_clock, FEEDBACK_PHASE=0 + + PORT DDR_A0 = ddr_addr_0_, IO_IS = address[13] + PORT DDR_A1 = ddr_addr_1_, IO_IS = address[12] + PORT DDR_A2 = ddr_addr_2_, IO_IS = address[11] + PORT DDR_A3 = ddr_addr_3_, IO_IS = address[10] + PORT DDR_A4 = ddr_addr_4_, IO_IS = address[9] + PORT DDR_A5 = ddr_addr_5_, IO_IS = address[8] + PORT DDR_A6 = ddr_addr_6_, IO_IS = address[7] + PORT DDR_A7 = ddr_addr_7_, IO_IS = address[6] + PORT DDR_A8 = ddr_addr_8_, IO_IS = address[5] + PORT DDR_A9 = ddr_addr_9_, IO_IS = address[4] + PORT DDR_A10 = ddr_addr_10_, IO_IS = address[3] + PORT DDR_A11 = ddr_addr_11_, IO_IS = address[2] + PORT DDR_A12 = ddr_addr_12_, IO_IS = address[1] + PORT DDR_A13 = ddr_addr_13_, IO_IS = address[0] + + PORT DDR_BA0 = ddr_ba_0_, IO_IS = bank_addr[1] + PORT DDR_BA1 = ddr_ba_1_, IO_IS = bank_addr[0] + + PORT DDR_CASn = ddr_cas_n, IO_IS = col_addr_select + PORT DDR_CKE = ddr_cke, IO_IS = clk_enable + PORT DDR_CSn = ddr_cs_n, IO_IS = chip_select + PORT DDR_RASn = ddr_ras_n, IO_IS = row_addr_select + PORT DDR_WEn = ddr_we_n, IO_IS = write_enable + + # Point-to-point connections for data pins from FPGA to DDR SDRAM devices + PORT DDR_LDM = ddr_dm_0_, IO_IS = data_mask[1] + PORT DDR_UDM = ddr_dm_1_, IO_IS = data_mask[0] + + PORT DDR_LDQS = ddr_dqs_0_, IO_IS = data_strobe[1] + PORT DDR_UDQS = ddr_dqs_1_, IO_IS = data_strobe[0] + + PORT DDR_DQ0 = ddr_dq_0_, IO_IS = data[15] + PORT DDR_DQ1 = ddr_dq_1_, IO_IS = data[14] + PORT DDR_DQ2 = ddr_dq_2_, IO_IS = data[13] + PORT DDR_DQ3 = ddr_dq_3_, IO_IS = data[12] + PORT DDR_DQ4 = ddr_dq_4_, IO_IS = data[11] + PORT DDR_DQ5 = ddr_dq_5_, IO_IS = data[10] + PORT DDR_DQ6 = ddr_dq_6_, IO_IS = data[9] + PORT DDR_DQ7 = ddr_dq_7_, IO_IS = data[8] + PORT DDR_DQ8 = ddr_dq_8_, IO_IS = data[7] + PORT DDR_DQ9 = ddr_dq_9_, IO_IS = data[6] + PORT DDR_DQ10 = ddr_dq_10_, IO_IS = data[5] + PORT DDR_DQ11 = ddr_dq_11_, IO_IS = data[4] + PORT DDR_DQ12 = ddr_dq_12_, IO_IS = data[3] + PORT DDR_DQ13 = ddr_dq_13_, IO_IS = data[2] + PORT DDR_DQ14 = ddr_dq_14_, IO_IS = data[1] + PORT DDR_DQ15 = ddr_dq_15_, IO_IS = data[0] + +END + +# Uses two Micron device MT46V32M16-5B +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_DDR_V1 + ATTRIBUTE INSTANCE = DDR_SDRAM_128Mx32 + ATTRIBUTE EXCLUSIVE = DDR_MEMORY + ATTRIBUTE ALERT = 'DDR device on this board requires minimum clock frequency of 66Mhz to operate properly.' + PARAMETER C_DDR_ASYNC_SUPPORT=1, IO_IS=C_DDR_ASYNC_SUPPORT + PARAMETER C_INCLUDE_BURST_SUPPORT=1, IO_IS=C_INCLUDE_BURST_SUPPORT + PARAMETER C_REG_DIMM=0, IO_IS=C_REG_DIMM + PARAMETER C_EXTRA_TSU=0, IO_IS=C_EXTRA_TSU + PARAMETER C_NUM_BANKS_MEM=1, IO_IS=C_NUM_BANKS_MEM + PARAMETER C_NUM_CLK_PAIRS=2, IO_IS=C_NUM_CLK_PAIRS + PARAMETER C_DDR_TMRD=15000, IO_IS=C_DDR_TMRD + PARAMETER C_DDR_TWR=15000, IO_IS=C_DDR_TWR + PARAMETER C_DDR_TWTR=1, IO_IS=C_DDR_TWTR + PARAMETER C_DDR_TRAS=40000, IO_IS=C_DDR_TRAS + PARAMETER C_DDR_TRC=65000, IO_IS=C_DDR_TRC + PARAMETER C_DDR_TRFC=75000, IO_IS=C_DDR_TRFC + PARAMETER C_DDR_TRCD=20000, IO_IS=C_DDR_TRCD + PARAMETER C_DDR_TRRD=15000, IO_IS=C_DDR_TRRD + PARAMETER C_DDR_TREFC=70000000, IO_IS=C_DDR_TREFC + PARAMETER C_DDR_TREFI=7800000, IO_IS=C_DDR_TREFI + PARAMETER C_DDR_TRP=20000, IO_IS=C_DDR_TRP + PARAMETER C_DDR_CAS_LAT=3, IO_IS=C_DDR_CAS_LAT + PARAMETER C_DDR_DWIDTH=32, IO_IS=C_DDR_DWIDTH + PARAMETER C_DDR_AWIDTH=14, IO_IS=C_DDR_AWIDTH + PARAMETER C_DDR_COL_AWIDTH=10, IO_IS=C_DDR_COL_AWIDTH + PARAMETER C_DDR_BANK_AWIDTH=2, IO_IS=C_DDR_BANK_AWIDTH + PARAMETER C_MCH0_ACCESSBUF_DEPTH = 16, IO_IS=C_MCH0_ACCESSBUF_DEPTH + PARAMETER C_MCH0_RDDATABUF_DEPTH = 0, IO_IS=C_MCH0_RDDATABUF_DEPTH + PARAMETER C_XCL0_LINESIZE = 4, IO_IS=C_XCL0_LINESIZE + PARAMETER C_XCL0_WRITEXFER = 0, IO_IS=C_XCL0_WRITEXFER + PARAMETER C_MCH1_ACCESSBUF_DEPTH = 16, IO_IS=C_MCH1_ACCESSBUF_DEPTH + PARAMETER C_MCH1_RDDATABUF_DEPTH = 0, IO_IS=C_MCH1_RDDATABUF_DEPTH + PARAMETER C_XCL1_LINESIZE = 4, IO_IS=C_XCL1_LINESIZE + PARAMETER C_XCL1_WRITEXFER = 1, IO_IS=C_XCL1_WRITEXFER + PARAMETER C_MEM0_BASEADDR=0x00000000, IO_IS=C_BASEADDR, SHORT_DESC=DDR_SDRAM + PARAMETER C_MEM0_HIGHADDR=0x07ffffff, IO_IS=C_HIGHADDR + + PORT DDR32a_CLK = ddr32a_clk, IO_IS = ddr_clk_out[0] + PORT DDR32a_CLKn = ddr32a_clk_n, IO_IS = ddr_clk_out_n[0] + PORT DDR32b_CLK = ddr32b_clk, IO_IS = ddr_clk_out[1] + PORT DDR32b_CLKn = ddr32b_clk_n, IO_IS = ddr_clk_out_n[1] + PORT DDR32_CLK_FB= ddr32_clk_fb, IO_IS = feedback_clock, FEEDBACK_PHASE=0 + + PORT DDR32_CASn = ddr32_cas_n, IO_IS = col_addr_select + PORT DDR32_CKE = ddr32_cke, IO_IS = clk_enable + PORT DDR32_CSn = ddr32_cs_n, IO_IS = chip_select + PORT DDR32_RASn = ddr32_ras_n, IO_IS = row_addr_select + PORT DDR32_WEn = ddr32_we_n, IO_IS = write_enable + + PORT DDR32_A0 = ddr32_addr_0_, IO_IS = address[13] + PORT DDR32_A1 = ddr32_addr_1_, IO_IS = address[12] + PORT DDR32_A2 = ddr32_addr_2_, IO_IS = address[11] + PORT DDR32_A3 = ddr32_addr_3_, IO_IS = address[10] + PORT DDR32_A4 = ddr32_addr_4_, IO_IS = address[9] + PORT DDR32_A5 = ddr32_addr_5_, IO_IS = address[8] + PORT DDR32_A6 = ddr32_addr_6_, IO_IS = address[7] + PORT DDR32_A7 = ddr32_addr_7_, IO_IS = address[6] + PORT DDR32_A8 = ddr32_addr_8_, IO_IS = address[5] + PORT DDR32_A9 = ddr32_addr_9_, IO_IS = address[4] + PORT DDR32_A10 = ddr32_addr_10_, IO_IS = address[3] + PORT DDR32_A11 = ddr32_addr_11_, IO_IS = address[2] + PORT DDR32_A12 = ddr32_addr_12_, IO_IS = address[1] + PORT DDR32_A13 = ddr32_addr_13_, IO_IS = address[0] + + PORT DDR32_BA0 = ddr32_ba_0_, IO_IS = bank_addr[1] + PORT DDR32_BA1 = ddr32_ba_1_, IO_IS = bank_addr[0] + + # Point-to-point connections for data pins from FPGA to DDR SDRAM devices + PORT DDR32a_LDM = ddr32_dm_0_, IO_IS = data_mask[3] + PORT DDR32a_UDM = ddr32_dm_1_, IO_IS = data_mask[2] + PORT DDR32b_LDM = ddr32_dm_2_, IO_IS = data_mask[1] + PORT DDR32b_UDM = ddr32_dm_3_, IO_IS = data_mask[0] + + PORT DDR32a_LDQS = ddr32_dqs_0_, IO_IS = data_strobe[3] + PORT DDR32a_UDQS = ddr32_dqs_1_, IO_IS = data_strobe[2] + PORT DDR32b_LDQS = ddr32_dqs_2_, IO_IS = data_strobe[1] + PORT DDR32b_UDQS = ddr32_dqs_3_, IO_IS = data_strobe[0] + + PORT DDR32_DQ0 = ddr32_dq_0_, IO_IS = data[31] + PORT DDR32_DQ1 = ddr32_dq_1_, IO_IS = data[30] + PORT DDR32_DQ2 = ddr32_dq_2_, IO_IS = data[29] + PORT DDR32_DQ3 = ddr32_dq_3_, IO_IS = data[28] + PORT DDR32_DQ4 = ddr32_dq_4_, IO_IS = data[27] + PORT DDR32_DQ5 = ddr32_dq_5_, IO_IS = data[26] + PORT DDR32_DQ6 = ddr32_dq_6_, IO_IS = data[25] + PORT DDR32_DQ7 = ddr32_dq_7_, IO_IS = data[24] + PORT DDR32_DQ8 = ddr32_dq_8_, IO_IS = data[23] + PORT DDR32_DQ9 = ddr32_dq_9_, IO_IS = data[22] + PORT DDR32_DQ10 = ddr32_dq_10_, IO_IS = data[21] + PORT DDR32_DQ11 = ddr32_dq_11_, IO_IS = data[20] + PORT DDR32_DQ12 = ddr32_dq_12_, IO_IS = data[19] + PORT DDR32_DQ13 = ddr32_dq_13_, IO_IS = data[18] + PORT DDR32_DQ14 = ddr32_dq_14_, IO_IS = data[17] + PORT DDR32_DQ15 = ddr32_dq_15_, IO_IS = data[16] + PORT DDR32_DQ16 = ddr32_dq_16_, IO_IS = data[15] + PORT DDR32_DQ17 = ddr32_dq_17_, IO_IS = data[14] + PORT DDR32_DQ18 = ddr32_dq_18_, IO_IS = data[13] + PORT DDR32_DQ19 = ddr32_dq_19_, IO_IS = data[12] + PORT DDR32_DQ20 = ddr32_dq_20_, IO_IS = data[11] + PORT DDR32_DQ21 = ddr32_dq_21_, IO_IS = data[10] + PORT DDR32_DQ22 = ddr32_dq_22_, IO_IS = data[9] + PORT DDR32_DQ23 = ddr32_dq_23_, IO_IS = data[8] + PORT DDR32_DQ24 = ddr32_dq_24_, IO_IS = data[7] + PORT DDR32_DQ25 = ddr32_dq_25_, IO_IS = data[6] + PORT DDR32_DQ26 = ddr32_dq_26_, IO_IS = data[5] + PORT DDR32_DQ27 = ddr32_dq_27_, IO_IS = data[4] + PORT DDR32_DQ28 = ddr32_dq_28_, IO_IS = data[3] + PORT DDR32_DQ29 = ddr32_dq_29_, IO_IS = data[2] + PORT DDR32_DQ30 = ddr32_dq_30_, IO_IS = data[1] + PORT DDR32_DQ31 = ddr32_dq_31_, IO_IS = data[0] + +END + +BEGIN IO_ADAPTER + ATTRIBUTE CORENAME = util_vector_logic + ATTRIBUTE INSTANCE = DDR_SDRAM_128Mx32_splitA + PARAMETER C_OPERATION = or + PARAMETER C_SIZE = 21 + + PORT Op1[0] = ddr32_addr_0_ + PORT Op1[1] = ddr32_addr_1_ + PORT Op1[2] = ddr32_addr_2_ + PORT Op1[3] = ddr32_addr_3_ + PORT Op1[4] = ddr32_addr_4_ + PORT Op1[5] = ddr32_addr_5_ + PORT Op1[6] = ddr32_addr_6_ + PORT Op1[7] = ddr32_addr_7_ + PORT Op1[8] = ddr32_addr_8_ + PORT Op1[9] = ddr32_addr_9_ + PORT Op1[10] = ddr32_addr_10_ + PORT Op1[11] = ddr32_addr_11_ + PORT Op1[12] = ddr32_addr_12_ + PORT Op1[13] = ddr32_addr_13_ + PORT Op1[14] = ddr32_cas_n + PORT Op1[15] = ddr32_cke + PORT Op1[16] = ddr32_cs_n + PORT Op1[17] = ddr32_ras_n + PORT Op1[18] = ddr32_we_n + PORT Op1[19] = ddr32_ba_0_ + PORT Op1[20] = ddr32_ba_1_ + + PORT Op2 = net_gnd + + PORT Res[0] = ddr32a_addr_0_ + PORT Res[1] = ddr32a_addr_1_ + PORT Res[2] = ddr32a_addr_2_ + PORT Res[3] = ddr32a_addr_3_ + PORT Res[4] = ddr32a_addr_4_ + PORT Res[5] = ddr32a_addr_5_ + PORT Res[6] = ddr32a_addr_6_ + PORT Res[7] = ddr32a_addr_7_ + PORT Res[8] = ddr32a_addr_8_ + PORT Res[9] = ddr32a_addr_9_ + PORT Res[10] = ddr32a_addr_10_ + PORT Res[11] = ddr32a_addr_11_ + PORT Res[12] = ddr32a_addr_12_ + PORT Res[13] = ddr32a_addr_13_ + PORT Res[14] = ddr32a_cas_n + PORT Res[15] = ddr32a_cke + PORT Res[16] = ddr32a_cs_n + PORT Res[17] = ddr32a_ras_n + PORT Res[18] = ddr32a_we_n + PORT Res[19] = ddr32a_ba_0_ + PORT Res[20] = ddr32a_ba_1_ +END + +BEGIN IO_ADAPTER + ATTRIBUTE CORENAME = util_vector_logic + ATTRIBUTE INSTANCE = DDR_SDRAM_128Mx32_splitB + PARAMETER C_OPERATION = or + PARAMETER C_SIZE = 21 + + PORT Op1[0] = ddr32_addr_0_ + PORT Op1[1] = ddr32_addr_1_ + PORT Op1[2] = ddr32_addr_2_ + PORT Op1[3] = ddr32_addr_3_ + PORT Op1[4] = ddr32_addr_4_ + PORT Op1[5] = ddr32_addr_5_ + PORT Op1[6] = ddr32_addr_6_ + PORT Op1[7] = ddr32_addr_7_ + PORT Op1[8] = ddr32_addr_8_ + PORT Op1[9] = ddr32_addr_9_ + PORT Op1[10] = ddr32_addr_10_ + PORT Op1[11] = ddr32_addr_11_ + PORT Op1[12] = ddr32_addr_12_ + PORT Op1[13] = ddr32_addr_13_ + PORT Op1[14] = ddr32_cas_n + PORT Op1[15] = ddr32_cke + PORT Op1[16] = ddr32_cs_n + PORT Op1[17] = ddr32_ras_n + PORT Op1[18] = ddr32_we_n + PORT Op1[19] = ddr32_ba_0_ + PORT Op1[20] = ddr32_ba_1_ + + PORT Op2 = net_gnd + + PORT Res[0] = ddr32b_addr_0_ + PORT Res[1] = ddr32b_addr_1_ + PORT Res[2] = ddr32b_addr_2_ + PORT Res[3] = ddr32b_addr_3_ + PORT Res[4] = ddr32b_addr_4_ + PORT Res[5] = ddr32b_addr_5_ + PORT Res[6] = ddr32b_addr_6_ + PORT Res[7] = ddr32b_addr_7_ + PORT Res[8] = ddr32b_addr_8_ + PORT Res[9] = ddr32b_addr_9_ + PORT Res[10] = ddr32b_addr_10_ + PORT Res[11] = ddr32b_addr_11_ + PORT Res[12] = ddr32b_addr_12_ + PORT Res[13] = ddr32b_addr_13_ + PORT Res[14] = ddr32b_cas_n + PORT Res[15] = ddr32b_cke + PORT Res[16] = ddr32b_cs_n + PORT Res[17] = ddr32b_ras_n + PORT Res[18] = ddr32b_we_n + PORT Res[19] = ddr32b_ba_0_ + PORT Res[20] = ddr32b_ba_1_ +END + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_EMC_V1 + ATTRIBUTE INSTANCE = NOR_FLASH + ATTRIBUTE EXCLUSIVE = FLASH + PARAMETER C_NUM_BANKS_MEM = 1, IO_IS=C_NUM_BANKS_MEM + PARAMETER C_INCLUDE_BURST = 1, IO_IS=C_INCLUDE_BURST + PARAMETER C_DEV_MIR_ENABLE = 0, IO_IS=C_DEV_MIR_ENABLE + PARAMETER C_MAX_MEM_WIDTH = 32, IO_IS=C_MAX_MEM_WIDTH + PARAMETER C_MEM0_BASEADDR = 0x0, IO_IS=C_MEM0_BASEADDR, SHORT_DESC=FLASH, MEMORY_TYPE=FLASH + PARAMETER C_MEM0_HIGHADDR = 0x1FFFFFF, IO_IS=C_MEM0_HIGHADDR + PARAMETER C_MEM0_WIDTH = 32, IO_IS=C_MEM0_WIDTH + PARAMETER C_INCLUDE_DATAWIDTH_MATCHING_0 = 1, IO_IS=C_INCLUDE_DATAWIDTH_MATCHING_0 + PARAMETER C_SYNCH_MEM_0 = 0, IO_IS=C_SYNCH_MEM_0 + PARAMETER C_SYNCH_PIPEDELAY_0 = 2, IO_IS=C_SYNCH_PIPEDELAY_0 + PARAMETER C_TCEDV_PS_MEM_0 = 75000, IO_IS = C_TCEDV_PS_MEM_0 + PARAMETER C_TAVDV_PS_MEM_0 = 75000, IO_IS = C_TAVDV_PS_MEM_0 + PARAMETER C_THZCE_PS_MEM_0 = 25000, IO_IS = C_THZCE_PS_MEM_0 + PARAMETER C_THZOE_PS_MEM_0 = 15000, IO_IS = C_THZOE_PS_MEM_0 + PARAMETER C_TWC_PS_MEM_0 = 15000, IO_IS = C_TWC_PS_MEM_0 + PARAMETER C_TWP_PS_MEM_0 = 60000, IO_IS = C_TWP_PS_MEM_0 + PARAMETER C_TLZWE_PS_MEM_0 = 3500, IO_IS = C_TLZWE_PS_MEM_0 + + PORT FLASH_A0 = FLASH_A0, IO_IS = emc_addr[30] + PORT FLASH_A1 = FLASH_A1, IO_IS = emc_addr[29] + PORT FLASH_A2 = FLASH_A2, IO_IS = emc_addr[28] + PORT FLASH_A3 = FLASH_A3, IO_IS = emc_addr[27] + PORT FLASH_A4 = FLASH_A4, IO_IS = emc_addr[26] + PORT FLASH_A5 = FLASH_A5, IO_IS = emc_addr[25] + PORT FLASH_A6 = FLASH_A6, IO_IS = emc_addr[24] + PORT FLASH_A7 = FLASH_A7, IO_IS = emc_addr[23] + PORT FLASH_A8 = FLASH_A8, IO_IS = emc_addr[22] + PORT FLASH_A9 = FLASH_A9, IO_IS = emc_addr[21] + PORT FLASH_A10 = FLASH_A10, IO_IS = emc_addr[20] + PORT FLASH_A11 = FLASH_A11, IO_IS = emc_addr[19] + PORT FLASH_A12 = FLASH_A12, IO_IS = emc_addr[18] + PORT FLASH_A13 = FLASH_A13, IO_IS = emc_addr[17] + PORT FLASH_A14 = FLASH_A14, IO_IS = emc_addr[16] + PORT FLASH_A15 = FLASH_A15, IO_IS = emc_addr[15] + PORT FLASH_A16 = FLASH_A16, IO_IS = emc_addr[14] + PORT FLASH_A17 = FLASH_A17, IO_IS = emc_addr[13] + PORT FLASH_A18 = FLASH_A18, IO_IS = emc_addr[12] + PORT FLASH_A19 = FLASH_A19, IO_IS = emc_addr[11] + PORT FLASH_A20 = FLASH_A20, IO_IS = emc_addr[10] + PORT FLASH_A21 = FLASH_A21, IO_IS = emc_addr[9] + PORT FLASH_A22 = FLASH_A22, IO_IS = emc_addr[8] + PORT FLASH_A23 = FLASH_A23, IO_IS = emc_addr[7] + + PORT FLASH_D0 = FLASH_D0, IO_IS = emc_data[31] + PORT FLASH_D1 = FLASH_D1, IO_IS = emc_data[30] + PORT FLASH_D2 = FLASH_D2, IO_IS = emc_data[29] + PORT FLASH_D3 = FLASH_D3, IO_IS = emc_data[28] + PORT FLASH_D4 = FLASH_D4, IO_IS = emc_data[27] + PORT FLASH_D5 = FLASH_D5, IO_IS = emc_data[26] + PORT FLASH_D6 = FLASH_D6, IO_IS = emc_data[25] + PORT FLASH_D7 = FLASH_D7, IO_IS = emc_data[24] + PORT FLASH_D8 = FLASH_D8, IO_IS = emc_data[23] + PORT FLASH_D9 = FLASH_D9, IO_IS = emc_data[22] + PORT FLASH_D10 = FLASH_D10, IO_IS = emc_data[21] + PORT FLASH_D11 = FLASH_D11, IO_IS = emc_data[20] + PORT FLASH_D12 = FLASH_D12, IO_IS = emc_data[19] + PORT FLASH_D13 = FLASH_D13, IO_IS = emc_data[18] + PORT FLASH_D14 = FLASH_D14, IO_IS = emc_data[17] + PORT FLASH_D15 = FLASH_D15, IO_IS = emc_data[16] + PORT FLASH_D16 = FLASH_D16, IO_IS = emc_data[15] + PORT FLASH_D17 = FLASH_D17, IO_IS = emc_data[14] + PORT FLASH_D18 = FLASH_D18, IO_IS = emc_data[13] + PORT FLASH_D19 = FLASH_D19, IO_IS = emc_data[12] + PORT FLASH_D20 = FLASH_D20, IO_IS = emc_data[11] + PORT FLASH_D21 = FLASH_D21, IO_IS = emc_data[10] + PORT FLASH_D22 = FLASH_D22, IO_IS = emc_data[9] + PORT FLASH_D23 = FLASH_D23, IO_IS = emc_data[8] + PORT FLASH_D24 = FLASH_D24, IO_IS = emc_data[7] + PORT FLASH_D25 = FLASH_D25, IO_IS = emc_data[6] + PORT FLASH_D26 = FLASH_D26, IO_IS = emc_data[5] + PORT FLASH_D27 = FLASH_D27, IO_IS = emc_data[4] + PORT FLASH_D28 = FLASH_D28, IO_IS = emc_data[3] + PORT FLASH_D29 = FLASH_D29, IO_IS = emc_data[2] + PORT FLASH_D30 = FLASH_D30, IO_IS = emc_data[1] + PORT FLASH_D31 = FLASH_D31, IO_IS = emc_data[0] + + PORT FLASH_OEn = FLASH_OEn, IO_IS = emc_oen + PORT FLASH_WEn = FLASH_WEn, IO_IS = emc_wen + PORT FLASH_CEn = FLASH_CEn, IO_IS = emc_csn[0] + PORT FLASH_BEn = FLASH_BEn, IO_IS = emc_ben_vcc, INITIALVAL=VCC + PORT FLASH_RPn = FLASH_RPn, IO_IS = emc_rpn +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_UART_V1 + ATTRIBUTE INSTANCE=RS232 + PARAMETER C_BAUDRATE = 128000, IO_IS=C_BAUDRATE + + PORT RXD = CONN_RXD, IO_IS=serial_in + PORT TXD = CONN_TXD, IO_IS=serial_out, INITIALVAL = GND +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_GPIO_V1 + ATTRIBUTE INSTANCE = LEDs_8Bit + PARAMETER num_bits =8, IO_IS=num_bits + PARAMETER is_dual=0, IO_IS=is_dual + PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins + PARAMETER all_inputs =0, IO_IS=all_inputs # All outputs + + PORT LED0 = CONN_LED0, IO_IS = gpio_data_out[0], INITIALVAL = VCC + PORT LED1 = CONN_LED1, IO_IS = gpio_data_out[1], INITIALVAL = VCC + PORT LED2 = CONN_LED2, IO_IS = gpio_data_out[2], INITIALVAL = VCC + PORT LED3 = CONN_LED3, IO_IS = gpio_data_out[3], INITIALVAL = VCC + PORT LED4 = CONN_LED4, IO_IS = gpio_data_out[4], INITIALVAL = VCC + PORT LED5 = CONN_LED5, IO_IS = gpio_data_out[5], INITIALVAL = VCC + PORT LED6 = CONN_LED6, IO_IS = gpio_data_out[6], INITIALVAL = VCC + PORT LED7 = CONN_LED7, IO_IS = gpio_data_out[7], INITIALVAL = VCC +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_GPIO_V1 + ATTRIBUTE INSTANCE = Switches_4Bit + PARAMETER num_bits =4, IO_IS=num_bits + PARAMETER is_dual=0, IO_IS=is_dual + PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins + PARAMETER all_inputs=1, IO_IS=all_inputs # All inputs + + PORT DIP0 = CONN_DIP0, IO_IS = gpio_data_in[0] + PORT DIP1 = CONN_DIP1, IO_IS = gpio_data_in[1] + PORT DIP2 = CONN_DIP2, IO_IS = gpio_data_in[2] + PORT DIP3 = CONN_DIP3, IO_IS = gpio_data_in[3] +END + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_GPIO_V1 + ATTRIBUTE INSTANCE = Buttons_3Bit + PARAMETER num_bits =3, IO_IS=num_bits + PARAMETER is_dual=0, IO_IS=is_dual + PARAMETER bidir_data=0, IO_IS=is_bidir # Non-bidir data pins + PARAMETER all_inputs=1, IO_IS=all_inputs # All inputs + + PORT BUT0 = CONN_BUT0, IO_IS = gpio_data_in[0] + PORT BUT1 = CONN_BUT1, IO_IS = gpio_data_in[1] + PORT BUT2 = CONN_BUT2, IO_IS = gpio_data_in[2] +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_SPI_V1 + ATTRIBUTE INSTANCE = SPI_FLASH + ATTRIBUTE EXCLUSIVE = SPI + PARAMETER C_BASEADDR=0x00000000, IO_IS=C_BASEADDR + PARAMETER C_HIGHADDR=0x0000007f, IO_IS=C_HIGHADDR + PARAMETER C_NUM_OFFCHIP_SS_BITS=4, IO_IS=offchip_ss_bits + PARAMETER C_NUM_SS_BITS=1,IO_IS=ss_bits + PARAMETER C_FIFO_EXIST=1, IO_IS=fifo_exist + + PORT SPISEL = net_vcc, IO_IS=slave_select_n + PORT MISO = spi_MISO, IO_IS=data_out + PORT MOSI = spi_MOSI, IO_IS=data_in + PORT SCK = spi_SCK, IO_IS=clk_out + PORT SS0 = spi_cs_0_, IO_IS=chip_select[0] +END + + +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_ETHERNET_V1 + ATTRIBUTE INSTANCE = Ethernet_MAC + ATTRIBUTE EXCLUSIVE = Ethernet + PORT ETH_TXER = ETH_TXER, IO_IS=ETH_TXER + PORT ETH_TXC = ETH_TXC, IO_IS=ETH_TXC + PORT ETH_RXC = ETH_RXC, IO_IS=ETH_RXC + PORT ETH_CRS = ETH_CRS, IO_IS=ETH_CRS + PORT ETH_RXDV = ETH_RXDV, IO_IS=ETH_RXDV + PORT ETH_RXD0 = ETH_RXD0, IO_IS = ETH_RXD[0] + PORT ETH_RXD1 = ETH_RXD1, IO_IS = ETH_RXD[1] + PORT ETH_RXD2 = ETH_RXD2, IO_IS = ETH_RXD[2] + PORT ETH_RXD3 = ETH_RXD3, IO_IS = ETH_RXD[3] + PORT ETH_COL = ETH_COL, IO_IS=ETH_COL + PORT ETH_RXER = ETH_RXER , IO_IS=ETH_RXER + PORT ETH_TXEN = ETH_TXEN , IO_IS=ETH_TXEN + PORT ETH_TXD0 = ETH_TXD0, IO_IS = ETH_TXD[0] + PORT ETH_TXD1 = ETH_TXD1, IO_IS = ETH_TXD[1] + PORT ETH_TXD2 = ETH_TXD2, IO_IS = ETH_TXD[2] + PORT ETH_TXD3 = ETH_TXD3, IO_IS = ETH_TXD[3] + PORT ETH_MDC = ETH_MDC, IO_IS=ETH_MDC + PORT ETH_MDIO = ETH_MDIO, IO_IS=ETH_MDIO + PORT ETH_RESETn = ETH_RESETn,IO_IS = PHY_RESETn, INITIALVAL = VCC + PORT ETH_MDINT= ETH_MDINT, IO_IS = mii_int_n, INITIALVAL = VCC + +END + + +# Inter Integrated Circuit (IIC) Bus +BEGIN IO_INTERFACE + ATTRIBUTE IOTYPE = XIL_IIC_V1 + ATTRIBUTE INSTANCE = IIC_EXT + PARAMETER C_IIC_FREQ = 100000, IO_IS = clk_out_freq # 100 KHz + PARAMETER C_TEN_BIT_ADR = 0, IO_IS = slave_respond_mode # 7-bit addrs + PORT SCL = iic_scl, IO_IS = Serial_Clock + PORT SDA = iic_sda, IO_IS = Serial_Data +END + + +BEGIN FPGA + ATTRIBUTE INSTANCE = fpga_0 + ATTRIBUTE FAMILY = spartan3 + ATTRIBUTE DEVICE = XC3S4000 + ATTRIBUTE PACKAGE = FG676 + ATTRIBUTE SPEED_GRADE = -4 + ATTRIBUTE JTAG_POSITION = 1 + + ### CLOCK ### + PORT SYSCLK = CONN_CLK,UCF_NET_STRING=("LOC=af14", "IOSTANDARD = LVCMOS33") + + PORT CLK_EXT0 = CONN_OSC_EXT0,UCF_NET_STRING=("LOC=ae13", "IOSTANDARD = LVCMOS33") # Input CLK + PORT CLK_EXT1 = CONN_OSC_EXT1, UCF_NET_STRING=("LOC=ad13", "IOSTANDARD = LVCMOS33") # Input CLK + + ### RESET ### + PORT RESET = CONN_RESET, UCF_NET_STRING=("LOC=ae19", "IOSTANDARD = LVCMOS33") + + ### UART ### + PORT RXD = CONN_RXD, UCF_NET_STRING=("LOC=ac7", "IOSTANDARD = LVCMOS33") + PORT TXD = CONN_TXD, UCF_NET_STRING=("LOC=ac6", "IOSTANDARD = LVCMOS33") + + ### LED ### + PORT LED0 = CONN_LED0, UCF_NET_STRING=("LOC=f9", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED1 = CONN_LED1, UCF_NET_STRING=("LOC=g9", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED2 = CONN_LED2, UCF_NET_STRING=("LOC=f10", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED3 = CONN_LED3, UCF_NET_STRING=("LOC=e10", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED4 = CONN_LED4, UCF_NET_STRING=("LOC=c12", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED5 = CONN_LED5, UCF_NET_STRING=("LOC=e13", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED6 = CONN_LED6, UCF_NET_STRING=("LOC=d13", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + PORT LED7 = CONN_LED7, UCF_NET_STRING=("LOC=c13", "IOSTANDARD = LVCMOS33", "SLEW = SLOW") + + ### DIP_Switches ### + PORT DIP0 = CONN_DIP0, UCF_NET_STRING=("LOC=d7, "IOSTANDARD = LVCMOS33") + PORT DIP1 = CONN_DIP1, UCF_NET_STRING=("LOC=f7, "IOSTANDARD = LVCMOS33") + PORT DIP2 = CONN_DIP2, UCF_NET_STRING=("LOC=c6, "IOSTANDARD = LVCMOS33") + PORT DIP3 = CONN_DIP3, UCF_NET_STRING=("LOC=d6, "IOSTANDARD = LVCMOS33") + + ### BUTTONS ### + PORT BUT0 = CONN_BUT0, UCF_NET_STRING=("LOC=e7, "IOSTANDARD = LVCMOS33") + PORT BUT1 = CONN_BUT1, UCF_NET_STRING=("LOC=g10, "IOSTANDARD = LVCMOS33") + PORT BUT2 = CONN_BUT2, UCF_NET_STRING=("LOC=e12, "IOSTANDARD = LVCMOS33") + + ### NOR FLASH ### + PORT FLASH_OEn = FLASH_OEn, UCF_NET_STRING=("LOC=b21", "IOSTANDARD = LVCMOS33") + PORT FLASH_CEn = FLASH_CEn, UCF_NET_STRING=("LOC=e15", "IOSTANDARD = LVCMOS33") + PORT FLASH_WEn = FLASH_WEn, UCF_NET_STRING=("LOC=b3", "IOSTANDARD = LVCMOS33") + PORT FLASH_BEn = FLASH_BEn, UCF_NET_STRING=("LOC=h16", "IOSTANDARD = LVCMOS33") + PORT FLASH_RPn = FLASH_RPn, UCF_NET_STRING=("LOC=f15", "IOSTANDARD = LVCMOS33") + PORT FLASH_A0 = FLASH_A0, UCF_NET_STRING=("LOC=g17", "IOSTANDARD = LVCMOS33") + PORT FLASH_A1 = FLASH_A1, UCF_NET_STRING=("LOC=h15", "IOSTANDARD = LVCMOS33") + PORT FLASH_A2 = FLASH_A2, UCF_NET_STRING=("LOC=g15", "IOSTANDARD = LVCMOS33") + PORT FLASH_A3 = FLASH_A3, UCF_NET_STRING=("LOC=h14", "IOSTANDARD = LVCMOS33") + PORT FLASH_A4 = FLASH_A4, UCF_NET_STRING=("LOC=g14", "IOSTANDARD = LVCMOS33") + PORT FLASH_A5 = FLASH_A5, UCF_NET_STRING=("LOC=g13", "IOSTANDARD = LVCMOS33") + PORT FLASH_A6 = FLASH_A6, UCF_NET_STRING=("LOC=h13", "IOSTANDARD = LVCMOS33") + PORT FLASH_A7 = FLASH_A7, UCF_NET_STRING=("LOC=g12", "IOSTANDARD = LVCMOS33") + PORT FLASH_A8 = FLASH_A8, UCF_NET_STRING=("LOC=d17", "IOSTANDARD = LVCMOS33") + PORT FLASH_A9 = FLASH_A9, UCF_NET_STRING=("LOC=g11", "IOSTANDARD = LVCMOS33") + PORT FLASH_A10 = FLASH_A10, UCF_NET_STRING=("LOC=f16", "IOSTANDARD = LVCMOS33") + PORT FLASH_A11 = FLASH_A11, UCF_NET_STRING=("LOC=f12", "IOSTANDARD = LVCMOS33") + PORT FLASH_A12 = FLASH_A12, UCF_NET_STRING=("LOC=f11", "IOSTANDARD = LVCMOS33") + PORT FLASH_A13 = FLASH_A13, UCF_NET_STRING=("LOC=f14", "IOSTANDARD = LVCMOS33") + PORT FLASH_A14 = FLASH_A14, UCF_NET_STRING=("LOC=e11", "IOSTANDARD = LVCMOS33") + PORT FLASH_A15 = FLASH_A15, UCF_NET_STRING=("LOC=e14", "IOSTANDARD = LVCMOS33") + PORT FLASH_A16 = FLASH_A16, UCF_NET_STRING=("LOC=d11", "IOSTANDARD = LVCMOS33") + PORT FLASH_A17 = FLASH_A17, UCF_NET_STRING=("LOC=h12", "IOSTANDARD = LVCMOS33") + PORT FLASH_A18 = FLASH_A18, UCF_NET_STRING=("LOC=h11", "IOSTANDARD = LVCMOS33") + PORT FLASH_A19 = FLASH_A19, UCF_NET_STRING=("LOC=d10", "IOSTANDARD = LVCMOS33") + PORT FLASH_A20 = FLASH_A20, UCF_NET_STRING=("LOC=c10", "IOSTANDARD = LVCMOS33") + PORT FLASH_A21 = FLASH_A21, UCF_NET_STRING=("LOC=a12", "IOSTANDARD = LVCMOS33") + PORT FLASH_A22 = FLASH_A22, UCF_NET_STRING=("LOC=b12", "IOSTANDARD = LVCMOS33") + PORT FLASH_A23 = FLASH_A23, UCF_NET_STRING=("LOC=g16", "IOSTANDARD = LVCMOS33") + + # Data Bus Flash 0 + PORT FLASH_D0 = FLASH_D0, UCF_NET_STRING=("LOC=f18", "IOSTANDARD = LVCMOS33") + PORT FLASH_D1 = FLASH_D1, UCF_NET_STRING=("LOC=g19", "IOSTANDARD = LVCMOS33") + PORT FLASH_D2 = FLASH_D2, UCF_NET_STRING=("LOC=a20", "IOSTANDARD = LVCMOS33") + PORT FLASH_D3 = FLASH_D3, UCF_NET_STRING=("LOC=e20", "IOSTANDARD = LVCMOS33") + PORT FLASH_D4 = FLASH_D4, UCF_NET_STRING=("LOC=e21", "IOSTANDARD = LVCMOS33") + PORT FLASH_D5 = FLASH_D5, UCF_NET_STRING=("LOC=h23", "IOSTANDARD = LVCMOS33") + PORT FLASH_D6 = FLASH_D6, UCF_NET_STRING=("LOC=h24", "IOSTANDARD = LVCMOS33") + PORT FLASH_D7 = FLASH_D7, UCF_NET_STRING=("LOC=b20", "IOSTANDARD = LVCMOS33") + PORT FLASH_D8 = FLASH_D8, UCF_NET_STRING=("LOC=g18", "IOSTANDARD = LVCMOS33") + PORT FLASH_D9 = FLASH_D9, UCF_NET_STRING=("LOC=f20", "IOSTANDARD = LVCMOS33") + PORT FLASH_D10 = FLASH_D10, UCF_NET_STRING=("LOC=d20", "IOSTANDARD = LVCMOS33") + PORT FLASH_D11 = FLASH_D11, UCF_NET_STRING=("LOC=a21", "IOSTANDARD = LVCMOS33") + PORT FLASH_D12 = FLASH_D12, UCF_NET_STRING=("LOC=f21", "IOSTANDARD = LVCMOS33") + PORT FLASH_D13 = FLASH_D13, UCF_NET_STRING=("LOC=e23", "IOSTANDARD = LVCMOS33") + PORT FLASH_D14 = FLASH_D14, UCF_NET_STRING=("LOC=e24", "IOSTANDARD = LVCMOS33") + PORT FLASH_D15 = FLASH_D15, UCF_NET_STRING=("LOC=d25", "IOSTANDARD = LVCMOS33") + + # Data Bus Flash 1 + PORT FLASH_D16 = FLASH_D16, UCF_NET_STRING=("LOC=e6", "IOSTANDARD = LVCMOS33") + PORT FLASH_D17 = FLASH_D17, UCF_NET_STRING=("LOC=d5", "IOSTANDARD = LVCMOS33") + PORT FLASH_D18 = FLASH_D18, UCF_NET_STRING=("LOC=c4", "IOSTANDARD = LVCMOS33") + PORT FLASH_D19 = FLASH_D19, UCF_NET_STRING=("LOC=b8", "IOSTANDARD = LVCMOS33") + PORT FLASH_D20 = FLASH_D20, UCF_NET_STRING=("LOC=b7", "IOSTANDARD = LVCMOS33") + PORT FLASH_D21 = FLASH_D21, UCF_NET_STRING=("LOC=b6", "IOSTANDARD = LVCMOS33") + PORT FLASH_D22 = FLASH_D22, UCF_NET_STRING=("LOC=b5", "IOSTANDARD = LVCMOS33") + PORT FLASH_D23 = FLASH_D23, UCF_NET_STRING=("LOC=b4", "IOSTANDARD = LVCMOS33") + PORT FLASH_D24 = FLASH_D24, UCF_NET_STRING=("LOC=c5", "IOSTANDARD = LVCMOS33") + PORT FLASH_D25 = FLASH_D25, UCF_NET_STRING=("LOC=e5", "IOSTANDARD = LVCMOS33") + PORT FLASH_D26 = FLASH_D26, UCF_NET_STRING=("LOC=a8", "IOSTANDARD = LVCMOS33") + PORT FLASH_D27 = FLASH_D27, UCF_NET_STRING=("LOC=a7", "IOSTANDARD = LVCMOS33") + PORT FLASH_D28 = FLASH_D28, UCF_NET_STRING=("LOC=a6", "IOSTANDARD = LVCMOS33") + PORT FLASH_D29 = FLASH_D29, UCF_NET_STRING=("LOC=a5", "IOSTANDARD = LVCMOS33") + PORT FLASH_D30 = FLASH_D30, UCF_NET_STRING=("LOC=a4", "IOSTANDARD = LVCMOS33") + PORT FLASH_D31 = FLASH_D31, UCF_NET_STRING=("LOC=a3", "IOSTANDARD = LVCMOS33") + + ### SPI FLASH ### + PORT MISO = spi_MISO, UCF_NET_STRING=("LOC=aa11", "IOSTANDARD = LVCMOS33") + PORT MOSI = spi_MOSI, UCF_NET_STRING=("LOC=aa9", "IOSTANDARD = LVCMOS33") + PORT SCK = spi_SCK, UCF_NET_STRING=("LOC=aa10", "IOSTANDARD = LVCMOS33") + PORT SS0 = spi_cs_0_, UCF_NET_STRING=("LOC=y8", "IOSTANDARD = LVCMOS33") + + + ### DDR SDRAM 64Mx16 configuration ### + PORT DDR_CLK = ddr_clk, UCF_NET_STRING=("LOC=w1", "IOSTANDARD = SSTL2_II") + PORT DDR_CLKn = ddr_clk_n, UCF_NET_STRING=("LOC=w2", "IOSTANDARD = SSTL2_II") + PORT DDR_CLK_FB = ddr_clk_fb, UCF_NET_STRING=("LOC=ae14", "IOSTANDARD = LVCMOS33") + + PORT DDR_A0 = ddr_addr_0_, UCF_NET_STRING=("LOC=p6", "IOSTANDARD = SSTL2_II") + PORT DDR_A1 = ddr_addr_1_, UCF_NET_STRING=("LOC=r7", "IOSTANDARD = SSTL2_II") + PORT DDR_A2 = ddr_addr_2_, UCF_NET_STRING=("LOC=p7", "IOSTANDARD = SSTL2_II") + PORT DDR_A3 = ddr_addr_3_, UCF_NET_STRING=("LOC=r8", "IOSTANDARD = SSTL2_II") + PORT DDR_A4 = ddr_addr_4_, UCF_NET_STRING=("LOC=t8", "IOSTANDARD = SSTL2_II") + PORT DDR_A5 = ddr_addr_5_, UCF_NET_STRING=("LOC=ab4", "IOSTANDARD = SSTL2_II") + PORT DDR_A6 = ddr_addr_6_, UCF_NET_STRING=("LOC=ab3", "IOSTANDARD = SSTL2_II") + PORT DDR_A7 = ddr_addr_7_, UCF_NET_STRING=("LOC=ac1", "IOSTANDARD = SSTL2_II") + PORT DDR_A8 = ddr_addr_8_, UCF_NET_STRING=("LOC=ad2", "IOSTANDARD = SSTL2_II") + PORT DDR_A9 = ddr_addr_9_, UCF_NET_STRING=("LOC=ad1", "IOSTANDARD = SSTL2_II") + PORT DDR_A10 = ddr_addr_10_, UCF_NET_STRING=("LOC=t6", "IOSTANDARD = SSTL2_II") + PORT DDR_A11 = ddr_addr_11_, UCF_NET_STRING=("LOC=w7", "IOSTANDARD = SSTL2_II") + PORT DDR_A12 = ddr_addr_12_, UCF_NET_STRING=("LOC=w6", "IOSTANDARD = SSTL2_II") + PORT DDR_A13 = ddr_addr_13_, UCF_NET_STRING=("LOC=v3", "IOSTANDARD = SSTL2_II") + + PORT DDR_BA0 = ddr_ba_0_, UCF_NET_STRING=("LOC=v5", "IOSTANDARD = SSTL2_II") + PORT DDR_BA1 = ddr_ba_1_, UCF_NET_STRING=("LOC=u6", "IOSTANDARD = SSTL2_II") + + PORT DDR_CASn = ddr_cas_n, UCF_NET_STRING=("LOC=u7", "IOSTANDARD = SSTL2_II") + PORT DDR_CKE = ddr_cke, UCF_NET_STRING=("LOC=w5", "IOSTANDARD = SSTL2_II") + PORT DDR_CSn = ddr_cs_n, UCF_NET_STRING=("LOC=v7", "IOSTANDARD = SSTL2_II") + PORT DDR_RASn = ddr_ras_n, UCF_NET_STRING=("LOC=v6", "IOSTANDARD = SSTL2_II") + PORT DDR_WEn = ddr_we_n, UCF_NET_STRING=("LOC=t7", "IOSTANDARD = SSTL2_II") + + PORT DDR_LDM = ddr_dm_0_, UCF_NET_STRING=("LOC=v2", "IOSTANDARD = SSTL2_II") + PORT DDR_UDM = ddr_dm_1_, UCF_NET_STRING=("LOC=v4", "IOSTANDARD = SSTL2_II") + + PORT DDR_LDQS = ddr_dqs_0_, UCF_NET_STRING=("LOC=r1", "IOSTANDARD = SSTL2_II") + PORT DDR_UDQS = ddr_dqs_1_, UCF_NET_STRING=("LOC=w4", "IOSTANDARD = SSTL2_II", "PULLUP") + + PORT DDR_DQ0 = ddr_dq_0_, UCF_NET_STRING=("LOC=p3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ1 = ddr_dq_1_, UCF_NET_STRING=("LOC=p8", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ2 = ddr_dq_2_, UCF_NET_STRING=("LOC=t2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ3 = ddr_dq_3_, UCF_NET_STRING=("LOC=r3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ4 = ddr_dq_4_, UCF_NET_STRING=("LOC=p2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ5 = ddr_dq_5_, UCF_NET_STRING=("LOC=t1", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ6 = ddr_dq_6_, UCF_NET_STRING=("LOC=u2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ7 = ddr_dq_7_, UCF_NET_STRING=("LOC=u1", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ8 = ddr_dq_8_, UCF_NET_STRING=("LOC=u5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ9 = ddr_dq_9_, UCF_NET_STRING=("LOC=u3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ10 = ddr_dq_10_, UCF_NET_STRING=("LOC=t5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ11 = ddr_dq_11_, UCF_NET_STRING=("LOC=t4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ12 = ddr_dq_12_, UCF_NET_STRING=("LOC=r5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ13 = ddr_dq_13_, UCF_NET_STRING=("LOC=r6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ14 = ddr_dq_14_, UCF_NET_STRING=("LOC=p4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR_DQ15 = ddr_dq_15_, UCF_NET_STRING=("LOC=p5", "IOSTANDARD = SSTL2_II", "PULLUP") + +### DDR SDRAM 128Mx32 configuration ### + PORT DDR32a_CLK = ddr32a_clk, UCF_NET_STRING=("LOC=w1", "IOSTANDARD = SSTL2_II") + PORT DDR32a_CLKn = ddr32a_clk_n, UCF_NET_STRING=("LOC=w2", "IOSTANDARD = SSTL2_II") + PORT DDR32b_CLK = ddr32b_clk, UCF_NET_STRING=("LOC=f5", "IOSTANDARD = SSTL2_II") + PORT DDR32b_CLKn = ddr32b_clk_n, UCF_NET_STRING=("LOC=f6", "IOSTANDARD = SSTL2_II") + PORT DDR32_CLK_FB = ddr32_clk_fb, UCF_NET_STRING=("LOC=ae14", "IOSTANDARD = LVCMOS33") + + PORT DDR32a_A0 = ddr32a_addr_0_, UCF_NET_STRING=("LOC=p6", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A1 = ddr32a_addr_1_, UCF_NET_STRING=("LOC=r7", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A2 = ddr32a_addr_2_, UCF_NET_STRING=("LOC=p7", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A3 = ddr32a_addr_3_, UCF_NET_STRING=("LOC=r8", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A4 = ddr32a_addr_4_, UCF_NET_STRING=("LOC=t8", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A5 = ddr32a_addr_5_, UCF_NET_STRING=("LOC=ab4", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A6 = ddr32a_addr_6_, UCF_NET_STRING=("LOC=ab3", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A7 = ddr32a_addr_7_, UCF_NET_STRING=("LOC=ac1", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A8 = ddr32a_addr_8_, UCF_NET_STRING=("LOC=ad2", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A9 = ddr32a_addr_9_, UCF_NET_STRING=("LOC=ad1", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A10 = ddr32a_addr_10_, UCF_NET_STRING=("LOC=t6", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A11 = ddr32a_addr_11_, UCF_NET_STRING=("LOC=w7", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A12 = ddr32a_addr_12_, UCF_NET_STRING=("LOC=w6", "IOSTANDARD = SSTL2_II") + PORT DDR32a_A13 = ddr32a_addr_13_, UCF_NET_STRING=("LOC=v3", "IOSTANDARD = SSTL2_II") + + PORT DDR32a_BA0 = ddr32a_ba_0_, UCF_NET_STRING=("LOC=v5", "IOSTANDARD = SSTL2_II") + PORT DDR32a_BA1 = ddr32a_ba_1_, UCF_NET_STRING=("LOC=u6", "IOSTANDARD = SSTL2_II") + + PORT DDR32a_CASn = ddr32a_cas_n, UCF_NET_STRING=("LOC=u7", "IOSTANDARD = SSTL2_II") + PORT DDR32a_CKE = ddr32a_cke, UCF_NET_STRING=("LOC=w5", "IOSTANDARD = SSTL2_II") + PORT DDR32a_CSn = ddr32a_cs_n, UCF_NET_STRING=("LOC=v7", "IOSTANDARD = SSTL2_II") + PORT DDR32a_RASn = ddr32a_ras_n, UCF_NET_STRING=("LOC=v6", "IOSTANDARD = SSTL2_II") + PORT DDR32a_WEn = ddr32a_we_n, UCF_NET_STRING=("LOC=t7", "IOSTANDARD = SSTL2_II") + + PORT DDR32b_A0 = ddr32b_addr_0_, UCF_NET_STRING=("LOC=l2", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A1 = ddr32b_addr_1_, UCF_NET_STRING=("LOC=m3", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A2 = ddr32b_addr_2_, UCF_NET_STRING=("LOC=k1", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A3 = ddr32b_addr_3_, UCF_NET_STRING=("LOC=m2", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A4 = ddr32b_addr_4_, UCF_NET_STRING=("LOC=l1", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A5 = ddr32b_addr_5_, UCF_NET_STRING=("LOC=m1", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A6 = ddr32b_addr_6_, UCF_NET_STRING=("LOC=n8", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A7 = ddr32b_addr_7_, UCF_NET_STRING=("LOC=n6", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A8 = ddr32b_addr_8_, UCF_NET_STRING=("LOC=n7", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A9 = ddr32b_addr_9_, UCF_NET_STRING=("LOC=m5", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A10 = ddr32b_addr_10_, UCF_NET_STRING=("LOC=n5", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A11 = ddr32b_addr_11_, UCF_NET_STRING=("LOC=n2", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A12 = ddr32b_addr_12_, UCF_NET_STRING=("LOC=n3", "IOSTANDARD = SSTL2_II") + PORT DDR32b_A13 = ddr32b_addr_13_, UCF_NET_STRING=("LOC=k5", "IOSTANDARD = SSTL2_II") + + PORT DDR32b_BA0 = ddr32b_ba_0_, UCF_NET_STRING=("LOC=k3", "IOSTANDARD = SSTL2_II") + PORT DDR32b_BA1 = ddr32b_ba_1_, UCF_NET_STRING=("LOC=j2", "IOSTANDARD = SSTL2_II") + + PORT DDR32b_CASn = ddr32b_cas_n, UCF_NET_STRING=("LOC=k4", "IOSTANDARD = SSTL2_II") + PORT DDR32b_CKE = ddr32b_cke, UCF_NET_STRING=("LOC=n4", "IOSTANDARD = SSTL2_II") + PORT DDR32b_CSn = ddr32b_cs_n, UCF_NET_STRING=("LOC=m8", "IOSTANDARD = SSTL2_II") + PORT DDR32b_RASn = ddr32b_ras_n, UCF_NET_STRING=("LOC=j4", "IOSTANDARD = SSTL2_II") + PORT DDR32b_WEn = ddr32b_we_n, UCF_NET_STRING=("LOC=l4", "IOSTANDARD = SSTL2_II") + + PORT DDR32a_LDM = ddr32_dm_0_, UCF_NET_STRING=("LOC=v2", "IOSTANDARD = SSTL2_II") + PORT DDR32a_UDM = ddr32_dm_1_, UCF_NET_STRING=("LOC=v4", "IOSTANDARD = SSTL2_II") + PORT DDR32b_LDM = ddr32_dm_2_, UCF_NET_STRING=("LOC=l5", "IOSTANDARD = SSTL2_II") + PORT DDR32b_UDM = ddr32_dm_3_, UCF_NET_STRING=("LOC=k2", "IOSTANDARD = SSTL2_II") + + PORT DDR32a_LDQS = ddr32_dqs_0_, UCF_NET_STRING=("LOC=r1", "IOSTANDARD = SSTL2_II") + PORT DDR32a_UDQS = ddr32_dqs_1_, UCF_NET_STRING=("LOC=w4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32b_LDQS = ddr32_dqs_2_, UCF_NET_STRING=("LOC=l7", "IOSTANDARD = SSTL2_II") + PORT DDR32b_UDQS = ddr32_dqs_3_, UCF_NET_STRING=("LOC=h2", "IOSTANDARD = SSTL2_II", "PULLUP") + + PORT DDR32_DQ0 = ddr32_dq_0_, UCF_NET_STRING=("LOC=p3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ1 = ddr32_dq_1_, UCF_NET_STRING=("LOC=p8", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ2 = ddr32_dq_2_, UCF_NET_STRING=("LOC=t2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ3 = ddr32_dq_3_, UCF_NET_STRING=("LOC=r3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ4 = ddr32_dq_4_, UCF_NET_STRING=("LOC=p2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ5 = ddr32_dq_5_, UCF_NET_STRING=("LOC=t1", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ6 = ddr32_dq_6_, UCF_NET_STRING=("LOC=u2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ7 = ddr32_dq_7_, UCF_NET_STRING=("LOC=u1", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ8 = ddr32_dq_8_, UCF_NET_STRING=("LOC=u5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ9 = ddr32_dq_9_, UCF_NET_STRING=("LOC=u3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ10 = ddr32_dq_10_, UCF_NET_STRING=("LOC=t5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ11 = ddr32_dq_11_, UCF_NET_STRING=("LOC=t4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ12 = ddr32_dq_12_, UCF_NET_STRING=("LOC=r5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ13 = ddr32_dq_13_, UCF_NET_STRING=("LOC=r6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ14 = ddr32_dq_14_, UCF_NET_STRING=("LOC=p4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ15 = ddr32_dq_15_, UCF_NET_STRING=("LOC=p5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ16 = ddr32_dq_16_, UCF_NET_STRING=("LOC=l6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ17 = ddr32_dq_17_, UCF_NET_STRING=("LOC=k7", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ18 = ddr32_dq_18_, UCF_NET_STRING=("LOC=j7", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ19 = ddr32_dq_19_, UCF_NET_STRING=("LOC=k6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ20 = ddr32_dq_20_, UCF_NET_STRING=("LOC=j6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ21 = ddr32_dq_21_, UCF_NET_STRING=("LOC=j5", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ22 = ddr32_dq_22_, UCF_NET_STRING=("LOC=m7", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ23 = ddr32_dq_23_, UCF_NET_STRING=("LOC=m6", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ24 = ddr32_dq_24_, UCF_NET_STRING=("LOC=j3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ25 = ddr32_dq_25_, UCF_NET_STRING=("LOC=g1", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ26 = ddr32_dq_26_, UCF_NET_STRING=("LOC=g2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ27 = ddr32_dq_27_, UCF_NET_STRING=("LOC=h3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ28 = ddr32_dq_28_, UCF_NET_STRING=("LOC=h4", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ29 = ddr32_dq_29_, UCF_NET_STRING=("LOC=d2", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ30 = ddr32_dq_30_, UCF_NET_STRING=("LOC=e3", "IOSTANDARD = SSTL2_II", "PULLUP") + PORT DDR32_DQ31 = ddr32_dq_31_, UCF_NET_STRING=("LOC=e4", "IOSTANDARD = SSTL2_II", "PULLUP") + + ### Ethernet ### + #PORT ETH_TXER = ETH_TXER, UCF_NET_STRING=("LOC=xx", "IOSTANDARD = LVCMOS33") + PORT ETH_TXC = ETH_TXC, UCF_NET_STRING=("LOC=ab9", "IOSTANDARD = LVCMOS33") + PORT ETH_RXC = ETH_RXC, UCF_NET_STRING=("LOC=ae7", "IOSTANDARD = LVCMOS33") + PORT ETH_CRS = ETH_CRS, UCF_NET_STRING=("LOC=af7", "IOSTANDARD = LVCMOS33") + PORT ETH_RXDV = ETH_RXDV, UCF_NET_STRING=("LOC=ad5", "IOSTANDARD = LVCMOS33") + PORT ETH_RXD0 = ETH_RXD0, UCF_NET_STRING=("LOC=ad6", "IOSTANDARD = LVCMOS33") + PORT ETH_RXD1 = ETH_RXD1, UCF_NET_STRING=("LOC=af8", "IOSTANDARD = LVCMOS33") + PORT ETH_RXD2 = ETH_RXD2, UCF_NET_STRING=("LOC=ae4", "IOSTANDARD = LVCMOS33") + PORT ETH_RXD3 = ETH_RXD3, UCF_NET_STRING=("LOC=ae8", "IOSTANDARD = LVCMOS33") + PORT ETH_COL = ETH_COL, UCF_NET_STRING=("LOC=af5", "IOSTANDARD = LVCMOS33") + PORT ETH_RXER = ETH_RXER, UCF_NET_STRING=("LOC=ad4", "IOSTANDARD = LVCMOS33") + PORT ETH_TXEN = ETH_TXEN, UCF_NET_STRING=("LOC=ab10", "IOSTANDARD = LVCMOS33") + PORT ETH_TXD0 = ETH_TXD0, UCF_NET_STRING=("LOC=ab11", "IOSTANDARD = LVCMOS33") + PORT ETH_TXD1 = ETH_TXD1, UCF_NET_STRING=("LOC=ac10", "IOSTANDARD = LVCMOS33") + PORT ETH_TXD2 = ETH_TXD2, UCF_NET_STRING=("LOC=ac11", "IOSTANDARD = LVCMOS33") + PORT ETH_TXD3 = ETH_TXD3, UCF_NET_STRING=("LOC=ad10", "IOSTANDARD = LVCMOS33") + PORT ETH_MDC = ETH_MDC, UCF_NET_STRING=("LOC=ae12", "IOSTANDARD = LVCMOS33") + PORT ETH_RESETn = ETH_RESETn,UCF_NET_STRING=("LOC=af13", "IOSTANDARD = LVCMOS33") + PORT ETH_MDIO = ETH_MDIO, UCF_NET_STRING=("LOC=af12", "IOSTANDARD = LVCMOS33") + PORT ETH_MDINT = ETH_MDINT, UCF_NET_STRING=("LOC=ad12", "IOSTANDARD = LVCMOS33") + + ### IIC ### + PORT IIC_CLK = iic_scl, UCF_NET_STRING=("LOC=u21", "SLEW = SLOW", "DRIVE = 6", "IOSTANDARD = LVCMOS33") + PORT IIC_DATA = iic_sda, UCF_NET_STRING=("LOC=y17", "SLEW = SLOW", "DRIVE = 6", "IOSTANDARD = LVCMOS33") + +END +
boards/GECKO3main/data/GECKO3main_v2_2_0.xbd Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property Index: boards/GECKO3main/data/README =================================================================== --- boards/GECKO3main/data/README (nonexistent) +++ boards/GECKO3main/data/README (revision 5) @@ -0,0 +1,11 @@ +The folder "edk_user_repository" contains the board support package for the GECKO3main module to use in Xilinx EDK + +Extract this file in the folder where the EDK folder is located. Don't extract it inside the EDK folder! +After extracting you should have a "edk_user_repository" folder on the same level as the EDK installation folder. + +Compatible with EDK 8.2 and 9.1. + +Known issues: +- EDK 9.2 and above is not supported yet (Xilinx changed the IP-Core they use for memory interfaces. This gives us a lot of problems) + +- The 128 Mbyte DDR RAM configurations does not work yet. I'm unsure where the problem is. Index: boards/GECKO3main/data/COPYING =================================================================== --- boards/GECKO3main/data/COPYING (nonexistent) +++ boards/GECKO3main/data/COPYING (revision 5) @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library.
boards/GECKO3main/data/COPYING Property changes : Added: svn:executable ## -0,0 +1 ## +* \ No newline at end of property

powered by: WebSVN 2.1.0

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