mirror of
https://github.com/spicyjpeg/573in1.git
synced 2025-02-02 12:37:19 +01:00
324 lines
11 KiB
Plaintext
324 lines
11 KiB
Plaintext
|
|
CONFIG PROHIBIT = "P77"; # /INIT
|
|
CONFIG PROHIBIT = "P153"; # DIN
|
|
CONFIG PROHIBIT = "P154"; # DOUT
|
|
|
|
## System clocks
|
|
|
|
TIMESPEC "TS_clock29M" = PERIOD "clock29M" 29.4500 MHz HIGH 50 %;
|
|
#TIMESPEC "TS_clock19M" = PERIOD "clock19M" 19.6608 MHz HIGH 50 %;
|
|
|
|
NET "clockIn29M" LOC = "P160";
|
|
NET "clock29M" TNM_NET = "clock29M";
|
|
NET "clockIn19M" LOC = "P207";
|
|
#NET "clock19M" TNM_NET = "clock19M";
|
|
|
|
## Host interface
|
|
|
|
TIMESPEC "TS_hostAddress" = FROM "hostAddress" TO "FFS" "TS_clock29M" / 1;
|
|
TIMESPEC "TS_hostDataIn" = FROM "hostData" TO "FFS" "TS_clock29M" / 1;
|
|
TIMESPEC "TS_hostDataOut" = FROM "FFS" TO "hostData" "TS_clock29M" / 1;
|
|
|
|
NET "nHostRead" LOC = "P146";
|
|
NET "nHostRead" TNM_NET = "hostControl";
|
|
NET "nHostWrite" LOC = "P145";
|
|
NET "nHostWrite" TNM_NET = "hostControl";
|
|
NET "nHostEnable" LOC = "P142";
|
|
NET "nHostEnable" TNM_NET = "hostControl";
|
|
|
|
NET "hostAddress[0]" LOC = "P117";
|
|
NET "hostAddress[0]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[1]" LOC = "P116";
|
|
NET "hostAddress[1]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[2]" LOC = "P115";
|
|
NET "hostAddress[2]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[3]" LOC = "P114";
|
|
NET "hostAddress[3]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[4]" LOC = "P113";
|
|
NET "hostAddress[4]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[5]" LOC = "P112";
|
|
NET "hostAddress[5]" TNM_NET = "hostAddress";
|
|
NET "hostAddress[6]" LOC = "P110";
|
|
NET "hostAddress[6]" TNM_NET = "hostAddress";
|
|
|
|
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 "nSRAMRead" LOC = "P40";
|
|
NET "nSRAMRead" TNM_NET = "sramControl";
|
|
NET "nSRAMRead" FAST;
|
|
NET "nSRAMWrite" LOC = "P55";
|
|
NET "nSRAMWrite" TNM_NET = "sramControl";
|
|
NET "nSRAMWrite" FAST;
|
|
NET "nSRAMEnable" LOC = "P34";
|
|
NET "nSRAMEnable" TNM_NET = "sramControl";
|
|
NET "nSRAMEnable" FAST;
|
|
|
|
NET "sramAddress[0]" LOC = "P30";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[1]" LOC = "P32";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[2]" LOC = "P35";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[3]" LOC = "P37";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[4]" LOC = "P41";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[5]" LOC = "P43";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[6]" LOC = "P45";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[7]" LOC = "P47";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[8]" LOC = "P46";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[9]" LOC = "P44";
|
|
NET "sramAddress[0]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[10]" LOC = "P36";
|
|
NET "sramAddress[10]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[11]" LOC = "P42";
|
|
NET "sramAddress[11]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[12]" LOC = "P49";
|
|
NET "sramAddress[12]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[13]" LOC = "P48";
|
|
NET "sramAddress[13]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[14]" LOC = "P56";
|
|
NET "sramAddress[14]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[15]" LOC = "P58";
|
|
NET "sramAddress[15]" TNM_NET = "sramAddress";
|
|
NET "sramAddress[16]" LOC = "P57";
|
|
NET "sramAddress[16]" TNM_NET = "sramAddress";
|
|
|
|
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
|
|
|
|
# TODO: trace these pins out
|
|
NET "dramControl[0]" LOC = "P188";
|
|
NET "dramControl[0]" TNM_NET = "dramControl";
|
|
NET "dramControl[1]" LOC = "P189";
|
|
NET "dramControl[1]" TNM_NET = "dramControl";
|
|
NET "dramControl[2]" LOC = "P190";
|
|
NET "dramControl[2]" TNM_NET = "dramControl";
|
|
NET "dramControl[3]" LOC = "P191";
|
|
NET "dramControl[3]" TNM_NET = "dramControl";
|
|
NET "dramControl[4]" LOC = "P193";
|
|
NET "dramControl[4]" TNM_NET = "dramControl";
|
|
NET "dramControl[5]" LOC = "P194";
|
|
NET "dramControl[5]" TNM_NET = "dramControl";
|
|
NET "dramControl[6]" LOC = "P196";
|
|
NET "dramControl[6]" TNM_NET = "dramControl";
|
|
NET "dramControl[7]" LOC = "P197";
|
|
NET "dramControl[7]" TNM_NET = "dramControl";
|
|
NET "dramControl[8]" LOC = "P198";
|
|
NET "dramControl[8]" TNM_NET = "dramControl";
|
|
NET "dramControl[9]" LOC = "P199";
|
|
NET "dramControl[9]" TNM_NET = "dramControl";
|
|
NET "dramControl[10]" LOC = "P200";
|
|
NET "dramControl[10]" TNM_NET = "dramControl";
|
|
NET "dramControl[11]" LOC = "P201";
|
|
NET "dramControl[11]" TNM_NET = "dramControl";
|
|
|
|
NET "dramAddress[0]" LOC = "P186";
|
|
NET "dramAddress[0]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[1]" LOC = "P184";
|
|
NET "dramAddress[1]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[2]" LOC = "P180";
|
|
NET "dramAddress[2]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[3]" LOC = "P178";
|
|
NET "dramAddress[3]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[4]" LOC = "P176";
|
|
NET "dramAddress[4]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[5]" LOC = "P174";
|
|
NET "dramAddress[5]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[6]" LOC = "P175";
|
|
NET "dramAddress[6]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[7]" LOC = "P177";
|
|
NET "dramAddress[7]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[8]" LOC = "P179";
|
|
NET "dramAddress[8]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[9]" LOC = "P181";
|
|
NET "dramAddress[9]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[10]" LOC = "P185";
|
|
NET "dramAddress[10]" TNM_NET = "dramAddress";
|
|
NET "dramAddress[11]" LOC = "P187";
|
|
NET "dramAddress[11]" TNM_NET = "dramAddress";
|
|
|
|
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 interface
|
|
|
|
NET "mp3ClockIn" LOC = "P163";
|
|
NET "mp3ClockIn" TNM_NET = "mp3Clock";
|
|
NET "mp3ClockOut" LOC = "P162";
|
|
NET "mp3ClockOut" TNM_NET = "mp3Clock";
|
|
|
|
NET "mp3Reset" LOC = "P152";
|
|
NET "mp3Ready" LOC = "P159";
|
|
NET "mp3SDA" LOC = "P150";
|
|
NET "mp3SCL" LOC = "P151";
|
|
|
|
NET "mp3StatusCS" LOC = "P149";
|
|
NET "mp3StatusError" LOC = "P168";
|
|
NET "mp3StatusFrameSync" LOC = "P161";
|
|
NET "mp3StatusDataReq" LOC = "P148";
|
|
|
|
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";
|
|
|
|
## Light outputs
|
|
|
|
NET "lightBankAH[0]" LOC = "P84";
|
|
NET "lightBankAH[1]" LOC = "P83";
|
|
NET "lightBankAH[2]" LOC = "P82";
|
|
NET "lightBankAH[3]" LOC = "P81";
|
|
|
|
NET "lightBankAL[0]" LOC = "P80";
|
|
NET "lightBankAL[1]" LOC = "P76";
|
|
NET "lightBankAL[2]" LOC = "P75";
|
|
NET "lightBankAL[3]" LOC = "P74";
|
|
|
|
NET "lightBankBH[0]" LOC = "P73";
|
|
NET "lightBankBH[1]" LOC = "P72";
|
|
NET "lightBankBH[2]" LOC = "P70";
|
|
NET "lightBankBH[3]" LOC = "P69";
|
|
|
|
NET "lightBankD[0]" LOC = "P68";
|
|
NET "lightBankD[1]" LOC = "P67";
|
|
NET "lightBankD[2]" LOC = "P60";
|
|
NET "lightBankD[3]" LOC = "P59";
|
|
|
|
## General-purpose inputs (unused)
|
|
|
|
#NET "inputBank[0]" LOC = "P61";
|
|
#NET "inputBank[1]" LOC = "P62";
|
|
#NET "inputBank[2]" LOC = "P63";
|
|
#NET "inputBank[3]" LOC = "P64";
|
|
|
|
## Serial interfaces
|
|
|
|
# TODO: are pins 98 and 99 swapped?
|
|
NET "networkTXEnable" LOC = "P98";
|
|
NET "networkTXEnable" 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";
|
|
|
|
## 1-wire bus
|
|
|
|
NET "ds2433" LOC = "P107";
|
|
NET "ds2401" LOC = "P109";
|