diff --git a/projects/pzsdr1/ccbox_lvds/Makefile b/projects/pzsdr1/ccbox_lvds/Makefile index 8d86c618d..8174aca03 100644 --- a/projects/pzsdr1/ccbox_lvds/Makefile +++ b/projects/pzsdr1/ccbox_lvds/Makefile @@ -7,18 +7,15 @@ M_DEPS += system_top.v M_DEPS += system_project.tcl -M_DEPS += system_constr.xdc M_DEPS += system_bd.tcl +M_DEPS += ../common/pzsdr1_constr_lvds.xdc +M_DEPS += ../common/pzsdr1_constr.xdc +M_DEPS += ../common/pzsdr1_bd.tcl +M_DEPS += ../common/ccbox_constr.xdc M_DEPS += ../common/ccbox_bd.tcl M_DEPS += ../../scripts/adi_project.tcl M_DEPS += ../../scripts/adi_env.tcl M_DEPS += ../../scripts/adi_board.tcl -M_DEPS += ../../fmcomms2/common/fmcomms2_bd.tcl -M_DEPS += ../../common/xilinx/sys_wfifo.tcl -M_DEPS += ../../common/pzsdr1/pzsdr1_system_constr.xdc -M_DEPS += ../../common/pzsdr1/pzsdr1_system_bd.tcl -M_DEPS += ../../common/pzsdr1/pzsdr1_lvds_system_constr.xdc -M_DEPS += ../../common/pzsdr/pzsdr_system_ps7.tcl M_DEPS += ../../../library/xilinx/common/ad_iobuf.v M_DEPS += ../../../library/axi_ad9361/axi_ad9361.xpr M_DEPS += ../../../library/axi_dmac/axi_dmac.xpr @@ -47,7 +44,7 @@ M_FLIST += *.ip_user_files .PHONY: all lib clean clean-all -all: lib ccbox_lvds_pzsdr1.sdk/system_top.hdf +all: lib pzsdr1_ccbox_lvds.sdk/system_top.hdf clean: @@ -64,9 +61,9 @@ clean-all:clean make -C ../../../library/util_wfifo clean -ccbox_lvds_pzsdr1.sdk/system_top.hdf: $(M_DEPS) +pzsdr1_ccbox_lvds.sdk/system_top.hdf: $(M_DEPS) -rm -rf $(M_FLIST) - $(M_VIVADO) system_project.tcl >> ccbox_lvds_pzsdr1_vivado.log 2>&1 + $(M_VIVADO) system_project.tcl >> pzsdr1_ccbox_lvds.log 2>&1 lib: diff --git a/projects/pzsdr1/ccbox_lvds/system_bd.tcl b/projects/pzsdr1/ccbox_lvds/system_bd.tcl index 875b6e891..a870f5764 100644 --- a/projects/pzsdr1/ccbox_lvds/system_bd.tcl +++ b/projects/pzsdr1/ccbox_lvds/system_bd.tcl @@ -1,4 +1,6 @@ -source $ad_hdl_dir/projects/common/pzsdr1/pzsdr1_system_bd.tcl +source ../common/pzsdr1_bd.tcl source ../common/ccbox_bd.tcl +cfg_ad9361_interface LVDS + diff --git a/projects/pzsdr1/ccbox_lvds/system_constr.xdc b/projects/pzsdr1/ccbox_lvds/system_constr.xdc deleted file mode 100644 index f72968bf4..000000000 --- a/projects/pzsdr1/ccbox_lvds/system_constr.xdc +++ /dev/null @@ -1,71 +0,0 @@ - -# pzsr1 (rev.b) + ccbox (rev.a) -# rf-gpio - -set_property -dict {PACKAGE_PIN U12 IOSTANDARD LVCMOS25} [get_ports gpio_rf[0]] ; ## JX4.22 IO_L2N_T0_34 -set_property -dict {PACKAGE_PIN U13 IOSTANDARD LVCMOS25} [get_ports gpio_rf[1]] ; ## JX4.25 IO_L3P_T0_DQS_PUDC_B_34 -set_property -dict {PACKAGE_PIN T15 IOSTANDARD LVCMOS25} [get_ports gpio_rf[2]] ; ## JX4.33 IO_L5N_T0_34 -set_property -dict {PACKAGE_PIN R14 IOSTANDARD LVCMOS25} [get_ports gpio_rf[3]] ; ## JX4.34 IO_L6N_T0_VREF_34 -set_property -dict {PACKAGE_PIN Y16 IOSTANDARD LVCMOS25} [get_ports gpio_rf[4]] ; ## JX4.35 IO_L7P_T1_34 -set_property -dict {PACKAGE_PIN W14 IOSTANDARD LVCMOS25} [get_ports gpio_rf[5]] ; ## JX4.36 IO_L8P_T1_34 - -# push-button - -set_property -dict {PACKAGE_PIN P14 IOSTANDARD LVCMOS25} [get_ports ltc2955_kill_n] ; ## JX4.32 IO_L6P_T0_34 -set_property -dict {PACKAGE_PIN T14 IOSTANDARD LVCMOS25} [get_ports ltc2955_int_n] ; ## JX4.31 IO_L5P_T0_34 - -# oled - -set_property -dict {PACKAGE_PIN V5 IOSTANDARD LVCMOS25} [get_ports oled_csn] ; ## JX2.18 IO_L6N_T0_VREF_13 -set_property -dict {PACKAGE_PIN V7 IOSTANDARD LVCMOS25} [get_ports oled_clk] ; ## JX2.37 IO_L11N_T1_SRCC_13 -set_property -dict {PACKAGE_PIN T9 IOSTANDARD LVCMOS25} [get_ports oled_mosi] ; ## JX2.36 IO_L12P_T1_MRCC_13 -set_property -dict {PACKAGE_PIN U7 IOSTANDARD LVCMOS25} [get_ports oled_rst] ; ## JX2.35 IO_L11P_T1_SRCC_13 -set_property -dict {PACKAGE_PIN U10 IOSTANDARD LVCMOS25} [get_ports oled_dc] ; ## JX2.38 IO_L12N_T1_MRCC_13 - -# adp5061 - -set_property -dict {PACKAGE_PIN T11 IOSTANDARD LVCMOS25} [get_ports adp5061_io[0]] ; ## JX4.19 IO_L1P_T0_34 -set_property -dict {PACKAGE_PIN T10 IOSTANDARD LVCMOS25} [get_ports adp5061_io[1]] ; ## JX4.21 IO_L1N_T0_34 -set_property -dict {PACKAGE_PIN T12 IOSTANDARD LVCMOS25} [get_ports adp5061_io[2]] ; ## JX4.20 IO_L2P_T0_34 - -# GPS - -set_property -dict {PACKAGE_PIN U5 IOSTANDARD LVCMOS25} [get_ports gps_reset] ; ## JX2,63 IO_L19N_T3_VREF_13 -set_property -dict {PACKAGE_PIN Y12 IOSTANDARD LVCMOS25} [get_ports gps_force_on] ; ## JX2,62 IO_L20P_T3_13 -set_property -dict {PACKAGE_PIN Y13 IOSTANDARD LVCMOS25} [get_ports gps_standby] ; ## JX2,64 IO_L20N_T3_13 -set_property -dict {PACKAGE_PIN T5 IOSTANDARD LVCMOS25} [get_ports gps_pps] ; ## JX2,61 IO_L19P_T3_13 - -# imu - -set_property -dict {PACKAGE_PIN W10 IOSTANDARD LVCMOS25} [get_ports imu_csn] ; ## JX2,48 IO_L16P_T2_13 -set_property -dict {PACKAGE_PIN W9 IOSTANDARD LVCMOS25} [get_ports imu_clk] ; ## JX2,50 IO_L16N_T2_13 -set_property -dict {PACKAGE_PIN U9 IOSTANDARD LVCMOS25} [get_ports imu_mosi] ; ## JX2,53 IO_L17P_T2_13 -set_property -dict {PACKAGE_PIN Y11 IOSTANDARD LVCMOS25} [get_ports imu_miso] ; ## JX2,56 IO_L18N_T2_13 -set_property -dict {PACKAGE_PIN W8 IOSTANDARD LVCMOS25} [get_ports imu_rstn] ; ## JX2,49 IO_L15N_T2_DQS_13 -set_property -dict {PACKAGE_PIN W11 IOSTANDARD LVCMOS25} [get_ports imu_sync] ; ## JX2,54 IO_L18P_T2_13 -set_property -dict {PACKAGE_PIN U8 IOSTANDARD LVCMOS25} [get_ports imu_ready] ; ## JX2,55 IO_L17N_T2_13 - -# audio - -set_property -dict {PACKAGE_PIN Y6 IOSTANDARD LVCMOS25} [get_ports i2s_bclk] ; ## JX2,43 IO_L13N_T2_MRCC_13 -set_property -dict {PACKAGE_PIN Y9 IOSTANDARD LVCMOS25} [get_ports i2s_lrclk] ; ## JX2,42 IO_L14P_T2_SRCC_13 -set_property -dict {PACKAGE_PIN Y7 IOSTANDARD LVCMOS25} [get_ports i2s_mclk] ; ## JX2,41 IO_L13P_T2_MRCC_13 -set_property -dict {PACKAGE_PIN Y8 IOSTANDARD LVCMOS25} [get_ports i2s_sdata_in] ; ## JX2,44 IO_L14N_T2_SRCC_13 -set_property -dict {PACKAGE_PIN V8 IOSTANDARD LVCMOS25} [get_ports i2s_sdata_out] ; ## JX2,47 IO_L15P_T2_DQS_13 - -set_property -dict {PACKAGE_PIN U17 IOSTANDARD LVCMOS25} [get_ports mic_present_n] ; ## JX4,43 IO_L9N_T1_DQS_34 -set_property -dict {PACKAGE_PIN Y17 IOSTANDARD LVCMOS25} [get_ports ts3a227_int_n] ; ## JX4,37 IO_L7N_T1_34 - -# switch-led - -set_property -dict {PACKAGE_PIN Y14 IOSTANDARD LVCMOS25} [get_ports switch_led_r] ; ## JX4,38 IO_L8N_T1_34 -set_property -dict {PACKAGE_PIN T16 IOSTANDARD LVCMOS25} [get_ports switch_led_g] ; ## JX4,41 IO_L9P_T1_DQS_34 -set_property -dict {PACKAGE_PIN V15 IOSTANDARD LVCMOS25} [get_ports switch_led_b] ; ## JX4,42 IO_L10P_T1_34 - -# power source - -set_property -dict {PACKAGE_PIN V13 IOSTANDARD LVCMOS25} [get_ports pss_valid_n[0]] ; ## JX4,27 IO_L3N_T0_DQS_34 -set_property -dict {PACKAGE_PIN V12 IOSTANDARD LVCMOS25} [get_ports pss_valid_n[1]] ; ## JX4,26 IO_L4P_T0_34 -set_property -dict {PACKAGE_PIN W13 IOSTANDARD LVCMOS25} [get_ports pss_valid_n[2]] ; ## JX4,28 IO_L4N_T0_34 - - diff --git a/projects/pzsdr1/ccbox_lvds/system_project.tcl b/projects/pzsdr1/ccbox_lvds/system_project.tcl index d751a0f29..61ed874fb 100644 --- a/projects/pzsdr1/ccbox_lvds/system_project.tcl +++ b/projects/pzsdr1/ccbox_lvds/system_project.tcl @@ -3,14 +3,15 @@ source ../../scripts/adi_env.tcl source $ad_hdl_dir/projects/scripts/adi_project.tcl source $ad_hdl_dir/projects/scripts/adi_board.tcl -adi_project_create ccbox_lvds_pzsdr1 -adi_project_files ccbox_lvds_pzsdr1 [list \ - "system_top.v" \ - "system_constr.xdc"\ +set p_device "xc7z020clg400-1" +adi_project_create pzsdr1_ccbox_lvds +adi_project_files pzsdr1_ccbox_lvds [list \ "$ad_hdl_dir/library/xilinx/common/ad_iobuf.v" \ - "$ad_hdl_dir/projects/common/pzsdr1/pzsdr1_system_constr.xdc" \ - "$ad_hdl_dir/projects/common/pzsdr1/pzsdr1_lvds_system_constr.xdc" ] + "../common/pzsdr1_constr.xdc" \ + "../common/pzsdr1_constr_lvds.xdc" \ + "../common/ccbox_constr.xdc" \ + "system_top.v" ] -adi_project_run ccbox_lvds_pzsdr1 +adi_project_run pzsdr1_ccbox_lvds diff --git a/projects/pzsdr1/ccbox_lvds/system_top.v b/projects/pzsdr1/ccbox_lvds/system_top.v index 7b51d5d94..30c536868 100644 --- a/projects/pzsdr1/ccbox_lvds/system_top.v +++ b/projects/pzsdr1/ccbox_lvds/system_top.v @@ -117,9 +117,14 @@ module system_top ( output enable, output txnrx, - input clk_out, + input clkout_in, - inout [ 5:0] gpio_rf, + inout gpio_rf0, + inout gpio_rf1, + inout gpio_rf2, + inout gpio_rf3, + inout gpio_rf4, + inout gpio_rfpwr_enable, inout gpio_clksel, inout gpio_resetb, inout gpio_sync, @@ -142,9 +147,10 @@ module system_top ( assign oled_clk = spi_clk; assign oled_mosi = spi_mosi; - assign gpio_i[31:24] = gpio_o[31:24]; - // gpio[23:20] controls misc stuff (keep as io) + // gpio[31:20] controls misc stuff (keep as io) + + assign gpio_i[31:24] = gpio_o[31:24]; ad_iobuf #(.DATA_WIDTH(4)) i_iobuf_misc ( .dio_t (gpio_t[23:20]), @@ -196,16 +202,22 @@ module system_top ( assign switch_led_b = gpio_o[0]; assign gpio_i[3:0] = gpio_o[3:0]; - // ad9361 gpio + // ad9361 gpio - 63-32 - assign gpio_i[63:58] = gpio_o[63:58]; + assign gpio_i[63:62] = gpio_o[63:62]; + assign gpio_i[60:57] = gpio_o[60:57]; assign gpio_i[50:47] = gpio_o[50:47]; ad_iobuf #(.DATA_WIDTH(22)) i_iobuf ( - .dio_t ({gpio_t[57:51], gpio_t[46:32]}), - .dio_i ({gpio_o[57:51], gpio_o[46:32]}), - .dio_o ({gpio_i[57:51], gpio_i[46:32]}), - .dio_p ({ gpio_rf, // 57:52 + .dio_t ({gpio_t[61:61], gpio_t[56:51], gpio_t[46:32]}), + .dio_i ({gpio_o[61:61], gpio_o[56:51], gpio_o[46:32]}), + .dio_o ({gpio_i[61:61], gpio_i[56:51], gpio_i[46:32]}), + .dio_p ({ gpio_rf4, // 61:61 + gpio_rf0, // 56:56 + gpio_rf1, // 55:55 + gpio_rf2, // 54:54 + gpio_rf3, // 53:53 + gpio_rfpwr_enable, // 52:52 gpio_clksel, // 51:51 gpio_resetb, // 46:46 gpio_sync, // 45:45