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

Subversion Repositories s6soc

[/] [s6soc/] [trunk/] [cmod.ucf] - Rev 50

Compare with Previous | Blame | View Log

################################################################################
##
## Filename:    cmod.ucf
##
## Project:     CMod S6 System on a Chip, ZipCPU demonstration project
##
## Purpose:     This file is really from Digilent, and so the copyright
##              statement below applies only to those changes that have been
##      made to modify it to support the CMod S6 SoC project.  That said ...
##
##      This file specifies the pin connections for all of the peripherals
##      connected to the Cmod S6 SoC.
##
##
## Creator:     Dan Gisselquist, Ph.D.
##              Gisselquist Technology, LLC
##
################################################################################
##
## Copyright (C) 2015-2016, Gisselquist Technology, LLC
##
## This program is free software (firmware): you can redistribute it and/or
## modify it under the terms of  the GNU 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 MERCHANTIBILITY or
## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with this program.  (It's in the $(ROOT)/doc directory, run make with no
## target there if the PDF file isn't present.)  If not, see
## <http://www.gnu.org/licenses/> for a copy.
##
## License:     GPL, v3, as defined and found on www.gnu.org,
##              http://www.gnu.org/licenses/gpl.html
##
##
################################################################################
##
##

#FPGA_GCLK
NET "i_clk_8mhz" LOC = "N8" | IOSTANDARD = LVCMOS33;
NET "i_clk_8mhz" TNM_NET = "i_clk_8mhz";
TIMESPEC "TSi_clk_8mhz" = PERIOD "i_clk_8mhz" 125.0 ns HIGH 50%;

#CLK_LFC
# NET "i_clk_pps" LOC = "N7" | IOSTANDARD = LVCMOS33;

#BTNs
NET "i_btn<0>" LOC = "P8" | IOSTANDARD = LVCMOS33;
NET "i_btn<1>" LOC = "P9" | IOSTANDARD = LVCMOS33;

#LEDs
NET "o_led<0>" LOC = "N3" | IOSTANDARD = LVCMOS33;
NET "o_led<1>" LOC = "P3" | IOSTANDARD = LVCMOS33;
NET "o_led<2>" LOC = "N4" | IOSTANDARD = LVCMOS33;
NET "o_led<3>" LOC = "P4" | IOSTANDARD = LVCMOS33;

# Flash
NET "o_qspi_sck"     LOC="N13"  | IOSTANDARD = LVCMOS33;
NET "o_qspi_cs_n"    LOC="P2"   | IOSTANDARD = LVCMOS33;
NET "io_qspi_dat<0>" LOC="P11"   | IOSTANDARD = LVCMOS33;
NET "io_qspi_dat<1>" LOC="N11"  | IOSTANDARD = LVCMOS33;
NET "io_qspi_dat<2>" LOC="N10"  | IOSTANDARD = LVCMOS33;
NET "io_qspi_dat<3>" LOC="P10"  | IOSTANDARD = LVCMOS33;

#DEPP Signals
#   The "main" design doesnt have the room to support the logic necessary
#   to drive these, so they stay safely commented here.

NET "o_depp_wait"     LOC = "B6"  | IOSTANDARD = LVCMOS33;
NET "i_depp_astb_n"   LOC = "A6"  | IOSTANDARD = LVCMOS33;
NET "i_depp_dstb_n"   LOC = "B7"  | IOSTANDARD = LVCMOS33;
NET "i_depp_write_n"  LOC = "A7"  | IOSTANDARD = LVCMOS33;
NET "io_depp_data<0>" LOC = "B9"  | IOSTANDARD = LVCMOS33;
NET "io_depp_data<1>" LOC = "A9"  | IOSTANDARD = LVCMOS33;
NET "io_depp_data<2>" LOC = "B10" | IOSTANDARD = LVCMOS33;
NET "io_depp_data<3>" LOC = "A10" | IOSTANDARD = LVCMOS33;
NET "io_depp_data<4>" LOC = "B11" | IOSTANDARD = LVCMOS33;
NET "io_depp_data<5>" LOC = "A11" | IOSTANDARD = LVCMOS33;
NET "io_depp_data<6>" LOC = "B12" | IOSTANDARD = LVCMOS33;
NET "io_depp_data<7>" LOC = "A12" | IOSTANDARD = LVCMOS33;

#IO PORTs

# UART: PIO26 (CTS), PIO27 (TXD), PIO28(RXD), PIO29(RTS)
NET "i_uart_cts_n" LOC = "B1"  | IOSTANDARD = LVCMOS33; # PIO29
NET "o_uart"       LOC = "A2"  | IOSTANDARD = LVCMOS33; # PIO28
NET "i_uart"       LOC = "B3"  | IOSTANDARD = LVCMOS33; # PIO27
NET "o_uart_rts_n" LOC = "A3"  | IOSTANDARD = LVCMOS33; # PIO26
# PWM-Audio: Shutdown (PIO46), Gain (PIO47), PWM-Audio (PIO48)
NET "o_pwm"            LOC = "M2" | IOSTANDARD = LVCMOS33;              # PIO48
NET "o_pwm_shutdown_n" LOC = "L2" | IOSTANDARD = LVCMOS33 | PULLUP;     # PIO46
NET "o_pwm_gain"       LOC = "M1" | IOSTANDARD = LVCMOS33 | PULLUP;     # PIO47
# I2C
NET "io_scl"  LOC = "E14" | IOSTANDARD = LVCMOS33 | PULLUP;     # io_scl, PIO44
NET "io_sda"  LOC = "G13" | IOSTANDARD = LVCMOS33 | PULLUP;     # io_sda, PIO45

#
# o_gpio<0> and o_gpio<1> have been borrowed for io_scl and io_sda, hence we
# start our count here at 2
#
# NET "o_gpio<0>"  LOC = "G13" | IOSTANDARD = LVCMOS33;  # io_sda
# NET "o_gpio<1>"  LOC = "E14" | IOSTANDARD = LVCMOS33; # io_scl
NET "o_gpio<2>"  LOC = "D13" | IOSTANDARD = LVCMOS33;   # display o_mosi
NET "o_gpio<3>"  LOC = "E13" | IOSTANDARD = LVCMOS33;   # display o_sck
NET "o_gpio<4>"  LOC = "C13" | IOSTANDARD = LVCMOS33;   # display o_ss
NET "o_gpio<5>"  LOC = "G14" | IOSTANDARD = LVCMOS33;
NET "o_gpio<6>"  LOC = "F13" | IOSTANDARD = LVCMOS33;
NET "o_gpio<7>"  LOC = "F14" | IOSTANDARD = LVCMOS33;
NET "o_gpio<8>"  LOC = "H13" | IOSTANDARD = LVCMOS33;
NET "o_gpio<9>"  LOC = "H14" | IOSTANDARD = LVCMOS33;
NET "o_gpio<10>" LOC = "J13" | IOSTANDARD = LVCMOS33;
NET "o_gpio<11>" LOC = "J14" | IOSTANDARD = LVCMOS33;
NET "o_gpio<12>" LOC = "C1" | IOSTANDARD = LVCMOS33;
NET "o_gpio<13>" LOC = "D1" | IOSTANDARD = LVCMOS33;
NET "o_gpio<14>" LOC = "D2" | IOSTANDARD = LVCMOS33;
NET "o_gpio<15>" LOC = "E1" | IOSTANDARD = LVCMOS33;

#
# As with the o_gpio wires, i_gpio<0> and i_gpio<1> have been borrowed for
# io_scl and io_sda, hence we start our count here at 2
#
# NET "i_gpio<0>"  LOC = "G13" | IOSTANDARD = LVCMOS33;  # io_sda
# NET "i_gpio<1>"  LOC = "E14" | IOSTANDARD = LVCMOS33; # io_scl
NET "i_gpio<2>"  LOC = "D14"  | IOSTANDARD = LVCMOS33;  # display miso
NET "i_gpio<3>"  LOC = "E2"   | IOSTANDARD = LVCMOS33;
NET "i_gpio<4>"  LOC = "F1"   | IOSTANDARD = LVCMOS33;  # PIO35
NET "i_gpio<5>"  LOC = "F2"   | IOSTANDARD = LVCMOS33;  # PIO36
NET "i_gpio<6>"  LOC = "H1"   | IOSTANDARD = LVCMOS33;  # PIO37
NET "i_gpio<7>"  LOC = "H2"   | IOSTANDARD = LVCMOS33;  # PIO38
NET "i_gpio<8>"  LOC = "G1"   | IOSTANDARD = LVCMOS33;  # PIO39
NET "i_gpio<9>"  LOC = "G2"   | IOSTANDARD = LVCMOS33;
NET "i_gpio<10>" LOC = "J1"   | IOSTANDARD = LVCMOS33;
NET "i_gpio<11>" LOC = "J2"   | IOSTANDARD = LVCMOS33;  # PIO42
NET "i_gpio<12>" LOC = "K1"   | IOSTANDARD = LVCMOS33;  # PIO43
NET "i_gpio<13>" LOC = "K2"   | IOSTANDARD = LVCMOS33;  # PIO44
NET "i_gpio<14>" LOC = "L1"   | IOSTANDARD = LVCMOS33;  # PIO45
NET "i_gpio<15>" LOC = "N12"  | IOSTANDARD = LVCMOS33;  # PIO06 -- OutOfOrder

NET "o_kp_col<0>" LOC = "P5"  | IOSTANDARD = LVCMOS33 | PULLUP;  # PIO01
NET "o_kp_col<1>" LOC = "N5"  | IOSTANDARD = LVCMOS33 | PULLUP; # PIO02
NET "o_kp_col<2>" LOC = "N6"  | IOSTANDARD = LVCMOS33 | PULLUP; # PIO03
NET "o_kp_col<3>" LOC = "P7"  | IOSTANDARD = LVCMOS33 | PULLUP; # PIO04

NET "i_kp_row<0>" LOC = "L14" | IOSTANDARD = LVCMOS33 | PULLUP;  # PIO07
NET "i_kp_row<1>" LOC = "L13" | IOSTANDARD = LVCMOS33 | PULLUP; # PIO08
NET "i_kp_row<2>" LOC = "K14" | IOSTANDARD = LVCMOS33 | PULLUP; # PIO09
NET "i_kp_row<3>" LOC = "K13" | IOSTANDARD = LVCMOS33 | PULLUP; # PIO10

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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