From 69a68a99e02b7d8218852f8d48ab0b13cf39d50d Mon Sep 17 00:00:00 2001 From: AndreiGrozav Date: Fri, 1 Jul 2016 14:11:49 +0300 Subject: [PATCH] imageon/zed - remove onboard hdmi and update design --- projects/imageon/zed/Makefile | 1 - projects/imageon/zed/system_constr.xdc | 61 +++++++++++++++++++++++++ projects/imageon/zed/system_project.tcl | 6 +-- projects/imageon/zed/system_top.v | 54 +++++----------------- 4 files changed, 73 insertions(+), 49 deletions(-) diff --git a/projects/imageon/zed/Makefile b/projects/imageon/zed/Makefile index 1148228ee..bf3a40c13 100644 --- a/projects/imageon/zed/Makefile +++ b/projects/imageon/zed/Makefile @@ -13,7 +13,6 @@ M_DEPS += ../common/imageon_bd.tcl M_DEPS += ../../scripts/adi_project.tcl M_DEPS += ../../scripts/adi_env.tcl M_DEPS += ../../scripts/adi_board.tcl -M_DEPS += ../../common/zed/zed_system_constr.xdc M_DEPS += ../../common/zed/zed_system_bd.tcl M_DEPS += ../../../library/common/ad_iobuf.v M_DEPS += ../../../library/axi_clkgen/axi_clkgen.xpr diff --git a/projects/imageon/zed/system_constr.xdc b/projects/imageon/zed/system_constr.xdc index 124112969..d94f1220b 100644 --- a/projects/imageon/zed/system_constr.xdc +++ b/projects/imageon/zed/system_constr.xdc @@ -2,6 +2,7 @@ # fmc hdmi rx (adv7611) set_property -dict {PACKAGE_PIN D18 IOSTANDARD LVCMOS25} [get_ports hdmi_rx_clk] ; ## G2 FMC_LPC_CLK1_M2C_P +set_property -dict {PACKAGE_PIN A19 IOSTANDARD LVCMOS25} [get_ports hdmi_rx_spdif] ; ## H29 FMC_LPC_LA24_N set_property -dict {PACKAGE_PIN A17 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports hdmi_rx_data[0]] ; ## H32 FMC_LPC_LA28_N set_property -dict {PACKAGE_PIN A16 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports hdmi_rx_data[1]] ; ## H31 FMC_LPC_LA28_P set_property -dict {PACKAGE_PIN C18 IOSTANDARD LVCMOS25 IOB TRUE} [get_ports hdmi_rx_data[2]] ; ## G31 FMC_LPC_LA29_N @@ -51,3 +52,63 @@ set_property -dict {PACKAGE_PIN N20 IOSTANDARD LVCMOS25} [get_ports hd create_clock -period 6.66667 -name hdmi_rx_clk [get_ports hdmi_rx_clk] +# i2s + +set_property -dict {PACKAGE_PIN AB2 IOSTANDARD LVCMOS33} [get_ports i2s_mclk] +set_property -dict {PACKAGE_PIN AA6 IOSTANDARD LVCMOS33} [get_ports i2s_bclk] +set_property -dict {PACKAGE_PIN Y6 IOSTANDARD LVCMOS33} [get_ports i2s_lrclk] +set_property -dict {PACKAGE_PIN Y8 IOSTANDARD LVCMOS33} [get_ports i2s_sdata_out] +set_property -dict {PACKAGE_PIN AA7 IOSTANDARD LVCMOS33} [get_ports i2s_sdata_in] + +# iic + +set_property -dict {PACKAGE_PIN R7 IOSTANDARD LVCMOS33} [get_ports iic_scl] +set_property -dict {PACKAGE_PIN U7 IOSTANDARD LVCMOS33} [get_ports iic_sda] +set_property -dict {PACKAGE_PIN AA18 IOSTANDARD LVCMOS33 PULLTYPE PULLUP} [get_ports iic_mux_scl[1]] +set_property -dict {PACKAGE_PIN Y16 IOSTANDARD LVCMOS33 PULLTYPE PULLUP} [get_ports iic_mux_sda[1]] +set_property -dict {PACKAGE_PIN AB4 IOSTANDARD LVCMOS33 PULLTYPE PULLUP} [get_ports iic_mux_scl[0]] +set_property -dict {PACKAGE_PIN AB5 IOSTANDARD LVCMOS33 PULLTYPE PULLUP} [get_ports iic_mux_sda[0]] + +# otg + +set_property -dict {PACKAGE_PIN L16 IOSTANDARD LVCMOS25} [get_ports otg_vbusoc] + +# gpio (switches, leds and such) + +set_property -dict {PACKAGE_PIN P16 IOSTANDARD LVCMOS25} [get_ports gpio_bd[0]] ; ## BTNC +set_property -dict {PACKAGE_PIN R16 IOSTANDARD LVCMOS25} [get_ports gpio_bd[1]] ; ## BTND +set_property -dict {PACKAGE_PIN N15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[2]] ; ## BTNL +set_property -dict {PACKAGE_PIN R18 IOSTANDARD LVCMOS25} [get_ports gpio_bd[3]] ; ## BTNR +set_property -dict {PACKAGE_PIN T18 IOSTANDARD LVCMOS25} [get_ports gpio_bd[4]] ; ## BTNU +set_property -dict {PACKAGE_PIN U10 IOSTANDARD LVCMOS33} [get_ports gpio_bd[5]] ; ## OLED-DC +set_property -dict {PACKAGE_PIN U9 IOSTANDARD LVCMOS33} [get_ports gpio_bd[6]] ; ## OLED-RES +set_property -dict {PACKAGE_PIN AB12 IOSTANDARD LVCMOS33} [get_ports gpio_bd[7]] ; ## OLED-SCLK +set_property -dict {PACKAGE_PIN AA12 IOSTANDARD LVCMOS33} [get_ports gpio_bd[8]] ; ## OLED-SDIN +set_property -dict {PACKAGE_PIN U11 IOSTANDARD LVCMOS33} [get_ports gpio_bd[9]] ; ## OLED-VBAT +set_property -dict {PACKAGE_PIN U12 IOSTANDARD LVCMOS33} [get_ports gpio_bd[10]] ; ## OLED-VDD + +set_property -dict {PACKAGE_PIN F22 IOSTANDARD LVCMOS25} [get_ports gpio_bd[11]] ; ## SW0 +set_property -dict {PACKAGE_PIN G22 IOSTANDARD LVCMOS25} [get_ports gpio_bd[12]] ; ## SW1 +set_property -dict {PACKAGE_PIN H22 IOSTANDARD LVCMOS25} [get_ports gpio_bd[13]] ; ## SW2 +set_property -dict {PACKAGE_PIN F21 IOSTANDARD LVCMOS25} [get_ports gpio_bd[14]] ; ## SW3 +set_property -dict {PACKAGE_PIN H19 IOSTANDARD LVCMOS25} [get_ports gpio_bd[15]] ; ## SW4 +set_property -dict {PACKAGE_PIN H18 IOSTANDARD LVCMOS25} [get_ports gpio_bd[16]] ; ## SW5 +set_property -dict {PACKAGE_PIN H17 IOSTANDARD LVCMOS25} [get_ports gpio_bd[17]] ; ## SW6 +set_property -dict {PACKAGE_PIN M15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[18]] ; ## SW7 + +set_property -dict {PACKAGE_PIN T22 IOSTANDARD LVCMOS33} [get_ports gpio_bd[19]] ; ## LD0 +set_property -dict {PACKAGE_PIN T21 IOSTANDARD LVCMOS33} [get_ports gpio_bd[20]] ; ## LD1 +set_property -dict {PACKAGE_PIN U22 IOSTANDARD LVCMOS33} [get_ports gpio_bd[21]] ; ## LD2 +set_property -dict {PACKAGE_PIN U21 IOSTANDARD LVCMOS33} [get_ports gpio_bd[22]] ; ## LD3 +set_property -dict {PACKAGE_PIN V22 IOSTANDARD LVCMOS33} [get_ports gpio_bd[23]] ; ## LD4 +set_property -dict {PACKAGE_PIN W22 IOSTANDARD LVCMOS33} [get_ports gpio_bd[24]] ; ## LD5 +set_property -dict {PACKAGE_PIN U19 IOSTANDARD LVCMOS33} [get_ports gpio_bd[25]] ; ## LD6 +set_property -dict {PACKAGE_PIN U14 IOSTANDARD LVCMOS33} [get_ports gpio_bd[26]] ; ## LD7 + +set_property -dict {PACKAGE_PIN H15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[27]] ; ## XADC-GIO0 +set_property -dict {PACKAGE_PIN R15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[28]] ; ## XADC-GIO1 +set_property -dict {PACKAGE_PIN K15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[29]] ; ## XADC-GIO2 +set_property -dict {PACKAGE_PIN J15 IOSTANDARD LVCMOS25} [get_ports gpio_bd[30]] ; ## XADC-GIO3 + +set_property -dict {PACKAGE_PIN G17 IOSTANDARD LVCMOS25} [get_ports gpio_bd[31]] ; ## OTG-RESETN + diff --git a/projects/imageon/zed/system_project.tcl b/projects/imageon/zed/system_project.tcl index b33d46487..a8cb06bc1 100644 --- a/projects/imageon/zed/system_project.tcl +++ b/projects/imageon/zed/system_project.tcl @@ -8,11 +8,7 @@ adi_project_create imageon_zed adi_project_files imageon_zed [list \ "system_top.v" \ "$ad_hdl_dir/library/common/ad_iobuf.v" \ - "system_constr.xdc" \ - "$ad_hdl_dir/projects/common/zed/zed_system_constr.xdc"] - -set_property PROCESSING_ORDER EARLY [get_files $ad_hdl_dir/projects/common/zed/zed_system_constr.xdc] -set_property PROCESSING_ORDER EARLY [get_files system_constr.xdc] + "system_constr.xdc"] adi_project_run imageon_zed diff --git a/projects/imageon/zed/system_top.v b/projects/imageon/zed/system_top.v index 80b6e87b0..41c79230c 100644 --- a/projects/imageon/zed/system_top.v +++ b/projects/imageon/zed/system_top.v @@ -66,20 +66,12 @@ module system_top ( gpio_bd, - hdmi_out_clk, - hdmi_vsync, - hdmi_hsync, - hdmi_data_e, - hdmi_data, - i2s_mclk, i2s_bclk, i2s_lrclk, i2s_sdata_out, i2s_sdata_in, - spdif, - iic_scl, iic_sda, iic_mux_scl, @@ -88,6 +80,7 @@ module system_top ( hdmi_rx_clk, hdmi_rx_data, hdmi_rx_int, + hdmi_rx_spdif, hdmi_tx_clk, hdmi_tx_data, @@ -124,14 +117,6 @@ module system_top ( inout [31:0] gpio_bd; - output hdmi_out_clk; - output hdmi_vsync; - output hdmi_hsync; - output hdmi_data_e; - output [15:0] hdmi_data; - - output spdif; - output i2s_mclk; output i2s_bclk; output i2s_lrclk; @@ -147,6 +132,7 @@ module system_top ( input hdmi_rx_clk; input [15:0] hdmi_rx_data; inout hdmi_rx_int; + input hdmi_rx_spdif; output hdmi_tx_clk; output [15:0] hdmi_tx_data; @@ -170,28 +156,13 @@ module system_top ( wire [ 1:0] iic_mux_sda_o_s; wire iic_mux_sda_t_s; - // base hdmi - - assign hdmi_out_clk = 1'd0; - assign hdmi_vsync = 1'd0; - assign hdmi_hsync = 1'd0; - assign hdmi_data_e = 1'd0; - assign hdmi_data = 24'd0; - assign spdif = 1'd0; - // instantiations - ad_iobuf #(.DATA_WIDTH(1)) i_gpio_hdmi_iic_rstn ( - .dio_t (gpio_t[33]), - .dio_i (gpio_o[33]), - .dio_o (gpio_i[33]), - .dio_p (hdmi_iic_rstn)); - - ad_iobuf #(.DATA_WIDTH(1)) i_gpio_hdmi ( - .dio_t (gpio_t[32]), - .dio_i (gpio_o[32]), - .dio_o (gpio_i[32]), - .dio_p (hdmi_rx_int)); + ad_iobuf #(.DATA_WIDTH(2)) i_gpio ( + .dio_t (gpio_t[33:32]), + .dio_i (gpio_o[33:32]), + .dio_o (gpio_i[33:32]), + .dio_p ({hdmi_iic_rstn, hdmi_rx_int})); ad_iobuf #( .DATA_WIDTH(32) @@ -242,14 +213,10 @@ module system_top ( .gpio_i (gpio_i), .gpio_o (gpio_o), .gpio_t (gpio_t), - .hdmi_data (), - .hdmi_data_e (), - .hdmi_es_data (hdmi_tx_data), - .hdmi_hsync (), - .hdmi_out_clk (hdmi_tx_clk), .hdmi_rx_clk (hdmi_rx_clk), .hdmi_rx_data (hdmi_rx_data), - .hdmi_vsync (), + .hdmi_tx_clk (hdmi_tx_clk), + .hdmi_tx_data (hdmi_tx_data), .iic_imageon_scl_io (hdmi_iic_scl), .iic_imageon_sda_io (hdmi_iic_sda), .i2s_bclk (i2s_bclk), @@ -278,7 +245,8 @@ module system_top ( .ps_intr_10 (1'b0), .ps_intr_13 (1'b0), .otg_vbusoc (otg_vbusoc), - .spdif (hdmi_tx_spdif), + .spdif_rx (hdmi_rx_spdif), + .spdif_tx (hdmi_tx_spdif), .spi0_clk_i (1'b0), .spi0_clk_o (), .spi0_csn_0_o (),