# Spartan 3 Starter Board # clock NET "clk" LOC = "T9"; # constraint NET "clk" PERIOD = 20 HIGH 50%; # leds NET "led<0>" LOC = "K12"; NET "led<1>" LOC = "P14"; NET "led<2>" LOC = "L12"; NET "led<3>" LOC = "N14"; NET "led<4>" LOC = "P13"; NET "led<5>" LOC = "N12"; NET "led<6>" LOC = "P12"; NET "led<7>" LOC = "P11"; # 7 segment display # cathodes NET "seg7<0>" LOC = "E14"; # segment 'A' NET "seg7<1>" LOC = "G13"; # segment 'B' NET "seg7<2>" LOC = "N15"; # segment 'C' NET "seg7<3>" LOC = "P15"; # segment 'D' NET "seg7<4>" LOC = "R16"; # segment 'E' NET "seg7<5>" LOC = "F13"; # segment 'F' NET "seg7<6>" LOC = "N16"; # segment 'G' NET "seg7<7>" LOC = "P16"; # DP (decimal point) # anodes NET "seg7de<0>" LOC = "D14"; # digit enable 0 (right digit) NET "seg7de<1>" LOC = "G14"; # digit enable 1 NET "seg7de<2>" LOC = "F14"; # digit enable 2 NET "seg7de<3>" LOC = "E13"; # digit enable 3 (left digit) # switches NET "sw<0>" LOC = "F12"; NET "sw<1>" LOC = "G12"; NET "sw<2>" LOC = "H14"; NET "sw<3>" LOC = "H13"; NET "sw<4>" LOC = "J14"; NET "sw<5>" LOC = "J13"; NET "sw<6>" LOC = "K14"; NET "sw<7>" LOC = "K13"; # buttons NET "btn<0>" LOC = "M13"; NET "btn<1>" LOC = "M14"; NET "btn<2>" LOC = "L13"; NET "btn<3>" LOC = "L14"; # sio NET "rs232RX" LOC = "T13"; NET "rs232TX" LOC = "R13"; # SRAM # control NET "sr1ce" LOC = "P7"; NET "sr1ub" LOC = "T4"; NET "sr1lb" LOC = "P6"; NET "sr2ce" LOC = "N5"; NET "sr2ub" LOC = "R4"; NET "sr2lb" LOC = "P5"; NET "sr12we" LOC = "G3"; # shared NET "sr12oe" LOC = "K4"; # shared # address bus NET "sraddr<0>" LOC = "L5"; NET "sraddr<1>" LOC = "N3"; NET "sraddr<2>" LOC = "M4"; NET "sraddr<3>" LOC = "M3"; NET "sraddr<4>" LOC = "L4"; NET "sraddr<5>" LOC = "G4"; NET "sraddr<6>" LOC = "F3"; NET "sraddr<7>" LOC = "F4"; NET "sraddr<8>" LOC = "E3"; NET "sraddr<9>" LOC = "E4"; NET "sraddr<10>" LOC = "G5"; NET "sraddr<11>" LOC = "H3"; NET "sraddr<12>" LOC = "H4"; NET "sraddr<13>" LOC = "J4"; NET "sraddr<14>" LOC = "J3"; NET "sraddr<15>" LOC = "K3"; NET "sraddr<16>" LOC = "K5"; NET "sraddr<17>" LOC = "L3"; # data bus SRAM1 NET "srio<0>" LOC = "N7"; NET "srio<1>" LOC = "T8"; NET "srio<2>" LOC = "R6"; NET "srio<3>" LOC = "T5"; NET "srio<4>" LOC = "R5"; NET "srio<5>" LOC = "C2"; NET "srio<6>" LOC = "C1"; NET "srio<7>" LOC = "B1"; NET "srio<8>" LOC = "D3"; NET "srio<9>" LOC = "P8"; NET "srio<10>" LOC = "F2"; NET "srio<11>" LOC = "H1"; NET "srio<12>" LOC = "J2"; NET "srio<13>" LOC = "L2"; NET "srio<14>" LOC = "P1"; NET "srio<15>" LOC = "R1"; # data bus SRAM2 NET "srio<16>" LOC = "P2"; NET "srio<17>" LOC = "N2"; NET "srio<18>" LOC = "M2"; NET "srio<19>" LOC = "K1"; NET "srio<20>" LOC = "J1"; NET "srio<21>" LOC = "G2"; NET "srio<22>" LOC = "E1"; NET "srio<23>" LOC = "D1"; NET "srio<24>" LOC = "D2"; NET "srio<25>" LOC = "E2"; NET "srio<26>" LOC = "G1"; NET "srio<27>" LOC = "F5"; NET "srio<28>" LOC = "C3"; NET "srio<29>" LOC = "K2"; NET "srio<30>" LOC = "M1"; NET "srio<31>" LOC = "N1"; # timing constraints ##NET "srio<*>" NODELAY; ##NET "sraddr<*>" OFFSET = OUT 3 AFTER "clk2x"; ##NET "sr12we" OFFSET = OUT 3 AFTER "clk2x"; TIMESPEC TS01 = FROM FFS TO FFS 7; TIMESPEC TS02 = FROM PADS TO FFS 7; TIMESPEC TS03 = FROM FFS TO PADS 7; # CamA double at B1 connector # control NET "XCLK" LOC = "M6"; NET "RSTB" LOC = "N6"; NET "PWDN" LOC = "R3"; NET "SCL" LOC = "C16"; NET "SDA1" LOC = "C15"; NET "PCLK1" LOC = "D16"; NET "HREF1" LOC = "D15"; NET "camVSYNC1" LOC = "E15"; NET "SDA2" LOC = "B16"; NET "PCLK2" LOC = "R7"; NET "HREF2" LOC = "E11"; NET "camVSYNC2" LOC = "D12"; #data #Cam1 (left) NET "D1<0>" LOC = "L15"; NET "D1<1>" LOC = "K15"; NET "D1<2>" LOC = "H15"; NET "D1<3>" LOC = "J16"; NET "D1<4>" LOC = "K16"; NET "D1<5>" LOC = "H16"; NET "D1<6>" LOC = "G16"; NET "D1<7>" LOC = "G15"; NET "D1<8>" LOC = "F15"; NET "D1<9>" LOC = "E16"; #Cam2 (right) NET "D2<0>" LOC = "T7"; NET "D2<1>" LOC = "C12"; NET "D2<2>" LOC = "C11"; NET "D2<3>" LOC = "D11"; NET "D2<4>" LOC = "R10"; NET "D2<5>" LOC = "P10"; NET "D2<6>" LOC = "N11"; NET "D2<7>" LOC = "E10"; NET "D2<8>" LOC = "T3"; NET "D2<9>" LOC = "C10"; # CamA constraints ##NET "D1<*>" NODELAY; ##NET "HREF1" NODELAY; ##NET "camVSYNC1" NODELAY; ##NET "PCLK1" NODELAY; # MonA at A2 connector # control NET "m1" LOC = "A12"; NET "m2" LOC = "A13"; NET "mclk" LOC = "B6"; NET "syncT" LOC = "B8"; NET "nsync" LOC = "B7"; NET "nblank" LOC = "A5"; NET "mVSYNC" LOC = "B14"; NET "mHSYNC" LOC = "D9"; # data # red NET "r<0>" LOC = "C8"; NET "r<1>" LOC = "D8"; NET "r<2>" LOC = "C9"; NET "r<3>" LOC = "D10"; NET "r<4>" LOC = "A3"; NET "r<5>" LOC = "B4"; NET "r<6>" LOC = "A4"; NET "r<7>" LOC = "B5"; # green NET "g<0>" LOC = "B13"; NET "g<1>" LOC = "B11"; NET "g<2>" LOC = "B12"; NET "g<3>" LOC = "B10"; NET "g<4>" LOC = "A10"; NET "g<5>" LOC = "A8"; NET "g<6>" LOC = "A9"; NET "g<7>" LOC = "A7"; # blue NET "b<0>" LOC = "D7"; NET "b<1>" LOC = "C7"; NET "b<2>" LOC = "E7"; NET "b<3>" LOC = "C6"; NET "b<4>" LOC = "D6"; NET "b<5>" LOC = "C5"; NET "b<6>" LOC = "D5"; NET "b<7>" LOC = "E6"; # IrLEDs at A1 connector NET "irLed<0>" LOC = "M7"; NET "irLed<1>" LOC = "M10"; # Clock Test on VGA NET "DCM_CLK" LOC = "R12"; NET "VGA_CLK" LOC = "T12";