8000 sidekiqz2: Initial commit · analogdevicesinc/hdl@8c96438 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Commit 8c96438

Browse files
acostinaCsomi
authored andcommitted
sidekiqz2: Initial commit
1 parent 9a44ab9 commit 8c96438

File tree

6 files changed

+335
-0
lines changed

6 files changed

+335
-0
lines changed

projects/Makefile

+3
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ all:
4141
-$(MAKE) -C m2k all
4242
-$(MAKE) -C motcon2_fmc all
4343
-$(MAKE) -C pluto all
44+
-$(MAKE) -C sidekiqz2 all
4445
-$(MAKE) -C usdrx1 all
4546
-$(MAKE) -C usrpe31x all
4647

@@ -80,6 +81,7 @@ clean:
8081
$(MAKE) -C m2k clean
8182
$(MAKE) -C motcon2_fmc clean
8283
$(MAKE) -C pluto clean
84+
$(MAKE) -C sidekiqz2 clean
8385
$(MAKE) -C usdrx1 clean
8486
$(MAKE) -C usrpe31x clean
8587

@@ -119,6 +121,7 @@ clean-all:
119121
$(MAKE) -C m2k clean-all
120122
$(MAKE) -C motcon2_fmc clean-all
121123
$(MAKE) -C pluto clean-all
124+
$(MAKE) -C sidekiqz2 clean-all
122125
$(MAKE) -C usdrx1 clean-all
123126
$(MAKE) -C usrpe31x clean-all
124127

projects/sidekiqz2/Makefile

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
####################################################################################
2+
####################################################################################
3+
## Copyright 2011(c) Analog Devices, Inc.
4+
## Auto-generated, do not modify!
5+
####################################################################################
6+
####################################################################################
7+
8+
M_DEPS += system_top.v
9+
M_DEPS += system_project.tcl
10+
M_DEPS += system_constr.xdc
11+
M_DEPS += system_bd.tcl
12+
M_DEPS += ../scripts/adi_project.tcl
13+
M_DEPS += ../scripts/adi_env.tcl
14+
M_DEPS += ../scripts/adi_board.tcl
15+
M_DEPS += ../pluto/system_bd.tcl
16+
M_DEPS += ../../library/xilinx/common/ad_iobuf.v
17+
M_DEPS += ../../library/axi_ad9361/axi_ad9361.xpr
18+
M_DEPS += ../../library/axi_dmac/axi_dmac.xpr
19+
M_DEPS += ../../library/util_fir_dec/util_fir_dec.xpr
20+
M_DEPS += ../../library/util_fir_int/util_fir_int.xpr
21+
22+
M_VIVADO := vivado -mode batch -source
23+
24+
M_FLIST := *.cache
25+
M_FLIST += *.data
26+
M_FLIST += *.xpr
27+
M_FLIST += *.log
28+
M_FLIST += *.jou
29+
M_FLIST += xgui
30+
M_FLIST += *.runs
31+
M_FLIST += *.srcs
32+
M_FLIST += *.sdk
33+
M_FLIST += *.hw
34+
M_FLIST += *.sim
35+
M_FLIST += .Xil
36+
M_FLIST += *.ip_user_files
37+
38+
39+
40+
.PHONY: all lib clean clean-all
41+
all: lib sidekiqz2.sdk/system_top.hdf
42+
43+
44+
clean:
45+
rm -rf $(M_FLIST)
46+
47+
48+
clean-all:clean
49+
$(MAKE) -C ../../library/axi_ad9361 clean
50+
$(MAKE) -C ../../library/axi_dmac clean
51+
$(MAKE) -C ../../library/util_fir_dec clean
52+
$(MAKE) -C ../../library/util_fir_int clean
53+
54+
55+
sidekiqz2.sdk/system_top.hdf: $(M_DEPS)
56+
-rm -rf $(M_FLIST)
57+
$(M_VIVADO) system_project.tcl >> sidekiqz2_vivado.log 2>&1
58+
59+
60+
lib:
61+
$(MAKE) -C ../../library/axi_ad9361
62+
$(MAKE) -C ../../library/axi_dmac
63+
$(MAKE) -C ../../library/util_fir_dec
64+
$(MAKE) -C ../../library/util_fir_int
65+
66+
####################################################################################
67+
####################################################################################

projects/sidekiqz2/system_bd.tcl

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# create board design
2+
3+
source ../pluto/system_bd.tcl
4+
5+
ad_ip_parameter sys_ps7 CONFIG.PCW_GPIO_EMIO_GPIO_IO 19
6+
7+
set_property LEFT 18 [get_bd_ports /gpio_i]
8+
set_property LEFT 18 [get_bd_ports /gpio_o]
9+
set_property LEFT 18 [get_bd_ports /gpio_t]
10+

projects/sidekiqz2/system_constr.xdc

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# constraints
2+
# ad9361 (SWAP == 0x1)
3+
4+
set_property -dict {PACKAGE_PIN N11 IOSTANDARD LVCMOS18 } [get_ports rx_clk_in]
5+
set_property -dict {PACKAGE_PIN N13 IOSTANDARD LVCMOS18 } [get_ports rx_frame_in]
6+
set_property -dict {PACKAGE_PIN P15 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[0]]
7+
set_property -dict {PACKAGE_PIN R15 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[1]]
8+
set_property -dict {PACKAGE_PIN P14 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[2]]
9+
set_property -dict {PACKAGE_PIN R13 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[3]]
10+
set_property -dict {PACKAGE_PIN P13 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[4]]
11+
set_property -dict {PACKAGE_PIN R12 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[5]]
12+
set_property -dict {PACKAGE_PIN P11 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[6]]
13+
set_property -dict {PACKAGE_PIN R11 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[7]]
14+
set_property -dict {PACKAGE_PIN P10 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[8]]
15+
set_property -dict {PACKAGE_PIN R10 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[9]]
16+
set_property -dict {PACKAGE_PIN N9 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[10]]
17+
set_property -dict {PACKAGE_PIN P9 IOSTANDARD LVCMOS18 } [get_ports rx_data_in[11]]
18+
19+
set_property -dict {PACKAGE_PIN N12 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_clk_out]
20+
set_property -dict {PACKAGE_PIN N14 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_frame_out]
21+
set_property -dict {PACKAGE_PIN L14 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[0]]
22+
set_property -dict {PACKAGE_PIN L15 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[1]]
23+
set_property -dict {PACKAGE_PIN L13 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[2]]
24+
set_property -dict {PACKAGE_PIN M15 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[3]]
25+
set_property -dict {PACKAGE_PIN K13 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[4]]
26+
set_property -dict {PACKAGE_PIN M14 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[5]]
27+
set_property -dict {PACKAGE_PIN K12 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[6]]
28+
set_property -dict {PACKAGE_PIN M12 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[7]]
29+
set_property -dict {PACKAGE_PIN K11 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[8]]
30+
set_property -dict {PACKAGE_PIN M11 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[9]]
31+
set_property -dict {PACKAGE_PIN M10 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[10]]
32+
set_property -dict {PACKAGE_PIN M9 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports tx_data_out[11]]
33+
34+
set_property -dict {PACKAGE_PIN G14 IOSTANDARD LVCMOS18} [get_ports gpio_status[0]]
35+
set_property -dict {PACKAGE_PIN G11 IOSTANDARD LVCMOS18} [get_ports gpio_status[1]]
36+
set_property -dict {PACKAGE_PIN G12 IOSTANDARD LVCMOS18} [get_ports gpio_status[2]]
37+
set_property -dict {PACKAGE_PIN H14 IOSTANDARD LVCMOS18} [get_ports gpio_status[3]]
38+
set_property -dict {PACKAGE_PIN H13 IOSTANDARD LVCMOS18} [get_ports gpio_status[4]]
39+
set_property -dict {PACKAGE_PIN H12 IOSTANDARD LVCMOS18} [get_ports gpio_status[5]]
40+
set_property -dict {PACKAGE_PIN H11 IOSTANDARD LVCMOS18} [get_ports gpio_status[6]]
41+
set_property -dict {PACKAGE_PIN J11 IOSTANDARD LVCMOS18} [get_ports gpio_status[7]]
42+
43+
set_property -dict {PACKAGE_PIN E11 IOSTANDARD LVCMOS18} [get_ports gpio_ctl[0]]
44+
set_property -dict {PACKAGE_PIN E12 IOSTANDARD LVCMOS18} [get_ports gpio_ctl[1]]
45+
set_property -dict {PACKAGE_PIN E13 IOSTANDARD LVCMOS18} [get_ports gpio_ctl[2]]
46+
set_property -dict {PACKAGE_PIN F12 IOSTANDARD LVCMOS18} [get_ports gpio_ctl[3]]
47+
48+
set_property -dict {PACKAGE_PIN J13 IOSTANDARD LVCMOS18} [get_ports gpio_en_agc]
49+
50+
set_property -dict {PACKAGE_PIN J14 IOSTANDARD LVCMOS18} [get_ports enable]
51+
set_property -dict {PACKAGE_PIN N8 IOSTANDARD LVCMOS18} [get_ports txnrx]
52+
53+
set_property -dict {PACKAGE_PIN J15 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports iic_scl]
54+
set_property -dict {PACKAGE_PIN K15 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports iic_sda]
55+
56+
set_property -dict {PACKAGE_PIN P8 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports spi_csn]
57+
set_property -dict {PACKAGE_PIN R7 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports spi_clk]
58+
set_property -dict {PACKAGE_PIN N7 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports spi_mosi]
59+
set_property -dict {PACKAGE_PIN R8 IOSTANDARD LVCMOS18 OFFCHIP_TERM NONE} [get_ports spi_miso]
60+
61+
set_property -dict {PACKAGE_PIN L12 IOSTANDARD LVCMOS18} [get_ports clk_out]
62+
63+
create_clock -name rx_clk -period 16.27 [get_ports rx_clk_in]
64+
65+
set_property -dict {PACKAGE_PIN G15 IOSTANDARD LVCMOS18} [get_ports pl_gpio[1]]
66+
set_property -dict {PACKAGE_PIN F15 IOSTANDARD LVCMOS18} [get_ports pl_gpio[2]]
67+
set_property -dict {PACKAGE_PIN F14 IOSTANDARD LVCMOS18} [get_ports pl_gpio[3]]
68+
set_property -dict {PACKAGE_PIN F13 IOSTANDARD LVCMOS18} [get_ports pl_gpio[4]]
69+
70+
set_false_path -from [get_pins {i_system_wrapper/system_i/axi_ad9361/inst/i_rx/i_up_adc_common/up_adc_gpio_out_int_reg[0]*/C}]
71+
set_false_path -from [get_pins {i_system_wrapper/system_i/axi_ad9361/inst/i_tx/i_up_dac_common/up_dac_gpio_out_int_reg[0]*/C}]
72+

projects/sidekiqz2/system_project.tcl

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
2+
source ../scripts/adi_env.tcl
3+
source $ad_hdl_dir/projects/scripts/adi_project.tcl
4+
source $ad_hdl_dir/projects/scripts/adi_board.tcl
5+
6+
set p_device "xc7z010clg225-1"
7+
adi_project_xilinx sidekiqz2
8+
9+
adi_project_files sidekiqz2 [list \
10+
"system_top.v" \
11+
"system_constr.xdc" \
12+
"$ad_hdl_dir/library/xilinx/common/ad_iobuf.v"]
13+
14+
adi_project_run sidekiqz2
15+

projects/sidekiqz2/system_top.v

+168
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
// ***************************************************************************
2+
// ***************************************************************************
3+
// Copyright 2014 - 2018 (c) Analog Devices, Inc. All rights reserved.
4+
//
5+
// In this HDL repository, there are many different and unique modules, consisting
6+
// of various HDL (Verilog or VHDL) components. The individual modules are
7+
// developed independently, and may be accompanied by separate and unique license
8+
// terms.
9+
//
10+
// The user should read each of these license terms, and understand the
11+
// freedoms and responsibilities that he or she has by using this source/core.
12+
//
13+
// This core is distributed in the hope that it will be useful, but WITHOUT ANY
14+
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
15+
// A PARTICULAR PURPOSE.
16+
//
17+
// Redistribution and use of source or resulting binaries, with or without modification
18+
// of this file, are permitted under one of the following two license terms:
19+
//
20+
// 1. The GNU General Public License version 2 as published by the
21+
// Free Software Foundation, which can be found in the top level directory
22+
// of this repository (LICENSE_GPL2), and also online at:
23+
// <https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>
24+
//
25+
// OR
26+
//
27+
// 2. An ADI specific BSD license, which can be found in the top level directory
28+
// of this repository (LICENSE_ADIBSD), and also on-line at:
29+
// https://github.com/analogdevicesinc/hdl/blob/master/LICENSE_ADIBSD
30+
// This will allow to generate bit files and not release the source code,
31+
// as long as it attaches to an ADI device.
32+
//
33+
// ***************************************************************************
34+
// ***************************************************************************
35+
36+
`timescale 1ns/100ps
37+
38+
module system_top (
39+
40+
inout [14:0] ddr_addr,
41+
inout [ 2:0] ddr_ba,
42+
inout ddr_cas_n,
43+
inout ddr_ck_n,
44+
inout ddr_ck_p,
45+
inout ddr_cke,
46+
inout ddr_cs_n,
47+
inout [ 1:0] ddr_dm,
48+
inout [15:0] ddr_dq,
49+
inout [ 1:0] ddr_dqs_n,
50+
inout [ 1:0] ddr_dqs_p,
51+
inout ddr_odt,
52+
inout ddr_ras_n,
53+
inout ddr_reset_n,
54+
inout ddr_we_n,
55+
56+
inout fixed_io_ddr_vrn,
57+
inout fixed_io_ddr_vrp,
58+
inout [31:0] fixed_io_mio,
59+
inout fixed_io_ps_clk,
60+
inout fixed_io_ps_porb,
61+
inout fixed_io_ps_srstb,
62+
63+
inout iic_scl,
64+
inout iic_sda,
65+
66+
input rx_clk_in,
67+
input rx_frame_in,
68+
input [11:0] rx_data_in,
69+
output tx_clk_out,
70+
output tx_frame_out,
71+
output [11:0] tx_data_out,
72+
73+
output enable,
74+
output txnrx,
75+
input clk_out,
76+
77+
inout gpio_en_agc,
78+
inout [ 3:0] gpio_ctl,
79+
inout [ 7:0] gpio_status,
80+
81+
inout [ 4:1] pl_gpio,
82+
83+
output spi_csn,
84+
output spi_clk,
85+
output spi_mosi,
86+
input spi_miso);
87+
88+
// internal signals
89+
90+
wire [18:0] gpio_i;
91+
wire [18:0] gpio_o;
92+
wire [18:0] gpio_t;
93+
94+
// instantiations
95+
96+
ad_iobuf #(.DATA_WIDTH(17)) i_iobuf (
97+
.dio_t (gpio_t[16:0]),
98+
.dio_i (gpio_o[16:0]),
99+
.dio_o (gpio_i[16:0]),
100+
.dio_p ({ pl_gpio, // 16:13
101+
gpio_en_agc, // 12:12
102+
gpio_ctl, // 11: 8
103+
gpio_status})); // 7: 0
104+
105+
system_wrapper i_system_wrapper (
106+
.ddr_addr (ddr_addr),
107+
.ddr_ba (ddr_ba),
108+
.ddr_cas_n (ddr_cas_n),
109+
.ddr_ck_n (ddr_ck_n),
110+
.ddr_ck_p (ddr_ck_p),
111+
.ddr_cke (ddr_cke),
112+
.ddr_cs_n (ddr_cs_n),
113+
.ddr_dm (ddr_dm),
114+
.ddr_dq (ddr_dq),
115+
.ddr_dqs_n (ddr_dqs_n),
116+
.ddr_dqs_p (ddr_dqs_p),
117+
.ddr_odt (ddr_odt),
118+
.ddr_ras_n (ddr_ras_n),
119+
.ddr_reset_n (ddr_reset_n),
120+
.ddr_we_n (ddr_we_n),
121+
.enable (enable),
122+
.fixed_io_ddr_vrn (fixed_io_ddr_vrn),
123+
.fixed_io_ddr_vrp (fixed_io_ddr_vrp),
124+
.fixed_io_mio (fixed_io_mio),
125+
.fixed_io_ps_clk (fixed_io_ps_clk),
126+
.fixed_io_ps_porb (fixed_io_ps_porb),
127+
.fixed_io_ps_srstb (fixed_io_ps_srstb),
128+
.gpio_i (gpio_i),
129+
.gpio_o (gpio_o),
130+
.gpio_t (gpio_t),
131+
.iic_main_scl_io (iic_scl),
132+
.iic_main_sda_io (iic_sda),
133+
.ps_intr_00 (1'b0),
134+
.ps_intr_01 (1'b0),
135+
.ps_intr_02 (1'b0),
136+
.ps_intr_03 (1'b0),
137+
.ps_intr_04 (1'b0),
138+
.ps_intr_05 (1'b0),
139+
.ps_intr_06 (1'b0),
140+
.ps_intr_07 (1'b0),
141+
.ps_intr_08 (1'b0),
142+
.ps_intr_09 (1'b0),
143+
.ps_intr_10 (1'b0),
144+
.ps_intr_11 (1'b0),
145+
.ps_intr_14 (1'b0),
146+
.rx_clk_in (rx_clk_in),
147+
.rx_data_in (rx_data_in),
148+
.rx_frame_in (rx_frame_in),
149+
.spi0_clk_i (1'b0),
150+
.spi0_clk_o (spi_clk),
151+
.spi0_csn_0_o (spi_csn),
152+
.spi0_csn_1_o (),
153+
.spi0_csn_2_o (),
154+
.spi0_csn_i (1'b1),
155+
.spi0_sdi_i (spi_miso),
156+
.spi0_sdo_i (1'b0),
157+
.spi0_sdo_o (spi_mosi),
158+
.tx_clk_out (tx_clk_out),
159+
.tx_data_out (tx_data_out),
160+
.tx_frame_out (tx_frame_out),
161+
.txnrx (txnrx),
162+
.up_enable (gpio_o[17]),
163+
.up_txnrx (gpio_o[18]));
164+
165+
endmodule
166+
167+
// ***************************************************************************
168+
// ***************************************************************************

0 commit comments

Comments
 (0)
0