|
| 1 | +############################################################################## |
| 2 | +# Timing Constraints # |
| 3 | +############################################################################## |
| 4 | + |
| 5 | +##### Grouping Constraints ##### |
| 6 | +NET OSC_FPGA TNM_NET = clk50_grp; |
| 7 | +#NET DRAM_CLK TNM_NET = clk100_grp; |
| 8 | +NET SYS_SPI_SCK TNM_NET = clk32_grp; |
| 9 | + |
| 10 | +##### Clock Period Constraints ##### |
| 11 | +TIMESPEC TS_PER_CLK50 = PERIOD "clk50_grp" 20.0 ns ; |
| 12 | +#TIMESPEC TS_PER_CLK100 = PERIOD "clk100_grp" 10.0 ns; |
| 13 | +TIMESPEC TS_PER_CLK32 = PERIOD "clk32_grp" 20.0 ns; |
| 14 | +#PIN "sys_clocks_gen/clkout2_buf.O" CLOCK_DEDICATED_ROUTE = FALSE; |
| 15 | +NET "SYS_SPI_SCK" CLOCK_DEDICATED_ROUTE = FALSE; |
| 16 | + |
| 17 | +############################################################################## |
| 18 | +# Pin LOC Constraints # |
| 19 | +############################################################################## |
| 20 | +NET "OSC_FPGA" LOC = "P85" | IOSTANDARD = LVTTL; |
| 21 | + |
| 22 | +#Peripherals############################################################# |
| 23 | +NET "LED<0>" LOC = "P105" | IOSTANDARD = LVTTL; #SHARED WITH ARD_D6 |
| 24 | +NET "LED<1>" LOC = "P104" | IOSTANDARD = LVTTL; #SHARED WITH ARD_D7 |
| 25 | +NET "PB<0>" LOC = "P102" | IOSTANDARD = LVTTL; |
| 26 | +NET "PB<1>" LOC = "P101" | IOSTANDARD = LVTTL; |
| 27 | +#NET "SW<0>" LOC = "P99" | IOSTANDARD = LVTTL; |
| 28 | +#NET "SW<1>" LOC = "P100" | IOSTANDARD = LVTTL; |
| 29 | + |
| 30 | + |
| 31 | +##SATA########################################################################### |
| 32 | +#NET "SATA_D1_P" LOC = "P127" | IOSTANDARD = LVDS_33; |
| 33 | +#NET "SATA_D1_N" LOC = "P126" | IOSTANDARD = LVDS_33; |
| 34 | +#NET "SATA_D2_P" LOC = "P121" | IOSTANDARD = LVDS_33; |
| 35 | +#NET "SATA_D2_N" LOC = "P120" | IOSTANDARD = LVDS_33; |
| 36 | +# |
| 37 | +##SDRAM######################################################################### |
| 38 | +#NET "SDRAM_CKE" LOC = "P48" | IOSTANDARD = LVTTL ; |
| 39 | +#NET "SDRAM_CLK" LOC = "P50" | IOSTANDARD = LVTTL | SLEW = FAST ; |
| 40 | +#NET "SDRAM_nCAS" LOC = "P7" | IOSTANDARD = LVTTL ; |
| 41 | +#NET "SDRAM_nRAS" LOC = "P6" | IOSTANDARD = LVTTL ; |
| 42 | +#NET "SDRAM_nWE" LOC = "P8" | IOSTANDARD = LVTTL ; |
| 43 | +##NET "DRAM_CS_N" #CS IS PULLED LOW TO SAVE ON PIN COUNT - Can be pulled high with solder jumper on bottom of board |
| 44 | +#NET "SDRAM_BA<0>" LOC = "P26" | IOSTANDARD = LVTTL ; |
| 45 | +#NET "SDRAM_BA<1>" LOC = "P27" | IOSTANDARD = LVTTL ; |
| 46 | +#NET "SDRAM_DQM<0>" LOC = "P9" | IOSTANDARD = LVTTL ; |
| 47 | +#NET "SDRAM_DQM<1>" LOC = "P67" | IOSTANDARD = LVTTL ; |
| 48 | +#NET "SDRAM_ADDR<0>" LOC = "P30" | IOSTANDARD = LVTTL ; |
| 49 | +#NET "SDRAM_ADDR<1>" LOC = "P32" | IOSTANDARD = LVTTL ; |
| 50 | +#NET "SDRAM_ADDR<2>" LOC = "P33" | IOSTANDARD = LVTTL ; |
| 51 | +#NET "SDRAM_ADDR<3>" LOC = "P34" | IOSTANDARD = LVTTL ; |
| 52 | +#NET "SDRAM_ADDR<4>" LOC = "P35" | IOSTANDARD = LVTTL ; |
| 53 | +#NET "SDRAM_ADDR<5>" LOC = "P40" | IOSTANDARD = LVTTL ; |
| 54 | +#NET "SDRAM_ADDR<6>" LOC = "P41" | IOSTANDARD = LVTTL ; |
| 55 | +#NET "SDRAM_ADDR<7>" LOC = "P43" | IOSTANDARD = LVTTL ; |
| 56 | +#NET "SDRAM_ADDR<8>" LOC = "P44" | IOSTANDARD = LVTTL ; |
| 57 | +#NET "SDRAM_ADDR<9>" LOC = "P45" | IOSTANDARD = LVTTL ; |
| 58 | +#NET "SDRAM_ADDR<10>" LOC = "P29" | IOSTANDARD = LVTTL ; |
| 59 | +#NET "SDRAM_ADDR<11>" LOC = "P46" | IOSTANDARD = LVTTL ; |
| 60 | +#NET "SDRAM_ADDR<12>" LOC = "P47" | IOSTANDARD = LVTTL ; |
| 61 | +#NET "SDRAM_DQ<0>" LOC = "P24" | IOSTANDARD = LVTTL ; |
| 62 | +#NET "SDRAM_DQ<1>" LOC = "P23" | IOSTANDARD = LVTTL ; |
| 63 | +#NET "SDRAM_DQ<2>" LOC = "P22" | IOSTANDARD = LVTTL ; |
| 64 | +#NET "SDRAM_DQ<3>" LOC = "P21" | IOSTANDARD = LVTTL ; |
| 65 | +#NET "SDRAM_DQ<4>" LOC = "P17" | IOSTANDARD = LVTTL ; |
| 66 | +#NET "SDRAM_DQ<5>" LOC = "P12" | IOSTANDARD = LVTTL ; |
| 67 | +#NET "SDRAM_DQ<6>" LOC = "P11" | IOSTANDARD = LVTTL ; |
| 68 | +#NET "SDRAM_DQ<7>" LOC = "P10" | IOSTANDARD = LVTTL ; |
| 69 | +#NET "SDRAM_DQ<8>" LOC = "P66" | IOSTANDARD = LVTTL ; |
| 70 | +#NET "SDRAM_DQ<9>" LOC = "P62" | IOSTANDARD = LVTTL ; |
| 71 | +#NET "SDRAM_DQ<10>" LOC = "P61" | IOSTANDARD = LVTTL ; |
| 72 | +#NET "SDRAM_DQ<11>" LOC = "P59" | IOSTANDARD = LVTTL ; |
| 73 | +#NET "SDRAM_DQ<12>" LOC = "P58" | IOSTANDARD = LVTTL ; |
| 74 | +#NET "SDRAM_DQ<13>" LOC = "P57" | IOSTANDARD = LVTTL ; |
| 75 | +#NET "SDRAM_DQ<14>" LOC = "P56" | IOSTANDARD = LVTTL ; |
| 76 | +#NET "SDRAM_DQ<15>" LOC = "P55" | IOSTANDARD = LVTTL ; |
| 77 | + |
| 78 | +#PMOD1############################################################################# |
| 79 | +NET "PMOD1<0>" LOC = "P5" | IOSTANDARD = LVTTL; #VGA_R2 |
| 80 | +NET "PMOD1<1>" LOC = "P2" | IOSTANDARD = LVTTL; #VGA_G2 |
| 81 | +NET "PMOD1<2>" LOC = "P1" | IOSTANDARD = LVTTL; #VGA_B2 |
| 82 | +NET "PMOD1<3>" LOC = "P16" | IOSTANDARD = LVTTL; #VGA_HS |
| 83 | +NET "PMOD1<4>" LOC = "P88" | IOSTANDARD = LVTTL; #VGA_R1 |
| 84 | +NET "PMOD1<5>" LOC = "P92" | IOSTANDARD = LVTTL; #VGA_G1 |
| 85 | +NET "PMOD1<6>" LOC = "P93" | IOSTANDARD = LVTTL; #VGA_B1 |
| 86 | +NET "PMOD1<7>" LOC = "P94" | IOSTANDARD = LVTTL; #VGA_VS |
| 87 | +#PMOD2############################################################################# |
| 88 | +NET "PMOD2<0>" LOC = "P142" | IOSTANDARD = LVTTL; #VGA_B0 |
| 89 | +NET "PMOD2<1>" LOC = "P141" | IOSTANDARD = LVTTL; #SSEG_A2 |
| 90 | +NET "PMOD2<2>" LOC = "P15" | IOSTANDARD = LVTTL; #SSEG_L |
| 91 | +NET "PMOD2<3>" LOC = "P14" | IOSTANDARD = LVTTL; #VGA_G0 |
| 92 | +NET "PMOD2<4>" LOC = "P144" | IOSTANDARD = LVTTL; #VGA_R0 |
| 93 | +NET "PMOD2<5>" LOC = "P143" | IOSTANDARD = LVTTL; #SSEG_A1 |
| 94 | +NET "PMOD2<6>" LOC = "P140" | IOSTANDARD = LVTTL; #SSEG_D |
| 95 | +NET "PMOD2<7>" LOC = "P139" | IOSTANDARD = LVTTL; #SSEG_E |
| 96 | +#PMOD3############################################################################# |
| 97 | +NET "PMOD3<0>" LOC = "P138" | IOSTANDARD = LVTTL; #SSEG_A3 |
| 98 | +NET "PMOD3<1>" LOC = "P137" | IOSTANDARD = LVTTL; #SSEG_A4 |
| 99 | +NET "PMOD3<2>" LOC = "P124" | IOSTANDARD = LVTTL; #SSEG_G |
| 100 | +NET "PMOD3<3>" LOC = "P123" | IOSTANDARD = LVTTL; #SSEG_C |
| 101 | +NET "PMOD3<4>" LOC = "P119" | IOSTANDARD = LVTTL; #SSEG_DP |
| 102 | +NET "PMOD3<5>" LOC = "P118" | IOSTANDARD = LVTTL; #SSEG_B |
| 103 | +NET "PMOD3<6>" LOC = "P117" | IOSTANDARD = LVTTL; #SSEG_A |
| 104 | +NET "PMOD3<7>" LOC = "P116" | IOSTANDARD = LVTTL; #SSEG_F |
| 105 | +#PMOD4############################################################################# |
| 106 | +NET "PMOD4<0>" LOC = "P112" | IOSTANDARD = LVTTL; #PWM2 |
| 107 | +NET "PMOD4<1>" LOC = "P111" | IOSTANDARD = LVTTL; #NES_CLK |
| 108 | +NET "PMOD4<2>" LOC = "P132" | IOSTANDARD = LVTTL; #NES_LAT |
| 109 | +NET "PMOD4<3>" LOC = "P131" | IOSTANDARD = LVTTL; #NES2_DAT |
| 110 | +NET "PMOD4<4>" LOC = "P115" | IOSTANDARD = LVTTL; #PS2_1_CLK |
| 111 | +NET "PMOD4<5>" LOC = "P114" | IOSTANDARD = LVTTL; #PS2_1_DAT |
| 112 | +NET "PMOD4<6>" LOC = "P134" | IOSTANDARD = LVTTL; #PWM1 |
| 113 | +NET "PMOD4<7>" LOC = "P133" | IOSTANDARD = LVTTL; #NES1_DAT |
| 114 | + |
| 115 | +#PMOD4 LVDS CONSTRAINTS############################################################# |
| 116 | +#NET "P4_1_LVDS3_P" LOC = "P112" | IOSTANDARD = LVDS_33; |
| 117 | +#NET "P4_2_LVDS3_N" LOC = "P111" | IOSTANDARD = LVDS_33; |
| 118 | +#NET "P4_3_LVDS1_P" LOC = "P132" | IOSTANDARD = LVDS_33; |
| 119 | +#NET "P4_4_LVDS1_N" LOC = "P131" | IOSTANDARD = LVDS_33; |
| 120 | +#NET "P4_7_LVDS4_P" LOC = "P115" | IOSTANDARD = LVDS_33; |
| 121 | +#NET "P4_8_LVDS4_N" LOC = "P114" | IOSTANDARD = LVDS_33; |
| 122 | +#NET "P4_9_LVDS2_P" LOC = "P134" | IOSTANDARD = LVDS_33; |
| 123 | +#NET "P4_10_LVDS2_N" LOC = "P133" | IOSTANDARD = LVDS_33; |
| 124 | + |
| 125 | +#RASPBERRY-PI CONNECTOR############################################################### |
| 126 | +NET "SYS_SPI_MOSI" LOC = "P80" | IOSTANDARD = LVTTL; #Shared - Used to clk bitstream data to fpga / ARduino MOSI |
| 127 | +NET "SYS_SPI_MISO" LOC = "P75" | IOSTANDARD = LVTTL; |
| 128 | +NET "SYS_SPI_SCK" LOC = "P78" | IOSTANDARD = LVTTL; #Shared - Used to clk bitstream data to fpga / ARduino SCK |
| 129 | +NET "RP_SPI_CE0N" LOC = "P79" | IOSTANDARD = LVTTL; |
| 130 | +#!##NET "RP_SPI_CE1N" LOC = "P78" | IOSTANDARD = LVTTL; |
| 131 | +#NET "SYS_SDA" LOC = "P98" | IOSTANDARD = LVTTL; #Shared with Arduino SDA |
| 132 | +#NET "SYS_SCL" LOC = "P97" | IOSTANDARD = LVTTL; #Shared with Arduino SCL |
| 133 | +#UART FROM RASPBERRY PI - As labelled in the Rpi (master) schematic |
| 134 | +#NET "SYS_TX" LOC= "P83" | IOSTANDARD = LVTTL; #Pi output FPGA input #Shared with Arduino TX |
| 135 | +#NET "SYS_RX" LOC= "P82" | IOSTANDARD = LVTTL; #Pi input FPGA output #Shared with Arduino RX |
| 136 | +#NET "RP_GPIO_GCLK" LOC = "P95" | IOSTANDARD = LVTTL; |
| 137 | +#NET "RP_GPIO_GEN2" LOC = "P81" | IOSTANDARD = LVTTL; |
| 138 | +#NET "RP_GPIO_GEN3" LOC = "P80" | IOSTANDARD = LVTTL; |
| 139 | + |
| 140 | +#ARDUINO HEADERS######################################################################## |
| 141 | +#SYS_SCL #Shared with RPI i2c |
| 142 | +#SYS_SDA #Shared with RPI i2c |
| 143 | +#NET "ARD_SCK" LOC= "P84" | IOSTANDARD = LVTTL; #D13 |
| 144 | +#NET "ARD_MISO" LOC= "P87" | IOSTANDARD = LVTTL; #D12 |
| 145 | +#NET "ARD_MOSI" LOC= "P51" | IOSTANDARD = LVTTL; `#D11 |
| 146 | +#NET "ARD_SS" LOC= "P74" | IOSTANDARD = LVTTL; #D10 |
| 147 | +#NET "ARD_D9_FLSH_DI" LOC= "P64" | IOSTANDARD = LVTTL; #D9 |
| 148 | +#NET "ARD_D8_FLSH_CS" LOC= "P38" | IOSTANDARD = LVTTL; #D8 |
| 149 | + |
| 150 | + |
| 151 | + |
| 152 | + |
| 153 | + |
0 commit comments