From f3fe16a1029c802e690973c0ccc5b9250095d1c4 Mon Sep 17 00:00:00 2001 From: Rejeesh Kutty Date: Thu, 17 Dec 2015 16:17:24 -0500 Subject: [PATCH] pzsdr/ccfmc: camera/sfp pin changes --- projects/pzsdr/ccfmc/system_constr.xdc | 82 +++++++++++++------------- projects/pzsdr/ccfmc/system_top.v | 32 ++++++---- 2 files changed, 61 insertions(+), 53 deletions(-) diff --git a/projects/pzsdr/ccfmc/system_constr.xdc b/projects/pzsdr/ccfmc/system_constr.xdc index 114de9c10..ac6233513 100644 --- a/projects/pzsdr/ccfmc/system_constr.xdc +++ b/projects/pzsdr/ccfmc/system_constr.xdc @@ -191,48 +191,48 @@ set_property -dict {PACKAGE_PIN AF3} [get_ports gt_tx_1_n] set_property -dict {PACKAGE_PIN AE6} [get_ports gt_rx_1_p] ; ## MGTXRXP1_111 (sfp_gt_rx_p) set_property -dict {PACKAGE_PIN AE5} [get_ports gt_rx_1_n] ; ## MGTXRXN1_111 (sfp_gt_rx_n) -set_property -dict {PACKAGE_PIN M6 IOSTANDARD LVCMOS18} [get_ports gp_out[37]] ; ## IO_L13P_T2_MRCC_33 (cam_gpio[ 0]) -set_property -dict {PACKAGE_PIN M5 IOSTANDARD LVCMOS18} [get_ports gp_out[38]] ; ## IO_L13N_T2_MRCC_33 (cam_gpio[ 1]) -set_property -dict {PACKAGE_PIN L5 IOSTANDARD LVCMOS18} [get_ports gp_out[39]] ; ## IO_L14P_T2_SRCC_33 (cam_gpio[ 2]) -set_property -dict {PACKAGE_PIN L4 IOSTANDARD LVCMOS18} [get_ports gp_out[40]] ; ## IO_L14N_T2_SRCC_33 (cam_gpio[ 3]) -set_property -dict {PACKAGE_PIN N3 IOSTANDARD LVCMOS18} [get_ports gp_out[41]] ; ## IO_L15P_T2_DQS_33 (cam_gpio[ 4]) -set_property -dict {PACKAGE_PIN N2 IOSTANDARD LVCMOS18} [get_ports gp_out[42]] ; ## IO_L15N_T2_DQS_33 (cam_gpio[ 5]) -set_property -dict {PACKAGE_PIN M2 IOSTANDARD LVCMOS18} [get_ports gp_out[43]] ; ## IO_L16P_T2_33 (cam_gpio[ 6]) -set_property -dict {PACKAGE_PIN L2 IOSTANDARD LVCMOS18} [get_ports gp_out[44]] ; ## IO_L16N_T2_33 (cam_gpio[ 7]) -set_property -dict {PACKAGE_PIN N4 IOSTANDARD LVCMOS18} [get_ports gp_out[45]] ; ## IO_L17P_T2_33 (cam_gpio[ 8]) -set_property -dict {PACKAGE_PIN M4 IOSTANDARD LVCMOS18} [get_ports gp_out[46]] ; ## IO_L17N_T2_33 (cam_gpio[ 9]) -set_property -dict {PACKAGE_PIN N1 IOSTANDARD LVCMOS18} [get_ports gp_out[47]] ; ## IO_L18P_T2_33 (cam_gpio[10]) -set_property -dict {PACKAGE_PIN M1 IOSTANDARD LVCMOS18} [get_ports gp_out[48]] ; ## IO_L18N_T2_33 (cam_gpio[11]) -set_property -dict {PACKAGE_PIN M7 IOSTANDARD LVCMOS18} [get_ports gp_out[49]] ; ## IO_L19P_T3_33 (cam_gpio[12]) -set_property -dict {PACKAGE_PIN L7 IOSTANDARD LVCMOS18} [get_ports gp_out[50]] ; ## IO_L19N_T3_VREF_33 (cam_gpio[13]) -set_property -dict {PACKAGE_PIN K5 IOSTANDARD LVCMOS18} [get_ports gp_out[51]] ; ## IO_L20P_T3_33 (cam_gpio[14]) -set_property -dict {PACKAGE_PIN J5 IOSTANDARD LVCMOS18} [get_ports gp_out[52]] ; ## IO_L20N_T3_33 (cam_gpio[15]) -set_property -dict {PACKAGE_PIN M8 IOSTANDARD LVCMOS18} [get_ports gp_out[53]] ; ## IO_L21P_T3_DQS_33 (cam_gpio[16]) -set_property -dict {PACKAGE_PIN L8 IOSTANDARD LVCMOS18} [get_ports gp_in[37]] ; ## IO_L21N_T3_DQS_33 (cam_gpio[17]) -set_property -dict {PACKAGE_PIN K6 IOSTANDARD LVCMOS18} [get_ports gp_in[38]] ; ## IO_L22P_T3_33 (cam_gpio[18]) -set_property -dict {PACKAGE_PIN J6 IOSTANDARD LVCMOS18} [get_ports gp_in[39]] ; ## IO_L22N_T3_33 (cam_gpio[19]) -set_property -dict {PACKAGE_PIN N7 IOSTANDARD LVCMOS18} [get_ports gp_in[40]] ; ## IO_L23P_T3_33 (cam_gpio[20]) -set_property -dict {PACKAGE_PIN N6 IOSTANDARD LVCMOS18} [get_ports gp_in[41]] ; ## IO_L23N_T3_33 (cam_gpio[21]) -set_property -dict {PACKAGE_PIN K8 IOSTANDARD LVCMOS18} [get_ports gp_in[42]] ; ## IO_L24P_T3_33 (cam_gpio[22]) -set_property -dict {PACKAGE_PIN K7 IOSTANDARD LVCMOS18} [get_ports gp_in[43]] ; ## IO_L24N_T3_33 (cam_gpio[23]) -set_property -dict {PACKAGE_PIN J11 IOSTANDARD LVCMOS18} [get_ports gp_in[44]] ; ## IO_L1P_T0_34 (cam_gpio[24]) -set_property -dict {PACKAGE_PIN H11 IOSTANDARD LVCMOS18} [get_ports gp_in[45]] ; ## IO_L1N_T0_34 (cam_gpio[25]) -set_property -dict {PACKAGE_PIN G6 IOSTANDARD LVCMOS18} [get_ports gp_in[46]] ; ## IO_L2P_T0_34 (cam_gpio[26]) -set_property -dict {PACKAGE_PIN G5 IOSTANDARD LVCMOS18} [get_ports gp_in[47]] ; ## IO_L2N_T0_34 (cam_gpio[27]) -set_property -dict {PACKAGE_PIN H9 IOSTANDARD LVCMOS18} [get_ports gp_in[48]] ; ## IO_L3P_T0_DQS_PUDC_B_34 (cam_gpio[28]) -set_property -dict {PACKAGE_PIN G9 IOSTANDARD LVCMOS18} [get_ports gp_in[49]] ; ## IO_L3N_T0_DQS_34 (cam_gpio[29]) -set_property -dict {PACKAGE_PIN H7 IOSTANDARD LVCMOS18} [get_ports gp_in[50]] ; ## IO_L4P_T0_34 (cam_gpio[30]) -set_property -dict {PACKAGE_PIN H6 IOSTANDARD LVCMOS18} [get_ports gp_in[51]] ; ## IO_L4N_T0_34 (cam_gpio[31]) -set_property -dict {PACKAGE_PIN J10 IOSTANDARD LVCMOS18} [get_ports gp_in[52]] ; ## IO_L5P_T0_34 (cam_gpio[32]) -set_property -dict {PACKAGE_PIN J4 IOSTANDARD LVCMOS18} [get_ports gp_in[53]] ; ## IO_L12P_T1_MRCC_33 (cam_gpio[33]) +set_property -dict {PACKAGE_PIN J11 IOSTANDARD LVCMOS18} [get_ports gp_in[37]] ; ## IO_L1P_T0_34 (CAM_GPIO_0 ) +set_property -dict {PACKAGE_PIN H11 IOSTANDARD LVCMOS18} [get_ports gp_in[38]] ; ## IO_L1N_T0_34 (CAM_GPIO_1 ) +set_property -dict {PACKAGE_PIN H9 IOSTANDARD LVCMOS18} [get_ports gp_in[39]] ; ## IO_L3P_T0_DQS_PUDC_B_34 (CAM_GPIO_4 ) +set_property -dict {PACKAGE_PIN G9 IOSTANDARD LVCMOS18} [get_ports gp_in[40]] ; ## IO_L3N_T0_DQS_34 (CAM_GPIO_5 ) +set_property -dict {PACKAGE_PIN M6 IOSTANDARD LVCMOS18} [get_ports gp_in[41]] ; ## IO_L13P_T2_MRCC_33 (CAM_CLK_P ) +set_property -dict {PACKAGE_PIN M5 IOSTANDARD LVCMOS18} [get_ports gp_in[42]] ; ## IO_L13N_T2_MRCC_33 (CAM_CLK_N ) +set_property -dict {PACKAGE_PIN M2 IOSTANDARD LVCMOS18} [get_ports gp_in[43]] ; ## IO_L16P_T2_33 (CAM_DATA1_P ) +set_property -dict {PACKAGE_PIN L2 IOSTANDARD LVCMOS18} [get_ports gp_in[44]] ; ## IO_L16N_T2_33 (CAM_DATA1_N ) +set_property -dict {PACKAGE_PIN N1 IOSTANDARD LVCMOS18} [get_ports gp_in[45]] ; ## IO_L18P_T2_33 (CAM_DATA3_P ) +set_property -dict {PACKAGE_PIN M1 IOSTANDARD LVCMOS18} [get_ports gp_in[46]] ; ## IO_L18N_T2_33 (CAM_DATA3_N ) +set_property -dict {PACKAGE_PIN K5 IOSTANDARD LVCMOS18} [get_ports gp_in[47]] ; ## IO_L20P_T3_33 (CAM_DATA5_P ) +set_property -dict {PACKAGE_PIN J5 IOSTANDARD LVCMOS18} [get_ports gp_in[48]] ; ## IO_L20N_T3_33 (CAM_DATA5_N ) +set_property -dict {PACKAGE_PIN K6 IOSTANDARD LVCMOS18} [get_ports gp_in[49]] ; ## IO_L22P_T3_33 (CAM_DATA7_P ) +set_property -dict {PACKAGE_PIN J6 IOSTANDARD LVCMOS18} [get_ports gp_in[50]] ; ## IO_L22N_T3_33 (CAM_DATA7_N ) +set_property -dict {PACKAGE_PIN N7 IOSTANDARD LVCMOS18} [get_ports gp_in[51]] ; ## IO_L23P_T3_33 (CAM_SPI_CSN ) +set_property -dict {PACKAGE_PIN N6 IOSTANDARD LVCMOS18} [get_ports gp_in[52]] ; ## IO_L23N_T3_33 (CAM_SPI_CLK ) +set_property -dict {PACKAGE_PIN J4 IOSTANDARD LVCMOS18} [get_ports gp_in[53]] ; ## IO_L12P_T1_MRCC_33 (CAM_REFCLK ) +set_property -dict {PACKAGE_PIN G6 IOSTANDARD LVCMOS18} [get_ports gp_out[37]] ; ## IO_L2P_T0_34 (CAM_GPIO_2 ) +set_property -dict {PACKAGE_PIN G5 IOSTANDARD LVCMOS18} [get_ports gp_out[38]] ; ## IO_L2N_T0_34 (CAM_GPIO_3 ) +set_property -dict {PACKAGE_PIN H7 IOSTANDARD LVCMOS18} [get_ports gp_out[39]] ; ## IO_L4P_T0_34 (CAM_GPIO_6 ) +set_property -dict {PACKAGE_PIN H6 IOSTANDARD LVCMOS18} [get_ports gp_out[40]] ; ## IO_L4N_T0_34 (CAM_GPIO_7 ) +set_property -dict {PACKAGE_PIN N3 IOSTANDARD LVCMOS18} [get_ports gp_out[41]] ; ## IO_L15P_T2_DQS_33 (CAM_DATA0_P ) +set_property -dict {PACKAGE_PIN N2 IOSTANDARD LVCMOS18} [get_ports gp_out[42]] ; ## IO_L15N_T2_DQS_33 (CAM_DATA0_N ) +set_property -dict {PACKAGE_PIN N4 IOSTANDARD LVCMOS18} [get_ports gp_out[43]] ; ## IO_L17P_T2_33 (CAM_DATA2_P ) +set_property -dict {PACKAGE_PIN M4 IOSTANDARD LVCMOS18} [get_ports gp_out[44]] ; ## IO_L17N_T2_33 (CAM_DATA2_N ) +set_property -dict {PACKAGE_PIN M7 IOSTANDARD LVCMOS18} [get_ports gp_out[45]] ; ## IO_L19P_T3_33 (CAM_DATA4_P ) +set_property -dict {PACKAGE_PIN L7 IOSTANDARD LVCMOS18} [get_ports gp_out[46]] ; ## IO_L19N_T3_VREF_33 (CAM_DATA4_N ) +set_property -dict {PACKAGE_PIN M8 IOSTANDARD LVCMOS18} [get_ports gp_out[47]] ; ## IO_L21P_T3_DQS_33 (CAM_DATA6_P ) +set_property -dict {PACKAGE_PIN L8 IOSTANDARD LVCMOS18} [get_ports gp_out[48]] ; ## IO_L21N_T3_DQS_33 (CAM_DATA6_N ) +set_property -dict {PACKAGE_PIN L5 IOSTANDARD LVCMOS18} [get_ports gp_out[49]] ; ## IO_L14P_T2_SRCC_33 (CAM_SYNC_P ) +set_property -dict {PACKAGE_PIN L4 IOSTANDARD LVCMOS18} [get_ports gp_out[50]] ; ## IO_L14N_T2_SRCC_33 (CAM_SYNC_N ) +set_property -dict {PACKAGE_PIN K8 IOSTANDARD LVCMOS18} [get_ports gp_out[51]] ; ## IO_L24P_T3_33 (CAM_SPI_MISO) +set_property -dict {PACKAGE_PIN K7 IOSTANDARD LVCMOS18} [get_ports gp_out[52]] ; ## IO_L24N_T3_33 (CAM_SPI_MOSI) +set_property -dict {PACKAGE_PIN J10 IOSTANDARD LVCMOS18} [get_ports gp_out[53]] ; ## IO_L5P_T0_34 (CAM_GPIO_8 ) -set_property -dict {PACKAGE_PIN Y17 IOSTANDARD LVCMOS25} [get_ports gp_out[54]] ; ## IO_L19P_T3_12 (sfp_gpio[0]) -set_property -dict {PACKAGE_PIN AA17 IOSTANDARD LVCMOS25} [get_ports gp_out[55]] ; ## IO_L19N_T3_VREF_12 (sfp_gpio[1]) -set_property -dict {PACKAGE_PIN AB17 IOSTANDARD LVCMOS25} [get_ports gp_out[56]] ; ## IO_L20P_T3_12 (sfp_gpio[2]) -set_property -dict {PACKAGE_PIN AB16 IOSTANDARD LVCMOS25} [get_ports gp_out_0] ; ## IO_L20N_T3_12 (sfp_gpio[3]) -set_property -dict {PACKAGE_PIN AC17 IOSTANDARD LVCMOS25} [get_ports gp_in[54]] ; ## IO_L21P_T3_DQS_12 (sfp_gpio[4]) -set_property -dict {PACKAGE_PIN AC16 IOSTANDARD LVCMOS25} [get_ports gp_in[55]] ; ## IO_L21N_T3_DQS_12 (sfp_gpio[5]) -set_property -dict {PACKAGE_PIN AA15 IOSTANDARD LVCMOS25} [get_ports gp_in[56]] ; ## IO_L22P_T3_12 (sfp_gpio[6]) +set_property -dict {PACKAGE_PIN Y17 IOSTANDARD LVCMOS25} [get_ports gp_inout[0]] ; ## IO_L19P_T3_12 (sfp_gpio[0]) +set_property -dict {PACKAGE_PIN AA17 IOSTANDARD LVCMOS25} [get_ports gp_inout[1]] ; ## IO_L19N_T3_VREF_12 (sfp_gpio[1]) +set_property -dict {PACKAGE_PIN AB17 IOSTANDARD LVCMOS25} [get_ports gp_inout[2]] ; ## IO_L20P_T3_12 (sfp_gpio[2]) +set_property -dict {PACKAGE_PIN AB16 IOSTANDARD LVCMOS25} [get_ports gp_inout[3]] ; ## IO_L20N_T3_12 (sfp_gpio[3]) +set_property -dict {PACKAGE_PIN AC17 IOSTANDARD LVCMOS25} [get_ports gp_inout[4]] ; ## IO_L21P_T3_DQS_12 (sfp_gpio[4]) +set_property -dict {PACKAGE_PIN AC16 IOSTANDARD LVCMOS25} [get_ports gp_inout[5]] ; ## IO_L21N_T3_DQS_12 (sfp_gpio[5]) +set_property -dict {PACKAGE_PIN AA15 IOSTANDARD LVCMOS25} [get_ports gp_inout[6]] ; ## IO_L22P_T3_12 (sfp_gpio[6]) # clocks diff --git a/projects/pzsdr/ccfmc/system_top.v b/projects/pzsdr/ccfmc/system_top.v index 62786b4a8..a9a748a02 100644 --- a/projects/pzsdr/ccfmc/system_top.v +++ b/projects/pzsdr/ccfmc/system_top.v @@ -98,9 +98,9 @@ module system_top ( clk_1_p, clk_1_n, gp_in_0, - gp_out_0, gp_inout_0, gp_inout_1, + gp_inout, gp_out, gp_in, @@ -220,11 +220,11 @@ module system_top ( input clk_1_p; input clk_1_n; input gp_in_0; - output gp_out_0; inout gp_inout_0; inout gp_inout_1; - output [56:0] gp_out; - input [56:0] gp_in; + inout [ 6:0] gp_inout; + output [53:0] gp_out; + input [53:0] gp_in; input gt_ref_clk_0_p; input gt_ref_clk_0_n; @@ -292,6 +292,7 @@ module system_top ( wire clk_1; wire gt_ref_clk_0; wire gt_ref_clk_1; + wire [63:0] gp_ioenb_s; wire [63:0] gp_out_s; wire [63:0] gp_in_s; wire [63:0] gpio_i; @@ -338,21 +339,26 @@ module system_top ( .O (gt_ref_clk_1), .ODIV2 ()); - assign gp_out_0 = 1'd0; - assign gp_out[56:0] = gp_out_s[56:0]; + assign gp_out[53:0] = gp_out_s[53:0]; + assign gp_in_s[53:0] = gp_in[53:0]; assign gp_in_s[63:63] = gp_in_0; - assign gp_in_s[62:58] = gp_out_s[62:58]; - assign gp_in_s[57:57] = gp_out_s[62] & gpio_tdd_sync_i; - assign gp_in_s[56: 0] = gp_in[56:0]; + assign gp_in_s[62:62] = gp_out_s[62]; + assign gp_in_s[54:54] = gp_out_s[62] & gpio_tdd_sync_i; - ad_iobuf #(.DATA_WIDTH(1)) i_iobuf_35_0 ( + ad_iobuf #(.DATA_WIDTH(7)) i_iobuf_61_55 ( + .dio_t (gp_ioenb_s[61:55]), + .dio_i (gp_out_s[61:55]), + .dio_o (gp_in_s[61:55]), + .dio_p (gp_inout)); + + ad_iobuf #(.DATA_WIDTH(1)) i_iobuf_54_0 ( .dio_t (1'b0), - .dio_i (gp_out_s[57]), + .dio_i (gp_out_s[54]), .dio_o (), .dio_p (gp_inout_0)); - ad_iobuf #(.DATA_WIDTH(1)) i_iobuf_35_1 ( + ad_iobuf #(.DATA_WIDTH(1)) i_iobuf_54_1 ( .dio_t (gpio_tdd_sync_t), .dio_i (gpio_tdd_sync_o), .dio_o (gpio_tdd_sync_i), @@ -432,6 +438,8 @@ module system_top ( .fixed_io_ps_srstb (fixed_io_ps_srstb), .gp_in_0 (gp_in_s[31:0]), .gp_in_1 (gp_in_s[63:32]), + .gp_ioenb_0 (gp_ioenb_s[31:0]), + .gp_ioenb_1 (gp_ioenb_s[63:32]), .gp_out_0 (gp_out_s[31:0]), .gp_out_1 (gp_out_s[63:32]), .gpio_i (gpio_i),