adrv9361-ccbox/ccfmc- adl5904/gpio updates

main
Rejeesh Kutty 2017-08-25 11:23:56 -04:00
parent 4050f5ae58
commit fd8b524953
5 changed files with 106 additions and 46 deletions

View File

@ -7,6 +7,7 @@ set p_device "xc7z035ifbg676-2L"
adi_project_xilinx adrv9361z7035_ccbox_lvds
adi_project_files adrv9361z7035_ccbox_lvds [list \
"$ad_hdl_dir/library/xilinx/common/ad_iobuf.v" \
"$ad_hdl_dir/library/common/ad_adl5904_rst.v" \
"../common/adrv9361z7035_constr.xdc" \
"../common/adrv9361z7035_constr_lvds.xdc" \
"../common/ccbox_constr.xdc" \

View File

@ -129,11 +129,11 @@ module system_top (
input clkout_in,
inout gpio_rf0,
inout gpio_rf1,
inout gpio_rf2,
inout gpio_rf3,
inout gpio_rf4,
inout gpio_rfpwr_enable,
output gpio_rf1,
output gpio_rf2,
input gpio_rf3,
input gpio_rf4,
inout gpio_rf5,
inout gpio_clksel,
inout gpio_resetb,
inout gpio_sync,
@ -216,43 +216,79 @@ module system_top (
assign switch_led_b = gpio_o[0];
assign gpio_i[3:0] = gpio_o[3:0];
// ad9361 gpio - tact-scroll-wheel
// unused gpio - 63:30
assign gpio_i[63] = gpio_o[63];
assign gpio_i[62] = gpio_o[62];
assign gpio_i[61] = gpio_o[61];
assign gpio_i[60] = gpio_o[60];
ad_iobuf #(.DATA_WIDTH(7)) i_iobuf_tsw (
.dio_t ({gpio_t[59:57], gpio_t[50:47]}),
.dio_i ({gpio_o[59:57], gpio_o[50:47]}),
.dio_o ({gpio_i[59:57], gpio_i[50:47]}),
.dio_p ({ tsw_a, // 59
tsw_b, // 58
tsw_s1, // 57
tsw_s2, // 50
tsw_s3, // 49
tsw_s4, // 48
tsw_s5})); // 47
// tsw-part-2 gpio - 59:57
// ad9361 gpio - 63-32
ad_iobuf #(.DATA_WIDTH(3)) i_iobuf_tsw_2 (
.dio_t (gpio_t[59:57]),
.dio_i (gpio_o[59:57]),
.dio_o (gpio_i[59:57]),
.dio_p ({ tsw_a, // 59
tsw_b, // 58
tsw_s1})); // 57
ad_iobuf #(.DATA_WIDTH(22)) i_iobuf (
.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
// rf gpio - 56
ad_iobuf #(.DATA_WIDTH(1)) i_iobuf_rf_2 (
.dio_t (gpio_t[56]),
.dio_i (gpio_o[56]),
.dio_o (gpio_i[56]),
.dio_p (gpio_rf0)); // 56:56
// unused gpio - 55:53
assign gpio_i[55:53] = gpio_o[55:53];
// rf & clock-select gpio - 52:51
ad_iobuf #(.DATA_WIDTH(2)) i_iobuf_rf_1 (
.dio_t (gpio_t[52:51]),
.dio_i (gpio_o[52:51]),
.dio_o (gpio_i[52:51]),
.dio_p ({ gpio_rf5, // 52:52
gpio_clksel})); // 51:51
// tact-scroll-wheel gpio - 50:47
ad_iobuf #(.DATA_WIDTH(4)) i_iobuf_tsw_1 (
.dio_t (gpio_t[50:47]),
.dio_i (gpio_o[50:47]),
.dio_o (gpio_i[50:47]),
.dio_p ({ tsw_s2, // 50
tsw_s3, // 49
tsw_s4, // 48
tsw_s5})); // 47
// ad9361 gpio - 46:32
ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_ad9361 (
.dio_t (gpio_t[46:32]),
.dio_i (gpio_o[46:32]),
.dio_o (gpio_i[46:32]),
.dio_p ({ gpio_resetb, // 46:46
gpio_sync, // 45:45
gpio_en_agc, // 44:44
gpio_ctl, // 43:40
gpio_status})); // 39:32
// ad9361 input protection
ad_adl5904_rst i_adl5904_rst_a (
.sys_cpu_clk (sys_cpu_clk),
.rf_peak_det_n (gpio_rf4),
.rf_peak_rst (gpio_rf2));
ad_adl5904_rst i_adl5904_rst_b (
.sys_cpu_clk (sys_cpu_clk),
.rf_peak_det_n (gpio_rf3),
.rf_peak_rst (gpio_rf1));
// instantiations
system_wrapper i_system_wrapper (

View File

@ -142,7 +142,7 @@ module system_top (
output gpio_rf2,
input gpio_rf3,
input gpio_rf4,
inout gpio_rfpwr_enable,
inout gpio_rf5,
inout gpio_clksel,
inout gpio_resetb,
inout gpio_sync,
@ -235,23 +235,46 @@ module system_top (
.dio_o (gpio_i[20:0]),
.dio_p (gpio_bd));
// ad9361 gpio - 63-32
// unused gpio - 63-61
assign gpio_i[63:62] = gpio_o[63:62];
assign gpio_i[50:47] = gpio_o[50:47];
assign gpio_i[63:61] = gpio_o[63:61];
ad_iobuf #(.DATA_WIDTH(22)) i_iobuf (
.dio_t ({gpio_t[60:56], gpio_t[52:51], gpio_t[46:32]}),
.dio_i ({gpio_o[60:56], gpio_o[52:51], gpio_o[46:32]}),
.dio_o ({gpio_i[60:56], gpio_i[52:51], gpio_i[46:32]}),
// rf & ad9517 gpio - 60:56
ad_iobuf #(.DATA_WIDTH(5)) i_iobuf (
.dio_t (gpio_t[60:56]),
.dio_i (gpio_o[60:56]),
.dio_o (gpio_i[60:56]),
.dio_p ({ ad9517_pdn, // 60:60
ad9517_ref_sel, // 59:59
ad9517_ld, // 58:58
ad9517_status, // 57:57
gpio_rf0, // 56:56
gpio_rfpwr_enable, // 52:52
gpio_clksel, // 51:51
gpio_resetb, // 46:46
gpio_rf0})); // 56:56
// unused gpio - 55:53
assign gpio_i[55:53] = gpio_o[55:53];
// rf & clock-select gpio - 52:51
ad_iobuf #(.DATA_WIDTH(2)) i_iobuf_rf_1 (
.dio_t (gpio_t[52:51]),
.dio_i (gpio_o[52:51]),
.dio_o (gpio_i[52:51]),
.dio_p ({ gpio_rf5, // 52:52
gpio_clksel})); // 51:51
// unused gpio - 50:47
assign gpio_i[50:47] = gpio_o[50:47];
// ad9361 gpio - 46:32
ad_iobuf #(.DATA_WIDTH(15)) i_iobuf_ad9361 (
.dio_t (gpio_t[46:32]),
.dio_i (gpio_o[46:32]),
.dio_o (gpio_i[46:32]),
.dio_p ({ gpio_resetb, // 46:46
gpio_sync, // 45:45
gpio_en_agc, // 44:44
gpio_ctl, // 43:40

View File

@ -2,12 +2,12 @@
## constraints (ccbox.a)
## rf-gpio
set_property -dict {PACKAGE_PIN F5 IOSTANDARD LVCMOS18} [get_ports gpio_rfpwr_enable] ; ## U1,F5,IO_L07_34_JX4_P,JX4,35,RF_GPIO4_BANK34
set_property -dict {PACKAGE_PIN G5 IOSTANDARD LVCMOS18} [get_ports gpio_rf0] ; ## U1,G5,IO_L02_34_JX4_N,JX4,22,RF_GPIO0_BANK34
set_property -dict {PACKAGE_PIN H9 IOSTANDARD LVCMOS18} [get_ports gpio_rf1] ; ## U1,H9,IO_L03_34_JX4_P,JX4,25,RF_GPIO1_BANK34
set_property -dict {PACKAGE_PIN J9 IOSTANDARD LVCMOS18} [get_ports gpio_rf2] ; ## U1,J9,IO_L05_34_JX4_N,JX4,33,RF_GPIO2_BANK34
set_property -dict {PACKAGE_PIN H8 IOSTANDARD LVCMOS18} [get_ports gpio_rf3] ; ## U1,H8,IO_L06_34_JX4_N,JX4,34,RF_GPIO3_BANK34
set_property -dict {PACKAGE_PIN D9 IOSTANDARD LVCMOS18} [get_ports gpio_rf4] ; ## U1,D9,IO_L08_34_JX4_P,JX4,36,RF_GPIO5_BANK34
set_property -dict {PACKAGE_PIN F5 IOSTANDARD LVCMOS18} [get_ports gpio_rf4] ; ## U1,F5,IO_L07_34_JX4_P,JX4,35,RF_GPIO4_BANK34
set_property -dict {PACKAGE_PIN D9 IOSTANDARD LVCMOS18} [get_ports gpio_rf5] ; ## U1,D9,IO_L08_34_JX4_P,JX4,36,RF_GPIO5_BANK34
## push-button

View File

@ -1,12 +1,12 @@
# rf-board
set_property -dict {PACKAGE_PIN K10 IOSTANDARD LVCMOS18} [get_ports gpio_rfpwr_enable] ; ## U1,K10,IO_25_34_JX4,JX4,64,RF_GPIO4_BANK34
set_property -dict {PACKAGE_PIN AA20 IOSTANDARD LVCMOS25} [get_ports gpio_rf0] ; ## U1,AA20,IO_L20_13_JX2_P,JX2,62,RF_GPIO0_BANK13
set_property -dict {PACKAGE_PIN AB20 IOSTANDARD LVCMOS25} [get_ports gpio_rf1] ; ## U1,AB20,IO_L20_13_JX2_N,JX2,64,RF_GPIO1_BANK13
set_property -dict {PACKAGE_PIN AA14 IOSTANDARD LVCMOS25} [get_ports gpio_rf2] ; ## U1,AA14,IO_L22_12_JX2_N,JX2,96,RF_GPIO2_BANK12
set_property -dict {PACKAGE_PIN J9 IOSTANDARD LVCMOS18} [get_ports gpio_rf3] ; ## U1,J9,IO_L05_34_JX4_N,JX4,33,RF_GPIO3_BANK34
set_property -dict {PACKAGE_PIN A9 IOSTANDARD LVCMOS18} [get_ports gpio_rf4] ; ## U1,A9,IO_L17_34_JX4_P,JX4,67,RF_GPIO5_BANK34
set_property -dict {PACKAGE_PIN K10 IOSTANDARD LVCMOS18} [get_ports gpio_rf4] ; ## U1,K10,IO_25_34_JX4,JX4,64,RF_GPIO4_BANK34
set_property -dict {PACKAGE_PIN A9 IOSTANDARD LVCMOS18} [get_ports gpio_rf5] ; ## U1,A9,IO_L17_34_JX4_P,JX4,67,RF_GPIO5_BANK34
set_property -dict {PACKAGE_PIN W19 IOSTANDARD LVCMOS25} [get_ports tdd_sync] ; ## U1,W19,IO_L23_13_JX2_N,JX2,75,PMOD0_D5,R105,1
# ethernet-1 (U1,B20,PS_MIO51_501_JX4,JX4,100,ETH1_RESETN)