mirror of
https://github.com/spicyjpeg/573in1.git
synced 2025-03-01 07:20:42 +01:00
427 lines
15 KiB
Plaintext
427 lines
15 KiB
Plaintext
# 573in1 - Copyright (C) 2022-2024 spicyjpeg
|
|
#
|
|
# 573in1 is free software: 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.
|
|
#
|
|
# 573in1 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 General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License along with
|
|
# 573in1. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
CONFIG PART = "XCS40XL-PQ208-4";
|
|
CONFIG PROHIBIT = "P77"; # /INIT
|
|
CONFIG PROHIBIT = "P153"; # DIN
|
|
CONFIG PROHIBIT = "P154"; # DOUT
|
|
|
|
## Floorplan constraints
|
|
|
|
SET "DRAMArbiter.apbWDataReg" RLOC_ORIGIN = "R1C1";
|
|
SET "DRAMArbiter.mainRDataReg" RLOC_ORIGIN = "R1C2";
|
|
SET "DRAMArbiter.auxRDataReg" RLOC_ORIGIN = "R1C3";
|
|
SET "MP3Descrambler.key1Reg" RLOC_ORIGIN = "R1C4";
|
|
SET "MP3Descrambler.key2Reg" RLOC_ORIGIN = "R1C5";
|
|
SET "MP3Descrambler.derivedKeyMux" RLOC_ORIGIN = "R1C6";
|
|
SET "MP3Descrambler.swapper" RLOC_ORIGIN = "R1C7";
|
|
SET "MP3Descrambler.key3Reg" RLOC_ORIGIN = "R9C8";
|
|
SET "MP3Descrambler.xorMux" RLOC_ORIGIN = "R1C8";
|
|
SET "MP3Descrambler.byteSwapMux" RLOC_ORIGIN = "R1C9";
|
|
SET "MP3DataFeeder.baudRateGen" RLOC_ORIGIN = "R9C9";
|
|
SET "MP3DataFeeder.shiftReg" RLOC_ORIGIN = "R1C10";
|
|
SET "MP3DataFeeder.counter" RLOC_ORIGIN = "R9C10";
|
|
|
|
SET "MP3StateMachine.startAddrHReg" RLOC_ORIGIN = "R1C11";
|
|
SET "MP3StateMachine.startAddrLReg" RLOC_ORIGIN = "R6C11";
|
|
SET "MP3StateMachine.endAddrHReg" RLOC_ORIGIN = "R1C12";
|
|
SET "MP3StateMachine.endAddrLReg" RLOC_ORIGIN = "R6C12";
|
|
SET "DRAMArbiter.auxRAddrReg" RLOC_ORIGIN = "R1C13";
|
|
SET "DRAMArbiter.mainRAddrReg" RLOC_ORIGIN = "R1C14";
|
|
SET "DRAMArbiter.apbRAddrMux" RLOC_ORIGIN = "R1C15";
|
|
SET "DRAMArbiter.mainWAddrReg" RLOC_ORIGIN = "R1C16";
|
|
SET "DRAMArbiter.apbAddrMux" RLOC_ORIGIN = "R1C17";
|
|
SET "DRAMController.dramAddrMux" RLOC_ORIGIN = "R1C18";
|
|
SET "DRAMController.stateCounter" RLOC_ORIGIN = "R1C19";
|
|
SET "DRAMController.refreshTimer" RLOC_ORIGIN = "R1C20";
|
|
|
|
SET "MP3StateMachine.frameCountReg" RLOC_ORIGIN = "R2C25";
|
|
SET "MP3StateMachine.sampleDeltaReg" RLOC_ORIGIN = "R2C26";
|
|
SET "MP3StateMachine.sampleCountHReg" RLOC_ORIGIN = "R2C27";
|
|
SET "MP3StateMachine.sampleCountLReg" RLOC_ORIGIN = "R1C28";
|
|
|
|
SET "UARTTransmitter.counter" RLOC_ORIGIN = "R10C1";
|
|
SET "UARTTransmitter.fifo" RLOC_ORIGIN = "R13C1";
|
|
SET "UARTTransmitter.shiftReg" RLOC_ORIGIN = "R12C2";
|
|
SET "UARTReceiver.shiftReg" RLOC_ORIGIN = "R12C3";
|
|
SET "UARTReceiver.counter" RLOC_ORIGIN = "R10C4";
|
|
SET "UARTReceiver.fifo" RLOC_ORIGIN = "R13C4";
|
|
SET "BaudRateGenerator.divider" RLOC_ORIGIN = "R11C5";
|
|
|
|
## System clocks
|
|
|
|
TIMESPEC "TS_clkMain" = PERIOD "clkMain" 29.4500 MHz HIGH 50 %;
|
|
TIMESPEC "TS_clkUART" = PERIOD "clkUART" 19.6608 MHz HIGH 50 %;
|
|
|
|
NET "clkInMain" LOC = "P160";
|
|
NET "clkMain" TNM_NET = "clkMain";
|
|
NET "clkInUART" LOC = "P207";
|
|
NET "clkUART" TNM_NET = "clkUART";
|
|
|
|
## Host interface
|
|
|
|
# Bus timings are slightly overconstrained to reduce the chance of metastability
|
|
# caused by the 573's bus running faster (33.8688 MHz).
|
|
TIMESPEC "TS_hostAddr" = FROM "hostAddr" TO "FFS" "TS_clkMain" * 1.2;
|
|
TIMESPEC "TS_hostWData" = FROM "hostData" TO "FFS" "TS_clkMain" * 1.2;
|
|
TIMESPEC "TS_hostRData" = FROM "FFS" TO "hostData" "TS_clkMain" * 1.2;
|
|
|
|
NET "nHostCS" LOC = "P142";
|
|
NET "nHostCS" TNM_NET = "hostControl";
|
|
NET "nHostRead" LOC = "P146";
|
|
NET "nHostRead" TNM_NET = "hostControl";
|
|
NET "nHostWrite" LOC = "P145";
|
|
NET "nHostWrite" TNM_NET = "hostControl";
|
|
|
|
NET "hostAddr[0]" LOC = "P117";
|
|
NET "hostAddr[0]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[1]" LOC = "P116";
|
|
NET "hostAddr[1]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[2]" LOC = "P115";
|
|
NET "hostAddr[2]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[3]" LOC = "P114";
|
|
NET "hostAddr[3]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[4]" LOC = "P113";
|
|
NET "hostAddr[4]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[5]" LOC = "P112";
|
|
NET "hostAddr[5]" TNM_NET = "hostAddr";
|
|
NET "hostAddr[6]" LOC = "P110";
|
|
NET "hostAddr[6]" TNM_NET = "hostAddr";
|
|
|
|
NET "hostData[0]" LOC = "P138";
|
|
NET "hostData[0]" TNM_NET = "hostData";
|
|
NET "hostData[1]" LOC = "P137";
|
|
NET "hostData[1]" TNM_NET = "hostData";
|
|
NET "hostData[2]" LOC = "P136";
|
|
NET "hostData[2]" TNM_NET = "hostData";
|
|
NET "hostData[3]" LOC = "P135";
|
|
NET "hostData[3]" TNM_NET = "hostData";
|
|
NET "hostData[4]" LOC = "P134";
|
|
NET "hostData[4]" TNM_NET = "hostData";
|
|
NET "hostData[5]" LOC = "P133";
|
|
NET "hostData[5]" TNM_NET = "hostData";
|
|
NET "hostData[6]" LOC = "P132";
|
|
NET "hostData[6]" TNM_NET = "hostData";
|
|
NET "hostData[7]" LOC = "P129";
|
|
NET "hostData[7]" TNM_NET = "hostData";
|
|
NET "hostData[8]" LOC = "P128";
|
|
NET "hostData[8]" TNM_NET = "hostData";
|
|
NET "hostData[9]" LOC = "P127";
|
|
NET "hostData[9]" TNM_NET = "hostData";
|
|
NET "hostData[10]" LOC = "P126";
|
|
NET "hostData[10]" TNM_NET = "hostData";
|
|
NET "hostData[11]" LOC = "P125";
|
|
NET "hostData[11]" TNM_NET = "hostData";
|
|
NET "hostData[12]" LOC = "P124";
|
|
NET "hostData[12]" TNM_NET = "hostData";
|
|
NET "hostData[13]" LOC = "P123";
|
|
NET "hostData[13]" TNM_NET = "hostData";
|
|
NET "hostData[14]" LOC = "P122";
|
|
NET "hostData[14]" TNM_NET = "hostData";
|
|
NET "hostData[15]" LOC = "P120";
|
|
NET "hostData[15]" TNM_NET = "hostData";
|
|
|
|
## SRAM interface
|
|
|
|
NET "nSRAMCS" LOC = "P34";
|
|
NET "nSRAMCS" TNM_NET = "sramCtrl";
|
|
NET "nSRAMCS" FAST;
|
|
NET "nSRAMRead" LOC = "P40";
|
|
NET "nSRAMRead" TNM_NET = "sramCtrl";
|
|
NET "nSRAMRead" FAST;
|
|
NET "nSRAMWrite" LOC = "P55";
|
|
NET "nSRAMWrite" TNM_NET = "sramCtrl";
|
|
NET "nSRAMWrite" FAST;
|
|
|
|
NET "sramAddr[0]" LOC = "P30";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[1]" LOC = "P32";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[2]" LOC = "P35";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[3]" LOC = "P37";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[4]" LOC = "P41";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[5]" LOC = "P43";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[6]" LOC = "P45";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[7]" LOC = "P47";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[8]" LOC = "P46";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[9]" LOC = "P44";
|
|
NET "sramAddr[0]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[10]" LOC = "P36";
|
|
NET "sramAddr[10]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[11]" LOC = "P42";
|
|
NET "sramAddr[11]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[12]" LOC = "P49";
|
|
NET "sramAddr[12]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[13]" LOC = "P48";
|
|
NET "sramAddr[13]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[14]" LOC = "P56";
|
|
NET "sramAddr[14]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[15]" LOC = "P58";
|
|
NET "sramAddr[15]" TNM_NET = "sramAddr";
|
|
NET "sramAddr[16]" LOC = "P57";
|
|
NET "sramAddr[16]" TNM_NET = "sramAddr";
|
|
|
|
NET "sramData[0]" LOC = "P28";
|
|
NET "sramData[0]" TNM_NET = "sramData";
|
|
NET "sramData[1]" LOC = "P24";
|
|
NET "sramData[1]" TNM_NET = "sramData";
|
|
NET "sramData[2]" LOC = "P22";
|
|
NET "sramData[2]" TNM_NET = "sramData";
|
|
NET "sramData[3]" LOC = "P21";
|
|
NET "sramData[3]" TNM_NET = "sramData";
|
|
NET "sramData[4]" LOC = "P23";
|
|
NET "sramData[4]" TNM_NET = "sramData";
|
|
NET "sramData[5]" LOC = "P27";
|
|
NET "sramData[5]" TNM_NET = "sramData";
|
|
NET "sramData[6]" LOC = "P29";
|
|
NET "sramData[6]" TNM_NET = "sramData";
|
|
NET "sramData[7]" LOC = "P31";
|
|
NET "sramData[7]" TNM_NET = "sramData";
|
|
|
|
## DRAM interface
|
|
|
|
NET "nDRAMRead" LOC = "P190";
|
|
NET "nDRAMRead" TNM_NET = "dramCtrl";
|
|
NET "nDRAMRead" FAST;
|
|
NET "nDRAMWrite" LOC = "P196";
|
|
NET "nDRAMWrite" TNM_NET = "dramCtrl";
|
|
NET "nDRAMWrite" FAST;
|
|
|
|
NET "nDRAMRAS[0]" LOC = "P191"; # 22H
|
|
NET "nDRAMRAS[0]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMRAS[0]" FAST;
|
|
NET "nDRAMRAS[1]" LOC = "P189"; # 22J
|
|
NET "nDRAMRAS[1]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMRAS[1]" FAST;
|
|
NET "nDRAMRAS[2]" LOC = "P193"; # 22G
|
|
NET "nDRAMRAS[2]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMRAS[2]" FAST;
|
|
|
|
NET "nDRAMLCAS[0]" LOC = "P199"; # 22H
|
|
NET "nDRAMLCAS[0]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMLCAS[0]" FAST;
|
|
NET "nDRAMLCAS[1]" LOC = "P201"; # 22J
|
|
NET "nDRAMLCAS[1]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMLCAS[1]" FAST;
|
|
NET "nDRAMLCAS[2]" LOC = "P197"; # 22G
|
|
NET "nDRAMLCAS[2]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMLCAS[2]" FAST;
|
|
|
|
NET "nDRAMUCAS[0]" LOC = "P198"; # 22H
|
|
NET "nDRAMUCAS[0]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMUCAS[0]" FAST;
|
|
NET "nDRAMUCAS[1]" LOC = "P200"; # 22J
|
|
NET "nDRAMUCAS[1]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMUCAS[1]" FAST;
|
|
NET "nDRAMUCAS[2]" LOC = "P194"; # 22G
|
|
NET "nDRAMUCAS[2]" TNM_NET = "dramCtrl";
|
|
NET "nDRAMUCAS[2]" FAST;
|
|
|
|
NET "dramAddr[0]" LOC = "P186";
|
|
NET "dramAddr[0]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[1]" LOC = "P184";
|
|
NET "dramAddr[1]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[2]" LOC = "P180";
|
|
NET "dramAddr[2]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[3]" LOC = "P178";
|
|
NET "dramAddr[3]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[4]" LOC = "P176";
|
|
NET "dramAddr[4]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[5]" LOC = "P174";
|
|
NET "dramAddr[5]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[6]" LOC = "P175";
|
|
NET "dramAddr[6]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[7]" LOC = "P177";
|
|
NET "dramAddr[7]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[8]" LOC = "P179";
|
|
NET "dramAddr[8]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[9]" LOC = "P181";
|
|
NET "dramAddr[9]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[10]" LOC = "P185";
|
|
NET "dramAddr[10]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[11]" LOC = "P187";
|
|
NET "dramAddr[11]" TNM_NET = "dramAddr";
|
|
NET "dramAddr[12]" LOC = "P188";
|
|
NET "dramAddr[12]" TNM_NET = "dramAddr";
|
|
|
|
NET "dramData[0]" LOC = "P15";
|
|
NET "dramData[0]" TNM_NET = "dramData";
|
|
NET "dramData[1]" LOC = "P14";
|
|
NET "dramData[1]" TNM_NET = "dramData";
|
|
NET "dramData[2]" LOC = "P10";
|
|
NET "dramData[2]" TNM_NET = "dramData";
|
|
NET "dramData[3]" LOC = "P8";
|
|
NET "dramData[3]" TNM_NET = "dramData";
|
|
NET "dramData[4]" LOC = "P2";
|
|
NET "dramData[4]" TNM_NET = "dramData";
|
|
NET "dramData[5]" LOC = "P206";
|
|
NET "dramData[5]" TNM_NET = "dramData";
|
|
NET "dramData[6]" LOC = "P205";
|
|
NET "dramData[6]" TNM_NET = "dramData";
|
|
NET "dramData[7]" LOC = "P204";
|
|
NET "dramData[7]" TNM_NET = "dramData";
|
|
NET "dramData[8]" LOC = "P3";
|
|
NET "dramData[8]" TNM_NET = "dramData";
|
|
NET "dramData[9]" LOC = "P4";
|
|
NET "dramData[9]" TNM_NET = "dramData";
|
|
NET "dramData[10]" LOC = "P5";
|
|
NET "dramData[10]" TNM_NET = "dramData";
|
|
NET "dramData[11]" LOC = "P9";
|
|
NET "dramData[11]" TNM_NET = "dramData";
|
|
NET "dramData[12]" LOC = "P11";
|
|
NET "dramData[12]" TNM_NET = "dramData";
|
|
NET "dramData[13]" LOC = "P17";
|
|
NET "dramData[13]" TNM_NET = "dramData";
|
|
NET "dramData[14]" LOC = "P19";
|
|
NET "dramData[14]" TNM_NET = "dramData";
|
|
NET "dramData[15]" LOC = "P20";
|
|
NET "dramData[15]" TNM_NET = "dramData";
|
|
|
|
## MP3 decoder control interface
|
|
|
|
NET "mp3ClkIn" LOC = "P163";
|
|
NET "mp3ClkIn" TNM_NET = "mp3Clk";
|
|
NET "mp3ClkOut" LOC = "P162";
|
|
NET "mp3ClkOut" TNM_NET = "mp3Clk";
|
|
|
|
NET "mp3Reset" LOC = "P152";
|
|
NET "mp3Reset" TNM_NET = "mp3Control";
|
|
NET "mp3Ready" LOC = "P159";
|
|
NET "mp3Ready" TNM_NET = "mp3Control";
|
|
NET "mp3SDA" LOC = "P150";
|
|
NET "mp3SDA" TNM_NET = "mp3Control";
|
|
NET "mp3SCL" LOC = "P151";
|
|
NET "mp3SCL" TNM_NET = "mp3Control";
|
|
|
|
NET "mp3StatusCS" LOC = "P149";
|
|
NET "mp3StatusCS" TNM_NET = "mp3Control";
|
|
NET "mp3StatusError" LOC = "P168";
|
|
NET "mp3StatusError" TNM_NET = "mp3Control";
|
|
NET "mp3StatusFrameSync" LOC = "P161";
|
|
NET "mp3StatusFrameSync" TNM_NET = "mp3Control";
|
|
NET "mp3StatusDataReq" LOC = "P148";
|
|
NET "mp3StatusDataReq" TNM_NET = "mp3Control";
|
|
|
|
## MP3 decoder data interface
|
|
|
|
NET "mp3InSDIN" LOC = "P167";
|
|
NET "mp3InSDIN" TNM_NET = "mp3Data";
|
|
NET "mp3InBCLK" LOC = "P164";
|
|
NET "mp3InBCLK" TNM_NET = "mp3Data";
|
|
NET "mp3InLRCK" LOC = "P166";
|
|
NET "mp3InLRCK" TNM_NET = "mp3Data";
|
|
NET "mp3OutSDOUT" LOC = "P172";
|
|
NET "mp3OutSDOUT" TNM_NET = "mp3Data";
|
|
NET "mp3OutBCLK" LOC = "P169";
|
|
NET "mp3OutBCLK" TNM_NET = "mp3Data";
|
|
NET "mp3OutLRCK" LOC = "P171";
|
|
NET "mp3OutLRCK" TNM_NET = "mp3Data";
|
|
|
|
## I2S audio output
|
|
|
|
NET "dacSDIN" LOC = "P96";
|
|
NET "dacSDIN" TNM_NET = "dacData";
|
|
NET "dacBCLK" LOC = "P94";
|
|
NET "dacBCLK" TNM_NET = "dacData";
|
|
NET "dacLRCK" LOC = "P95";
|
|
NET "dacLRCK" TNM_NET = "dacData";
|
|
NET "dacMCLK" LOC = "P97";
|
|
NET "dacMCLK" TNM_NET = "dacData";
|
|
|
|
## Serial interfaces
|
|
|
|
# TODO: are pins 98 and 99 swapped?
|
|
NET "networkTXE" LOC = "P98";
|
|
NET "networkTXE" TNM_NET = "network";
|
|
NET "networkTX" LOC = "P99";
|
|
NET "networkTX" TNM_NET = "network";
|
|
NET "networkRX" LOC = "P100";
|
|
NET "networkRX" TNM_NET = "network";
|
|
|
|
NET "serialTX" LOC = "P89";
|
|
NET "serialTX" TNM_NET = "serial";
|
|
NET "serialRX" LOC = "P88";
|
|
NET "serialRX" TNM_NET = "serial";
|
|
NET "serialRTS" LOC = "P93";
|
|
NET "serialRTS" TNM_NET = "serial";
|
|
NET "serialCTS" LOC = "P90";
|
|
NET "serialCTS" TNM_NET = "serial";
|
|
NET "serialDTR" LOC = "P87";
|
|
NET "serialDTR" TNM_NET = "serial";
|
|
NET "serialDSR" LOC = "P85";
|
|
NET "serialDSR" TNM_NET = "serial";
|
|
|
|
## Light outputs
|
|
|
|
NET "lightBankAH[0]" LOC = "P84";
|
|
NET "lightBankAH[0]" TNM_NET = "lights";
|
|
NET "lightBankAH[1]" LOC = "P83";
|
|
NET "lightBankAH[1]" TNM_NET = "lights";
|
|
NET "lightBankAH[2]" LOC = "P82";
|
|
NET "lightBankAH[2]" TNM_NET = "lights";
|
|
NET "lightBankAH[3]" LOC = "P81";
|
|
NET "lightBankAH[3]" TNM_NET = "lights";
|
|
|
|
NET "lightBankAL[0]" LOC = "P80";
|
|
NET "lightBankAL[0]" TNM_NET = "lights";
|
|
NET "lightBankAL[1]" LOC = "P76";
|
|
NET "lightBankAL[1]" TNM_NET = "lights";
|
|
NET "lightBankAL[2]" LOC = "P75";
|
|
NET "lightBankAL[2]" TNM_NET = "lights";
|
|
NET "lightBankAL[3]" LOC = "P74";
|
|
NET "lightBankAL[3]" TNM_NET = "lights";
|
|
|
|
NET "lightBankBH[0]" LOC = "P73";
|
|
NET "lightBankBH[0]" TNM_NET = "lights";
|
|
NET "lightBankBH[1]" LOC = "P72";
|
|
NET "lightBankBH[1]" TNM_NET = "lights";
|
|
NET "lightBankBH[2]" LOC = "P70";
|
|
NET "lightBankBH[2]" TNM_NET = "lights";
|
|
NET "lightBankBH[3]" LOC = "P69";
|
|
NET "lightBankBH[3]" TNM_NET = "lights";
|
|
|
|
NET "lightBankD[0]" LOC = "P68";
|
|
NET "lightBankD[0]" TNM_NET = "lights";
|
|
NET "lightBankD[1]" LOC = "P67";
|
|
NET "lightBankD[1]" TNM_NET = "lights";
|
|
NET "lightBankD[2]" LOC = "P60";
|
|
NET "lightBankD[2]" TNM_NET = "lights";
|
|
NET "lightBankD[3]" LOC = "P59";
|
|
NET "lightBankD[3]" TNM_NET = "lights";
|
|
|
|
## General-purpose inputs
|
|
|
|
NET "inputBank[0]" LOC = "P61";
|
|
NET "inputBank[0]" TNM_NET = "inputs";
|
|
NET "inputBank[1]" LOC = "P62";
|
|
NET "inputBank[1]" TNM_NET = "inputs";
|
|
NET "inputBank[2]" LOC = "P63";
|
|
NET "inputBank[2]" TNM_NET = "inputs";
|
|
NET "inputBank[3]" LOC = "P64";
|
|
NET "inputBank[3]" TNM_NET = "inputs";
|
|
|
|
## 1-wire bus
|
|
|
|
NET "ds2433" LOC = "P107";
|
|
NET "ds2433" TNM_NET = "dsBus";
|
|
NET "ds2401" LOC = "P109";
|
|
NET "ds2401" TNM_NET = "dsBus";
|