diff --git a/projects/common/a10gx/a10gx_system_assign.tcl b/projects/common/a10gx/a10gx_system_assign.tcl index c66ce3dc1..dd3a5aeed 100644 --- a/projects/common/a10gx/a10gx_system_assign.tcl +++ b/projects/common/a10gx/a10gx_system_assign.tcl @@ -19,121 +19,121 @@ set_instance_assignment -name IO_STANDARD "1.5 V" -to ddr3_a[14] set_instance_assignment -name IO_STANDARD "1.5 V" -to ddr3_a[13] set_instance_assignment -name IO_STANDARD "1.5 V" -to ddr3_a[12] -set_location_assignment PIN_R30 -to ddr3_clk_p ; ## 1.5 V V1 MEM_CLK_P -set_location_assignment PIN_R31 -to ddr3_clk_n ; ## 1.5 V V2 MEM_CLK_N -set_location_assignment PIN_M32 -to ddr3_a[0] ; ## 1.5 V F1 MEM_ADDR_CMD0 -set_location_assignment PIN_L32 -to ddr3_a[1] ; ## 1.5 V H1 MEM_ADDR_CMD1 -set_location_assignment PIN_N34 -to ddr3_a[2] ; ## 1.5 V F2 MEM_ADDR_CMD2 -set_location_assignment PIN_M35 -to ddr3_a[3] ; ## 1.5 V G2 MEM_ADDR_CMD3 -set_location_assignment PIN_L34 -to ddr3_a[4] ; ## 1.5 V H2 MEM_ADDR_CMD4 -set_location_assignment PIN_K34 -to ddr3_a[5] ; ## 1.5 V J2 MEM_ADDR_CMD5 -set_location_assignment PIN_M33 -to ddr3_a[6] ; ## 1.5 V K2 MEM_ADDR_CMD6 -set_location_assignment PIN_L33 -to ddr3_a[7] ; ## 1.5 V G3 MEM_ADDR_CMD7 -set_location_assignment PIN_J33 -to ddr3_a[8] ; ## 1.5 V J3 MEM_ADDR_CMD8 -set_location_assignment PIN_J32 -to ddr3_a[9] ; ## 1.5 V L3 MEM_ADDR_CMD9 -set_location_assignment PIN_H31 -to ddr3_a[10] ; ## 1.5 V E4 MEM_ADDR_CMD10 -set_location_assignment PIN_J31 -to ddr3_a[11] ; ## 1.5 V F4 MEM_ADDR_CMD11 -set_location_assignment PIN_H34 -to ddr3_a[12] ; ## 1.5 V G4 MEM_ADDR_CMD12 -set_location_assignment PIN_H33 -to ddr3_a[13] ; ## 1.5 V H4 MEM_ADDR_CMD13 -set_location_assignment PIN_G32 -to ddr3_a[14] ; ## 1.5 V J4 MEM_ADDR_CMD14 -set_location_assignment PIN_F33 -to ddr3_ba[0] ; ## 1.5 V M1 MEM_ADDR_CMD16 -set_location_assignment PIN_G35 -to ddr3_ba[1] ; ## 1.5 V M2 MEM_ADDR_CMD17 -set_location_assignment PIN_H35 -to ddr3_ba[2] ; ## 1.5 V N2 MEM_ADDR_CMD18 -set_location_assignment PIN_U33 -to ddr3_cke ; ## 1.5 V P5 MEM_ADDR_CMD20 -set_location_assignment PIN_R34 -to ddr3_cs_n ; ## 1.5 V P1 MEM_ADDR_CMD22 -set_location_assignment PIN_N33 -to ddr3_odt ; ## 1.5 V M4 MEM_ADDR_CMD24 -set_location_assignment PIN_T35 -to ddr3_reset_n ; ## 1.5 V K1 MEM_ADDR_CMD27 -set_location_assignment PIN_T34 -to ddr3_we_n ; ## 1.5 V P2 MEM_ADDR_CMD28 -set_location_assignment PIN_F32 -to ddr3_ras_n ; ## 1.5 V L2 MEM_ADDR_CMD26 -set_location_assignment PIN_G33 -to ddr3_cas_n ; ## 1.5 V L4 MEM_ADDR_CMD19 -set_location_assignment PIN_B26 -to ddr3_dqs_p[0] ; ## 1.5 V A6 MEM_DQSA_P0 -set_location_assignment PIN_C26 -to ddr3_dqs_n[0] ; ## 1.5 V A7 MEM_DQSA_N0 -set_location_assignment PIN_H28 -to ddr3_dqs_p[1] ; ## 1.5 V A2 MEM_DQSA_P1 -set_location_assignment PIN_J27 -to ddr3_dqs_n[1] ; ## 1.5 V A3 MEM_DQSA_N1 -set_location_assignment PIN_C30 -to ddr3_dqs_p[2] ; ## 1.5 V A14 MEM_DQSA_P2 -set_location_assignment PIN_C29 -to ddr3_dqs_n[2] ; ## 1.5 V A15 MEM_DQSA_N2 -set_location_assignment PIN_L30 -to ddr3_dqs_p[3] ; ## 1.5 V F18 MEM_DQSA_P3 -set_location_assignment PIN_L29 -to ddr3_dqs_n[3] ; ## 1.5 V G18 MEM_DQSA_N3 -set_location_assignment PIN_Y32 -to ddr3_dqs_p[4] ; ## 1.5 V H18 MEM_DQSB_P0 -set_location_assignment PIN_AA32 -to ddr3_dqs_n[4] ; ## 1.5 V J18 MEM_DQSB_N0 -set_location_assignment PIN_AJ32 -to ddr3_dqs_p[5] ; ## 1.5 V U18 MEM_DQSB_P1 -set_location_assignment PIN_AJ31 -to ddr3_dqs_n[5] ; ## 1.5 V V18 MEM_DQSB_N1 -set_location_assignment PIN_AA34 -to ddr3_dqs_p[6] ; ## 1.5 V V16 MEM_DQSB_P2 -set_location_assignment PIN_AA33 -to ddr3_dqs_n[6] ; ## 1.5 V V17 MEM_DQSB_N2 -set_location_assignment PIN_AF33 -to ddr3_dqs_p[7] ; ## 1.5 V V8 MEM_DQSB_P3 -set_location_assignment PIN_AF34 -to ddr3_dqs_n[7] ; ## 1.5 V V9 MEM_DQSB_N3 -set_location_assignment PIN_B28 -to ddr3_dq[0] ; ## 1.5 V A4 MEM_DQA0 -set_location_assignment PIN_A28 -to ddr3_dq[1] ; ## 1.5 V B4 MEM_DQA1 -set_location_assignment PIN_A27 -to ddr3_dq[2] ; ## 1.5 V B5 MEM_DQA2 -set_location_assignment PIN_B27 -to ddr3_dq[3] ; ## 1.5 V B6 MEM_DQA3 -set_location_assignment PIN_D27 -to ddr3_dq[4] ; ## 1.5 V A8 MEM_DQA4 -set_location_assignment PIN_E27 -to ddr3_dq[5] ; ## 1.5 V B8 MEM_DQA5 -set_location_assignment PIN_D26 -to ddr3_dq[6] ; ## 1.5 V B9 MEM_DQA6 -set_location_assignment PIN_D28 -to ddr3_dq[7] ; ## 1.5 V A10 MEM_DQA7 -set_location_assignment PIN_G25 -to ddr3_dq[8] ; ## 1.5 V B1 MEM_DQA8 -set_location_assignment PIN_H25 -to ddr3_dq[9] ; ## 1.5 V B2 MEM_DQA9 -set_location_assignment PIN_G26 -to ddr3_dq[10] ; ## 1.5 V C2 MEM_DQA10 -set_location_assignment PIN_H26 -to ddr3_dq[11] ; ## 1.5 V C3 MEM_DQA11 -set_location_assignment PIN_G28 -to ddr3_dq[12] ; ## 1.5 V E3 MEM_DQA12 -set_location_assignment PIN_F27 -to ddr3_dq[13] ; ## 1.5 V D4 MEM_DQA13 -set_location_assignment PIN_K27 -to ddr3_dq[14] ; ## 1.5 V D1 MEM_DQA14 -set_location_assignment PIN_F28 -to ddr3_dq[15] ; ## 1.5 V D2 MEM_DQA15 -set_location_assignment PIN_D31 -to ddr3_dq[16] ; ## 1.5 V A12 MEM_DQA16 -set_location_assignment PIN_E31 -to ddr3_dq[17] ; ## 1.5 V B12 MEM_DQA17 -set_location_assignment PIN_B31 -to ddr3_dq[18] ; ## 1.5 V B13 MEM_DQA18 -set_location_assignment PIN_C31 -to ddr3_dq[19] ; ## 1.5 V B14 MEM_DQA19 -set_location_assignment PIN_A30 -to ddr3_dq[20] ; ## 1.5 V C15 MEM_DQA20 -set_location_assignment PIN_E30 -to ddr3_dq[21] ; ## 1.5 V A16 MEM_DQA21 -set_location_assignment PIN_B30 -to ddr3_dq[22] ; ## 1.5 V B16 MEM_DQA22 -set_location_assignment PIN_D29 -to ddr3_dq[23] ; ## 1.5 V A18 MEM_DQA23 -set_location_assignment PIN_K30 -to ddr3_dq[24] ; ## 1.5 V C16 MEM_DQA24 -set_location_assignment PIN_H30 -to ddr3_dq[25] ; ## 1.5 V D16 MEM_DQA25 -set_location_assignment PIN_G30 -to ddr3_dq[26] ; ## 1.5 V E16 MEM_DQA26 -set_location_assignment PIN_K31 -to ddr3_dq[27] ; ## 1.5 V F16 MEM_DQA27 -set_location_assignment PIN_H29 -to ddr3_dq[28] ; ## 1.5 V D17 MEM_DQA28 -set_location_assignment PIN_K29 -to ddr3_dq[29] ; ## 1.5 V C18 MEM_DQA29 -set_location_assignment PIN_J29 -to ddr3_dq[30] ; ## 1.5 V D18 MEM_DQA30 -set_location_assignment PIN_F29 -to ddr3_dq[31] ; ## 1.5 V E18 MEM_DQA31 -set_location_assignment PIN_AC31 -to ddr3_dq[32] ; ## 1.5 V H16 MEM_DQB0 -set_location_assignment PIN_AB31 -to ddr3_dq[33] ; ## 1.5 V J16 MEM_DQB1 -set_location_assignment PIN_W31 -to ddr3_dq[34] ; ## 1.5 V K16 MEM_DQB2 -set_location_assignment PIN_Y31 -to ddr3_dq[35] ; ## 1.5 V L16 MEM_DQB3 -set_location_assignment PIN_AD31 -to ddr3_dq[36] ; ## 1.5 V H17 MEM_DQB4 -set_location_assignment PIN_AD32 -to ddr3_dq[37] ; ## 1.5 V K17 MEM_DQB5 -set_location_assignment PIN_AD33 -to ddr3_dq[38] ; ## 1.5 V K18 MEM_DQB6 -set_location_assignment PIN_AA30 -to ddr3_dq[39] ; ## 1.5 V L18 MEM_DQB7 -set_location_assignment PIN_AE31 -to ddr3_dq[40] ; ## 1.5 V M17 MEM_DQB8 -set_location_assignment PIN_AE32 -to ddr3_dq[41] ; ## 1.5 V N18 MEM_DQB9 -set_location_assignment PIN_AE30 -to ddr3_dq[42] ; ## 1.5 V P17 MEM_DQB10 -set_location_assignment PIN_AF30 -to ddr3_dq[43] ; ## 1.5 V P18 MEM_DQB11 -set_location_assignment PIN_AG33 -to ddr3_dq[44] ; ## 1.5 V R18 MEM_DQB12 -set_location_assignment PIN_AG32 -to ddr3_dq[45] ; ## 1.5 V T16 MEM_DQB13 -set_location_assignment PIN_AH33 -to ddr3_dq[46] ; ## 1.5 V T17 MEM_DQB14 -set_location_assignment PIN_AH31 -to ddr3_dq[47] ; ## 1.5 V T18 MEM_DQB15 -set_location_assignment PIN_U31 -to ddr3_dq[48] ; ## 1.5 V U15 MEM_DQB16 -set_location_assignment PIN_W33 -to ddr3_dq[49] ; ## 1.5 V T14 MEM_DQB17 -set_location_assignment PIN_W32 -to ddr3_dq[50] ; ## 1.5 V U14 MEM_DQB18 -set_location_assignment PIN_V31 -to ddr3_dq[51] ; ## 1.5 V V14 MEM_DQB19 -set_location_assignment PIN_Y34 -to ddr3_dq[52] ; ## 1.5 V T13 MEM_DQB20 -set_location_assignment PIN_W35 -to ddr3_dq[53] ; ## 1.5 V T12 MEM_DQB21 -set_location_assignment PIN_W34 -to ddr3_dq[54] ; ## 1.5 V U12 MEM_DQB22 -set_location_assignment PIN_V34 -to ddr3_dq[55] ; ## 1.5 V V12 MEM_DQB23 -set_location_assignment PIN_AH35 -to ddr3_dq[56] ; ## 1.5 V T10 MEM_DQB24 -set_location_assignment PIN_AJ34 -to ddr3_dq[57] ; ## 1.5 V U10 MEM_DQB25 -set_location_assignment PIN_AJ33 -to ddr3_dq[58] ; ## 1.5 V V10 MEM_DQB26 -set_location_assignment PIN_AH34 -to ddr3_dq[59] ; ## 1.5 V T9 MEM_DQB27 -set_location_assignment PIN_AD35 -to ddr3_dq[60] ; ## 1.5 V T8 MEM_DQB28 -set_location_assignment PIN_AE34 -to ddr3_dq[61] ; ## 1.5 V U8 MEM_DQB29 -set_location_assignment PIN_AC33 -to ddr3_dq[62] ; ## 1.5 V U7 MEM_DQB30 -set_location_assignment PIN_AD34 -to ddr3_dq[63] ; ## 1.5 V V6 MEM_DQB31 -set_location_assignment PIN_E26 -to ddr3_dm[0] ; ## 1.5 V B10 MEM_DMA0 -set_location_assignment PIN_G27 -to ddr3_dm[1] ; ## 1.5 V C4 MEM_DMA1 -set_location_assignment PIN_A29 -to ddr3_dm[2] ; ## 1.5 V B17 MEM_DMA2 -set_location_assignment PIN_F30 -to ddr3_dm[3] ; ## 1.5 V F17 MEM_DMA3 -set_location_assignment PIN_AB32 -to ddr3_dm[4] ; ## 1.5 V M16 MEM_DMB0 -set_location_assignment PIN_AG31 -to ddr3_dm[5] ; ## 1.5 V U16 MEM_DMB1 -set_location_assignment PIN_Y35 -to ddr3_dm[6] ; ## 1.5 V U11 MEM_DMB2 -set_location_assignment PIN_AC34 -to ddr3_dm[7] ; ## 1.5 V U6 MEM_DMB3 +set_location_assignment PIN_R30 -to ddr3_clk_p ; ## 1.5 V V1 MEM_CLK_P +set_location_assignment PIN_R31 -to ddr3_clk_n ; ## 1.5 V V2 MEM_CLK_N +set_location_assignment PIN_M32 -to ddr3_a[0] ; ## 1.5 V F1 MEM_ADDR_CMD0 +set_location_assignment PIN_L32 -to ddr3_a[1] ; ## 1.5 V H1 MEM_ADDR_CMD1 +set_location_assignment PIN_N34 -to ddr3_a[2] ; ## 1.5 V F2 MEM_ADDR_CMD2 +set_location_assignment PIN_M35 -to ddr3_a[3] ; ## 1.5 V G2 MEM_ADDR_CMD3 +set_location_assignment PIN_L34 -to ddr3_a[4] ; ## 1.5 V H2 MEM_ADDR_CMD4 +set_location_assignment PIN_K34 -to ddr3_a[5] ; ## 1.5 V J2 MEM_ADDR_CMD5 +set_location_assignment PIN_M33 -to ddr3_a[6] ; ## 1.5 V K2 MEM_ADDR_CMD6 +set_location_assignment PIN_L33 -to ddr3_a[7] ; ## 1.5 V G3 MEM_ADDR_CMD7 +set_location_assignment PIN_J33 -to ddr3_a[8] ; ## 1.5 V J3 MEM_ADDR_CMD8 +set_location_assignment PIN_J32 -to ddr3_a[9] ; ## 1.5 V L3 MEM_ADDR_CMD9 +set_location_assignment PIN_H31 -to ddr3_a[10] ; ## 1.5 V E4 MEM_ADDR_CMD10 +set_location_assignment PIN_J31 -to ddr3_a[11] ; ## 1.5 V F4 MEM_ADDR_CMD11 +set_location_assignment PIN_H34 -to ddr3_a[12] ; ## 1.5 V G4 MEM_ADDR_CMD12 +set_location_assignment PIN_H33 -to ddr3_a[13] ; ## 1.5 V H4 MEM_ADDR_CMD13 +set_location_assignment PIN_G32 -to ddr3_a[14] ; ## 1.5 V J4 MEM_ADDR_CMD14 +set_location_assignment PIN_F33 -to ddr3_ba[0] ; ## 1.5 V M1 MEM_ADDR_CMD16 +set_location_assignment PIN_G35 -to ddr3_ba[1] ; ## 1.5 V M2 MEM_ADDR_CMD17 +set_location_assignment PIN_H35 -to ddr3_ba[2] ; ## 1.5 V N2 MEM_ADDR_CMD18 +set_location_assignment PIN_U33 -to ddr3_cke ; ## 1.5 V P5 MEM_ADDR_CMD20 +set_location_assignment PIN_R34 -to ddr3_cs_n ; ## 1.5 V P1 MEM_ADDR_CMD22 +set_location_assignment PIN_N33 -to ddr3_odt ; ## 1.5 V M4 MEM_ADDR_CMD24 +set_location_assignment PIN_T35 -to ddr3_reset_n ; ## 1.5 V K1 MEM_ADDR_CMD27 +set_location_assignment PIN_T34 -to ddr3_we_n ; ## 1.5 V P2 MEM_ADDR_CMD28 +set_location_assignment PIN_F32 -to ddr3_ras_n ; ## 1.5 V L2 MEM_ADDR_CMD26 +set_location_assignment PIN_G33 -to ddr3_cas_n ; ## 1.5 V L4 MEM_ADDR_CMD19 +set_location_assignment PIN_B26 -to ddr3_dqs_p[0] ; ## 1.5 V A6 MEM_DQSA_P0 +set_location_assignment PIN_C26 -to ddr3_dqs_n[0] ; ## 1.5 V A7 MEM_DQSA_N0 +set_location_assignment PIN_H28 -to ddr3_dqs_p[1] ; ## 1.5 V A2 MEM_DQSA_P1 +set_location_assignment PIN_J27 -to ddr3_dqs_n[1] ; ## 1.5 V A3 MEM_DQSA_N1 +set_location_assignment PIN_C30 -to ddr3_dqs_p[2] ; ## 1.5 V A14 MEM_DQSA_P2 +set_location_assignment PIN_C29 -to ddr3_dqs_n[2] ; ## 1.5 V A15 MEM_DQSA_N2 +set_location_assignment PIN_L30 -to ddr3_dqs_p[3] ; ## 1.5 V F18 MEM_DQSA_P3 +set_location_assignment PIN_L29 -to ddr3_dqs_n[3] ; ## 1.5 V G18 MEM_DQSA_N3 +set_location_assignment PIN_Y32 -to ddr3_dqs_p[4] ; ## 1.5 V H18 MEM_DQSB_P0 +set_location_assignment PIN_AA32 -to ddr3_dqs_n[4] ; ## 1.5 V J18 MEM_DQSB_N0 +set_location_assignment PIN_AJ32 -to ddr3_dqs_p[5] ; ## 1.5 V U18 MEM_DQSB_P1 +set_location_assignment PIN_AJ31 -to ddr3_dqs_n[5] ; ## 1.5 V V18 MEM_DQSB_N1 +set_location_assignment PIN_AA34 -to ddr3_dqs_p[6] ; ## 1.5 V V16 MEM_DQSB_P2 +set_location_assignment PIN_AA33 -to ddr3_dqs_n[6] ; ## 1.5 V V17 MEM_DQSB_N2 +set_location_assignment PIN_AF33 -to ddr3_dqs_p[7] ; ## 1.5 V V8 MEM_DQSB_P3 +set_location_assignment PIN_AF34 -to ddr3_dqs_n[7] ; ## 1.5 V V9 MEM_DQSB_N3 +set_location_assignment PIN_B28 -to ddr3_dq[0] ; ## 1.5 V A4 MEM_DQA0 +set_location_assignment PIN_A28 -to ddr3_dq[1] ; ## 1.5 V B4 MEM_DQA1 +set_location_assignment PIN_A27 -to ddr3_dq[2] ; ## 1.5 V B5 MEM_DQA2 +set_location_assignment PIN_B27 -to ddr3_dq[3] ; ## 1.5 V B6 MEM_DQA3 +set_location_assignment PIN_D27 -to ddr3_dq[4] ; ## 1.5 V A8 MEM_DQA4 +set_location_assignment PIN_E27 -to ddr3_dq[5] ; ## 1.5 V B8 MEM_DQA5 +set_location_assignment PIN_D26 -to ddr3_dq[6] ; ## 1.5 V B9 MEM_DQA6 +set_location_assignment PIN_D28 -to ddr3_dq[7] ; ## 1.5 V A10 MEM_DQA7 +set_location_assignment PIN_G25 -to ddr3_dq[8] ; ## 1.5 V B1 MEM_DQA8 +set_location_assignment PIN_H25 -to ddr3_dq[9] ; ## 1.5 V B2 MEM_DQA9 +set_location_assignment PIN_G26 -to ddr3_dq[10] ; ## 1.5 V C2 MEM_DQA10 +set_location_assignment PIN_H26 -to ddr3_dq[11] ; ## 1.5 V C3 MEM_DQA11 +set_location_assignment PIN_G28 -to ddr3_dq[12] ; ## 1.5 V E3 MEM_DQA12 +set_location_assignment PIN_F27 -to ddr3_dq[13] ; ## 1.5 V D4 MEM_DQA13 +set_location_assignment PIN_K27 -to ddr3_dq[14] ; ## 1.5 V D1 MEM_DQA14 +set_location_assignment PIN_F28 -to ddr3_dq[15] ; ## 1.5 V D2 MEM_DQA15 +set_location_assignment PIN_D31 -to ddr3_dq[16] ; ## 1.5 V A12 MEM_DQA16 +set_location_assignment PIN_E31 -to ddr3_dq[17] ; ## 1.5 V B12 MEM_DQA17 +set_location_assignment PIN_B31 -to ddr3_dq[18] ; ## 1.5 V B13 MEM_DQA18 +set_location_assignment PIN_C31 -to ddr3_dq[19] ; ## 1.5 V B14 MEM_DQA19 +set_location_assignment PIN_A30 -to ddr3_dq[20] ; ## 1.5 V C15 MEM_DQA20 +set_location_assignment PIN_E30 -to ddr3_dq[21] ; ## 1.5 V A16 MEM_DQA21 +set_location_assignment PIN_B30 -to ddr3_dq[22] ; ## 1.5 V B16 MEM_DQA22 +set_location_assignment PIN_D29 -to ddr3_dq[23] ; ## 1.5 V A18 MEM_DQA23 +set_location_assignment PIN_K30 -to ddr3_dq[24] ; ## 1.5 V C16 MEM_DQA24 +set_location_assignment PIN_H30 -to ddr3_dq[25] ; ## 1.5 V D16 MEM_DQA25 +set_location_assignment PIN_G30 -to ddr3_dq[26] ; ## 1.5 V E16 MEM_DQA26 +set_location_assignment PIN_K31 -to ddr3_dq[27] ; ## 1.5 V F16 MEM_DQA27 +set_location_assignment PIN_H29 -to ddr3_dq[28] ; ## 1.5 V D17 MEM_DQA28 +set_location_assignment PIN_K29 -to ddr3_dq[29] ; ## 1.5 V C18 MEM_DQA29 +set_location_assignment PIN_J29 -to ddr3_dq[30] ; ## 1.5 V D18 MEM_DQA30 +set_location_assignment PIN_F29 -to ddr3_dq[31] ; ## 1.5 V E18 MEM_DQA31 +set_location_assignment PIN_AC31 -to ddr3_dq[32] ; ## 1.5 V H16 MEM_DQB0 +set_location_assignment PIN_AB31 -to ddr3_dq[33] ; ## 1.5 V J16 MEM_DQB1 +set_location_assignment PIN_W31 -to ddr3_dq[34] ; ## 1.5 V K16 MEM_DQB2 +set_location_assignment PIN_Y31 -to ddr3_dq[35] ; ## 1.5 V L16 MEM_DQB3 +set_location_assignment PIN_AD31 -to ddr3_dq[36] ; ## 1.5 V H17 MEM_DQB4 +set_location_assignment PIN_AD32 -to ddr3_dq[37] ; ## 1.5 V K17 MEM_DQB5 +set_location_assignment PIN_AD33 -to ddr3_dq[38] ; ## 1.5 V K18 MEM_DQB6 +set_location_assignment PIN_AA30 -to ddr3_dq[39] ; ## 1.5 V L18 MEM_DQB7 +set_location_assignment PIN_AE31 -to ddr3_dq[40] ; ## 1.5 V M17 MEM_DQB8 +set_location_assignment PIN_AE32 -to ddr3_dq[41] ; ## 1.5 V N18 MEM_DQB9 +set_location_assignment PIN_AE30 -to ddr3_dq[42] ; ## 1.5 V P17 MEM_DQB10 +set_location_assignment PIN_AF30 -to ddr3_dq[43] ; ## 1.5 V P18 MEM_DQB11 +set_location_assignment PIN_AG33 -to ddr3_dq[44] ; ## 1.5 V R18 MEM_DQB12 +set_location_assignment PIN_AG32 -to ddr3_dq[45] ; ## 1.5 V T16 MEM_DQB13 +set_location_assignment PIN_AH33 -to ddr3_dq[46] ; ## 1.5 V T17 MEM_DQB14 +set_location_assignment PIN_AH31 -to ddr3_dq[47] ; ## 1.5 V T18 MEM_DQB15 +set_location_assignment PIN_U31 -to ddr3_dq[48] ; ## 1.5 V U15 MEM_DQB16 +set_location_assignment PIN_W33 -to ddr3_dq[49] ; ## 1.5 V T14 MEM_DQB17 +set_location_assignment PIN_W32 -to ddr3_dq[50] ; ## 1.5 V U14 MEM_DQB18 +set_location_assignment PIN_V31 -to ddr3_dq[51] ; ## 1.5 V V14 MEM_DQB19 +set_location_assignment PIN_Y34 -to ddr3_dq[52] ; ## 1.5 V T13 MEM_DQB20 +set_location_assignment PIN_W35 -to ddr3_dq[53] ; ## 1.5 V T12 MEM_DQB21 +set_location_assignment PIN_W34 -to ddr3_dq[54] ; ## 1.5 V U12 MEM_DQB22 +set_location_assignment PIN_V34 -to ddr3_dq[55] ; ## 1.5 V V12 MEM_DQB23 +set_location_assignment PIN_AH35 -to ddr3_dq[56] ; ## 1.5 V T10 MEM_DQB24 +set_location_assignment PIN_AJ34 -to ddr3_dq[57] ; ## 1.5 V U10 MEM_DQB25 +set_location_assignment PIN_AJ33 -to ddr3_dq[58] ; ## 1.5 V V10 MEM_DQB26 +set_location_assignment PIN_AH34 -to ddr3_dq[59] ; ## 1.5 V T9 MEM_DQB27 +set_location_assignment PIN_AD35 -to ddr3_dq[60] ; ## 1.5 V T8 MEM_DQB28 +set_location_assignment PIN_AE34 -to ddr3_dq[61] ; ## 1.5 V U8 MEM_DQB29 +set_location_assignment PIN_AC33 -to ddr3_dq[62] ; ## 1.5 V U7 MEM_DQB30 +set_location_assignment PIN_AD34 -to ddr3_dq[63] ; ## 1.5 V V6 MEM_DQB31 +set_location_assignment PIN_E26 -to ddr3_dm[0] ; ## 1.5 V B10 MEM_DMA0 +set_location_assignment PIN_G27 -to ddr3_dm[1] ; ## 1.5 V C4 MEM_DMA1 +set_location_assignment PIN_A29 -to ddr3_dm[2] ; ## 1.5 V B17 MEM_DMA2 +set_location_assignment PIN_F30 -to ddr3_dm[3] ; ## 1.5 V F17 MEM_DMA3 +set_location_assignment PIN_AB32 -to ddr3_dm[4] ; ## 1.5 V M16 MEM_DMB0 +set_location_assignment PIN_AG31 -to ddr3_dm[5] ; ## 1.5 V U16 MEM_DMB1 +set_location_assignment PIN_Y35 -to ddr3_dm[6] ; ## 1.5 V U11 MEM_DMB2 +set_location_assignment PIN_AC34 -to ddr3_dm[7] ; ## 1.5 V U6 MEM_DMB3 set_location_assignment PIN_J34 -to ddr3_rzq ; ## RZQ # ethernet interface @@ -164,6 +164,143 @@ set_instance_assignment -name IO_STANDARD "1.8 V" -to eth_intn set_instance_assignment -name GLOBAL_SIGNAL "GLOBAL CLOCK" -to eth_ref_clk +# flash + +set_location_assignment PIN_BB12 -to flash_addr[0] +set_location_assignment PIN_BB11 -to flash_addr[1] +set_instance_assignment -name VIRTUAL_PIN ON -to flash_addr[0] +set_instance_assignment -name VIRTUAL_PIN ON -to flash_addr[1] +set_location_assignment PIN_AM11 -to flash_addr[2] +set_location_assignment PIN_AM12 -to flash_addr[3] +set_location_assignment PIN_AL12 -to flash_addr[4] +set_location_assignment PIN_AN13 -to flash_addr[5] +set_location_assignment PIN_AM13 -to flash_addr[6] +set_location_assignment PIN_AE12 -to flash_addr[7] +set_location_assignment PIN_AN15 -to flash_addr[8] +set_location_assignment PIN_AL10 -to flash_addr[9] +set_location_assignment PIN_AR10 -to flash_addr[10] +set_location_assignment PIN_AP11 -to flash_addr[11] +set_location_assignment PIN_AL13 -to flash_addr[12] +set_location_assignment PIN_AH11 -to flash_addr[13] +set_location_assignment PIN_AN14 -to flash_addr[14] +set_location_assignment PIN_AG11 -to flash_addr[15] +set_location_assignment PIN_AH10 -to flash_addr[16] +set_location_assignment PIN_AF14 -to flash_addr[17] +set_location_assignment PIN_AF15 -to flash_addr[18] +set_location_assignment PIN_AH14 -to flash_addr[19] +set_location_assignment PIN_AJ12 -to flash_addr[20] +set_location_assignment PIN_AJ14 -to flash_addr[21] +set_location_assignment PIN_AH13 -to flash_addr[22] +set_location_assignment PIN_AG12 -to flash_addr[23] +set_location_assignment PIN_AJ13 -to flash_addr[24] +set_location_assignment PIN_AF12 -to flash_addr[25] +set_location_assignment PIN_AK14 -to flash_addr[26] +set_location_assignment PIN_AK11 -to flash_addr[27] +set_location_assignment PIN_BB20 -to flash_data[0] +set_location_assignment PIN_BA22 -to flash_data[1] +set_location_assignment PIN_AU25 -to flash_data[2] +set_location_assignment PIN_BD21 -to flash_data[3] +set_location_assignment PIN_AY25 -to flash_data[4] +set_location_assignment PIN_BD22 -to flash_data[5] +set_location_assignment PIN_AY24 -to flash_data[6] +set_location_assignment PIN_AV25 -to flash_data[7] +set_location_assignment PIN_BC21 -to flash_data[8] +set_location_assignment PIN_BB21 -to flash_data[9] +set_location_assignment PIN_BC20 -to flash_data[10] +set_location_assignment PIN_AW22 -to flash_data[11] +set_location_assignment PIN_AP26 -to flash_data[12] +set_location_assignment PIN_BA24 -to flash_data[13] +set_location_assignment PIN_BA25 -to flash_data[14] +set_location_assignment PIN_AR26 -to flash_data[15] +set_location_assignment PIN_AT25 -to flash_data[16] +set_location_assignment PIN_BA19 -to flash_data[17] +set_location_assignment PIN_BA20 -to flash_data[18] +set_location_assignment PIN_AP24 -to flash_data[19] +set_location_assignment PIN_AP23 -to flash_data[20] +set_location_assignment PIN_BA18 -to flash_data[21] +set_location_assignment PIN_AT24 -to flash_data[22] +set_location_assignment PIN_BD19 -to flash_data[23] +set_location_assignment PIN_AU23 -to flash_data[24] +set_location_assignment PIN_AR24 -to flash_data[25] +set_location_assignment PIN_AT23 -to flash_data[26] +set_location_assignment PIN_AR25 -to flash_data[27] +set_location_assignment PIN_AP22 -to flash_data[28] +set_location_assignment PIN_BC19 -to flash_data[29] +set_location_assignment PIN_AU22 -to flash_data[30] +set_location_assignment PIN_BA17 -to flash_data[31] +set_location_assignment PIN_BC25 -to flash_advn +set_location_assignment PIN_BB22 -to flash_cen[0] +set_location_assignment PIN_BB23 -to flash_cen[1] +set_location_assignment PIN_BB25 -to flash_clk +set_location_assignment PIN_BC26 -to flash_oen +set_location_assignment PIN_BA23 -to flash_resetn +set_location_assignment PIN_BD26 -to flash_wen + +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_clk +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_oen +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_resetn +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_wen +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_advn +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_cen +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[27] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[26] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[25] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[24] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[23] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[22] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[21] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[20] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[19] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[18] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[17] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[16] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[15] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[14] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[13] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[12] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[11] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[10] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[9] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[8] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[7] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[6] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[5] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[4] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[3] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_addr[2] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[31] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[30] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[29] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[28] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[27] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[26] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[25] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[24] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[23] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[22] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[21] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[20] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[19] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[18] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[17] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[16] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[15] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[14] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[13] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[12] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[11] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[10] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[9] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[8] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[7] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[6] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[5] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[4] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[3] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[2] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[1] +set_instance_assignment -name IO_STANDARD "1.8 V" -to flash_data[0] + # leds set_location_assignment PIN_L28 -to gpio_bd_o[0] ; ## led-g0-d10 @@ -174,8 +311,8 @@ set_location_assignment PIN_J24 -to gpio_bd_o[4] ; ## led-g4-d6 set_location_assignment PIN_A19 -to gpio_bd_o[5] ; ## led-g5-d5 set_location_assignment PIN_C18 -to gpio_bd_o[6] ; ## led-g6-d4 set_location_assignment PIN_D18 -to gpio_bd_o[7] ; ## led-g7-d3 -set_location_assignment PIN_L27 -to gpio_bd_o[8] ; ## led-r0-d10 -set_location_assignment PIN_J26 -to gpio_bd_o[9] ; ## led-r1-d9 +set_location_assignment PIN_L27 -to gpio_bd_o[8] ; ## led-r0-d10 +set_location_assignment PIN_J26 -to gpio_bd_o[9] ; ## led-r1-d9 set_location_assignment PIN_K24 -to gpio_bd_o[10] ; ## led-r2-d8 set_location_assignment PIN_L23 -to gpio_bd_o[11] ; ## led-r3-d7 set_location_assignment PIN_B20 -to gpio_bd_o[12] ; ## led-r4-d6 @@ -194,16 +331,16 @@ set_location_assignment PIN_T12 -to gpio_bd_i[8] ; ## pb0-s3 set_location_assignment PIN_U12 -to gpio_bd_i[9] ; ## pb1-s2 set_location_assignment PIN_U11 -to gpio_bd_i[10] ; ## pb2-s1 -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[0] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[1] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[2] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[3] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[4] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[5] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[6] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[7] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[8] -set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[9] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[0] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[1] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[2] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[3] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[4] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[5] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[6] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[7] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[8] +set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[9] set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[10] set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[11] set_instance_assignment -name IO_STANDARD "1.8 V" -to gpio_bd_o[12] diff --git a/projects/common/a10gx/a10gx_system_qsys.tcl b/projects/common/a10gx/a10gx_system_qsys.tcl index 3982ffc9f..7891c682f 100644 --- a/projects/common/a10gx/a10gx_system_qsys.tcl +++ b/projects/common/a10gx/a10gx_system_qsys.tcl @@ -78,6 +78,95 @@ set_interface_property sys_ddr3_cntrl_mem EXPORT_OF sys_ddr3_cntrl.mem set_interface_property sys_ddr3_cntrl_oct EXPORT_OF sys_ddr3_cntrl.oct set_interface_property sys_ddr3_cntrl_pll_ref_clk EXPORT_OF sys_ddr3_cntrl.pll_ref_clk +# flash bridge + +add_instance sys_flash_bridge altera_tristate_conduit_bridge +add_connection sys_clk.clk sys_flash_bridge.clk +add_connection sys_clk.clk_reset sys_flash_bridge.reset + +# flash + +add_instance sys_flash altera_generic_tristate_controller +set_instance_parameter_value sys_flash {TCM_ADDRESS_W} {24} +set_instance_parameter_value sys_flash {TCM_DATA_W} {32} +set_instance_parameter_value sys_flash {TCM_BYTEENABLE_W} {4} +set_instance_parameter_value sys_flash {TCM_READ_WAIT} {144} +set_instance_parameter_value sys_flash {TCM_WRITE_WAIT} {144} +set_instance_parameter_value sys_flash {TCM_SETUP_WAIT} {33} +set_instance_parameter_value sys_flash {TCM_DATA_HOLD} {33} +set_instance_parameter_value sys_flash {TCM_MAX_PENDING_READ_TRANSACTIONS} {3} +set_instance_parameter_value sys_flash {TCM_TURNAROUND_TIME} {2} +set_instance_parameter_value sys_flash {TCM_TIMING_UNITS} {0} +set_instance_parameter_value sys_flash {TCM_READLATENCY} {2} +set_instance_parameter_value sys_flash {TCM_SYMBOLS_PER_WORD} {4} +set_instance_parameter_value sys_flash {USE_READDATA} {1} +set_instance_parameter_value sys_flash {USE_WRITEDATA} {1} +set_instance_parameter_value sys_flash {USE_READ} {1} +set_instance_parameter_value sys_flash {USE_WRITE} {1} +set_instance_parameter_value sys_flash {USE_BEGINTRANSFER} {0} +set_instance_parameter_value sys_flash {USE_BYTEENABLE} {0} +set_instance_parameter_value sys_flash {USE_CHIPSELECT} {1} +set_instance_parameter_value sys_flash {USE_LOCK} {0} +set_instance_parameter_value sys_flash {USE_ADDRESS} {1} +set_instance_parameter_value sys_flash {USE_WAITREQUEST} {0} +set_instance_parameter_value sys_flash {USE_WRITEBYTEENABLE} {0} +set_instance_parameter_value sys_flash {USE_OUTPUTENABLE} {0} +set_instance_parameter_value sys_flash {USE_RESETREQUEST} {0} +set_instance_parameter_value sys_flash {USE_IRQ} {0} +set_instance_parameter_value sys_flash {USE_RESET_OUTPUT} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_READ} {1} +set_instance_parameter_value sys_flash {ACTIVE_LOW_LOCK} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_WRITE} {1} +set_instance_parameter_value sys_flash {ACTIVE_LOW_CHIPSELECT} {1} +set_instance_parameter_value sys_flash {ACTIVE_LOW_BYTEENABLE} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_OUTPUTENABLE} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_WRITEBYTEENABLE} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_WAITREQUEST} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_BEGINTRANSFER} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_RESETREQUEST} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_IRQ} {0} +set_instance_parameter_value sys_flash {ACTIVE_LOW_RESET_OUTPUT} {0} +set_instance_parameter_value sys_flash {CHIPSELECT_THROUGH_READLATENCY} {0} +set_instance_parameter_value sys_flash {IS_MEMORY_DEVICE} {1} +set_instance_parameter_value sys_flash {MODULE_ASSIGNMENT_KEYS} {embeddedsw.configuration.hwClassnameDriverSupportList \ + embeddedsw.configuration.hwClassnameDriverSupportDefault \ + embeddedsw.CMacro.SETUP_VALUE \ + embeddedsw.CMacro.WAIT_VALUE \ + embeddedsw.CMacro.HOLD_VALUE \ + embeddedsw.CMacro.TIMING_UNITS \ + embeddedsw.CMacro.SIZE \ + embeddedsw.memoryInfo.MEM_INIT_DATA_WIDTH \ + embeddedsw.memoryInfo.HAS_BYTE_LANE \ + embeddedsw.memoryInfo.IS_FLASH \ + embeddedsw.memoryInfo.GENERATE_DAT_SYM \ + embeddedsw.memoryInfo.GENERATE_FLASH \ + embeddedsw.memoryInfo.DAT_SYM_INSTALL_DIR \ + embeddedsw.memoryInfo.FLASH_INSTALL_DIR} +set_instance_parameter_value sys_flash {MODULE_ASSIGNMENT_VALUES} {altera_avalon_lan91c111:altera_avalon_cfi_flash1616 \ + altera_avalon_cfi_flash1616 \ + 33 \ + 144 \ + 33 \ + ns \ + 134217728u \ + 32 \ + 1 \ + 1 \ + 1 \ + 1 \ + SIM_DIR \ + APP_DIR} +set_instance_parameter_value sys_flash {INTERFACE_ASSIGNMENT_KEYS} {embeddedsw.configuration.isFlash \ + embeddedsw.configuration.isMemoryDevice \ + embeddedsw.configuration.isNonVolatileStorage} +set_instance_parameter_value sys_flash {INTERFACE_ASSIGNMENT_VALUES} {1 \ + 1 \ + 1} + +add_connection sys_flash.tcm sys_flash_bridge.tcs +add_connection sys_clk.clk sys_flash.clk +add_connection sys_clk.clk_reset sys_flash.reset + # cpu add_instance sys_cpu altera_nios2_gen2 @@ -85,7 +174,7 @@ set_instance_parameter_value sys_cpu {setting_support31bitdcachebypass} {0} set_instance_parameter_value sys_cpu {setting_activateTrace} {1} set_instance_parameter_value sys_cpu {mmu_autoAssignTlbPtrSz} {0} set_instance_parameter_value sys_cpu {mmu_TLBMissExcOffset} {4096} -set_instance_parameter_value sys_cpu {resetSlave} {sys_ddr3_cntrl_arch.ctrl_amm_0} +set_instance_parameter_value sys_cpu {resetSlave} {sys_flash.uas} set_instance_parameter_value sys_cpu {mmu_TLBMissExcSlave} {sys_tlb_mem.s2} set_instance_parameter_value sys_cpu {exceptionSlave} {sys_ddr3_cntrl_arch.ctrl_amm_0} set_instance_parameter_value sys_cpu {breakSlave} {sys_cpu.jtag_debug_module} @@ -115,6 +204,18 @@ set_connection_parameter_value sys_cpu.instruction_master/sys_int_mem.s1 baseAdd set_connection_parameter_value sys_cpu.tightly_coupled_instruction_master_0/sys_tlb_mem.s2 baseAddress {0x10200000} set_connection_parameter_value sys_cpu.tightly_coupled_data_master_0/sys_tlb_mem.s1 baseAddress {0x10200000} +add_connection sys_cpu.data_master sys_flash.uas +set_connection_parameter_value sys_cpu.data_master/sys_flash.uas arbitrationPriority {1} +set_connection_parameter_value sys_cpu.data_master/sys_flash.uas baseAddress {0x11000000} +set_connection_parameter_value sys_cpu.data_master/sys_flash.uas defaultConnection {0} + +add_connection sys_cpu.instruction_master sys_flash.uas +set_connection_parameter_value sys_cpu.instruction_master/sys_flash.uas arbitrationPriority {1} +set_connection_parameter_value sys_cpu.instruction_master/sys_flash.uas baseAddress {0x11000000} +set_connection_parameter_value sys_cpu.instruction_master/sys_flash.uas defaultConnection {0} + + + # cpu/hps handling proc ad_cpu_interrupt {m_irq m_port} { @@ -318,4 +419,8 @@ ad_cpu_interrupt 5 sys_gpio_in.irq ad_cpu_interrupt 6 sys_gpio_bd.irq ad_cpu_interrupt 7 sys_spi.irq +# exported interfaces +add_interface sys_flash conduit end +set_interface_property sys_flash EXPORT_OF sys_flash_bridge.out + diff --git a/projects/daq2/a10gx/system_constr.sdc b/projects/daq2/a10gx/system_constr.sdc index 19bb11192..fdb48f29f 100644 --- a/projects/daq2/a10gx/system_constr.sdc +++ b/projects/daq2/a10gx/system_constr.sdc @@ -7,3 +7,15 @@ derive_pll_clocks derive_clock_uncertainty set_false_path -from [get_registers *altera_reset_synchronizer:alt_rst_sync_uq1|altera_reset_synchronizer_int_chain_out*] + +# flash interface + +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_addr[*]} ] +set_input_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_data[*]} ] +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_data[*]} ] +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_cen[*]} ] +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_oen} ] +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_resetn} ] +set_output_delay -clock [ get_clocks sys_clk_100mhz ] 2 [ get_ports {flash_wen} ] +set_false_path -from * -to [get_ports {flash_resetn}] + diff --git a/projects/daq2/a10gx/system_top.v b/projects/daq2/a10gx/system_top.v index c86143aa7..258c60ab1 100644 --- a/projects/daq2/a10gx/system_top.v +++ b/projects/daq2/a10gx/system_top.v @@ -77,6 +77,17 @@ module system_top ( input [ 10:0] gpio_bd_i, output [ 15:0] gpio_bd_o, + // flash + + output flash_oen, + output [ 1:0] flash_cen, + output [ 27:0] flash_addr, // drop A0 & A1 for 32 bit data bus + inout [ 31:0] flash_data, + output flash_wen, + output flash_advn, + output flash_clk, + output flash_resetn, + // lane interface input rx_ref_clk, @@ -121,6 +132,12 @@ module system_top ( wire spi_mosi_s; wire [ 7:0] spi_csn_s; + // User code space at offset 0x0930_0000 per Altera's Board Update Portal + // reference design used to program flash + + wire [23:0] flash_addr_raw; + assign flash_addr = flash_addr_raw + 28'h9300000; + // daq2 assign spi_csn_adc = spi_csn_s[2]; @@ -170,6 +187,14 @@ module system_top ( assign gpio_bd_o = gpio_o[15:0]; + // Common Flash interface assignments + + assign flash_resetn = 1'b1; // user_resetn; flash ready after FPGA is configured, reset during configuration + assign flash_advn = 1'b0; + assign flash_clk = 1'b0; + assign flash_cen[1] = flash_cen[0]; // select both flash devices for double-wide 32 bit data width + + system_bd i_system_bd ( .rx_serial_data_rx_serial_data (rx_serial_data), .rx_ref_clk_clk (rx_ref_clk), @@ -213,7 +238,12 @@ module system_top ( .tx_serial_data_tx_serial_data (tx_serial_data), .tx_ref_clk_clk (tx_ref_clk), .tx_sync_export (tx_sync), - .tx_sysref_export (tx_sysref)); + .tx_sysref_export (tx_sysref), + .sys_flash_tcm_address_out (flash_addr_raw), + .sys_flash_tcm_read_n_out (flash_oen), + .sys_flash_tcm_write_n_out (flash_wen), + .sys_flash_tcm_data_out (flash_data), + .sys_flash_tcm_chipselect_n_out (flash_cen[0])); endmodule