# motor control # port definition # position detection interface create_bd_port -dir I -from 2 -to 0 position_m1_i create_bd_port -dir I -from 2 -to 0 position_m2_i # current monitor interface # clock create_bd_port -dir O adc_clk_o # data motor 1 create_bd_port -dir I adc_m1_ia_dat_i create_bd_port -dir I adc_m1_ib_dat_i create_bd_port -dir I adc_m1_vbus_dat_i # data motor 2 create_bd_port -dir I adc_m2_ia_dat_i create_bd_port -dir I adc_m2_ib_dat_i create_bd_port -dir I adc_m2_vbus_dat_i # motor control interface create_bd_port -dir o -from 3 -to 0 gpo_o # motor 1 create_bd_port -dir O fmc_m1_en_o create_bd_port -dir O pwm_m1_al_o create_bd_port -dir O pwm_m1_ah_o create_bd_port -dir O pwm_m1_cl_o create_bd_port -dir O pwm_m1_ch_o create_bd_port -dir O pwm_m1_bl_o create_bd_port -dir O pwm_m1_bh_o # motor 2 create_bd_port -dir O fmc_m2_en_o create_bd_port -dir O pwm_m2_al_o create_bd_port -dir O pwm_m2_ah_o create_bd_port -dir O pwm_m2_cl_o create_bd_port -dir O pwm_m2_ch_o create_bd_port -dir O pwm_m2_bl_o create_bd_port -dir O pwm_m2_bh_o # Ethernet # phy 1 create_bd_intf_port -mode Master -vlnv xilinx.com:interface:rgmii_rtl:1.0 eth1_rgmii # phy 2 create_bd_intf_port -mode Master -vlnv xilinx.com:interface:rgmii_rtl:1.0 eth2_rgmii #common mdio interface create_bd_port -dir O eth_mdio_mdc create_bd_port -dir O eth_mdio_o create_bd_port -dir O eth_mdio_t create_bd_port -dir I eth_mdio_i #common reset create_bd_port -dir O eth_phy_rst_n # reference clock for the delay interface used for the gmii to rgmii conversion create_bd_port -dir o -type clk refclk create_bd_port -dir o -from 0 -to 0 -type rst refclk_rst # iic create_bd_intf_port -mode Master -vlnv xilinx.com:interface:iic_rtl:1.0 iic_ee2 # xadc interface create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_analog_io_rtl:1.0 vaux0 create_bd_intf_port -mode Slave -vlnv xilinx.com:interface:diff_analog_io_rtl:1.0 vaux8 create_bd_port -dir O -from 4 -to 0 muxaddr_out # core instantiation and configuration # additions to default configuration # Enable additional peripherals from the PS7 block set_property -dict [list CONFIG.PCW_USE_S_AXI_HP1 {1} ] $sys_ps7 set_property -dict [list CONFIG.PCW_ENET0_ENET0_IO {EMIO} ] $sys_ps7 set_property -dict [list CONFIG.PCW_ENET1_PERIPHERAL_ENABLE {1} ] $sys_ps7 # Add additional clocks to be used by gmii to rgmii modules and current monitoring modules set_property -dict [ list CONFIG.CLKOUT2_USED {true} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT3_USED {true} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT4_USED {true} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT5_USED {true} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT2_REQUESTED_OUT_FREQ {125} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT3_REQUESTED_OUT_FREQ {25} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT4_REQUESTED_OUT_FREQ {20} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT5_REQUESTED_OUT_FREQ {20} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT2_DRIVES {No_buffer} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT3_DRIVES {No_buffer} ] $sys_audio_clkgen set_property -dict [ list CONFIG.CLKOUT4_DRIVES {No_buffer} ] $sys_audio_clkgen # speed detectors # speed detector core motor 1 set speed_detector_m1 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_speed:1.0 speed_detector_m1 ] # dma motor 1 set speed_detector_m1_dma [create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 speed_detector_m1_dma] set_property -dict [list CONFIG.C_DMA_TYPE_SRC {2}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_DMA_TYPE_DEST {0}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_DEST {64}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {32}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_REQ_SRC {0}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_SRC_DEST {0}] $speed_detector_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_DEST_REQ {0}] $speed_detector_m1_dma # speed detector core motor 2 set speed_detector_m2 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_speed:1.0 speed_detector_m2 ] # dma motor 2 set speed_detector_m2_dma [create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 speed_detector_m2_dma] set_property -dict [list CONFIG.C_DMA_TYPE_SRC {2}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_DMA_TYPE_DEST {0}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_DEST {64}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {32}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_REQ_SRC {0}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_SRC_DEST {0}] $speed_detector_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_DEST_REQ {0}] $speed_detector_m2_dma # current monitor peripherals # current monitor core motor 1 set current_monitor_m1 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_current_monitor:1.0 current_monitor_m1 ] # dma motor 1 set current_monitor_m1_dma [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 current_monitor_m1_dma ] set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {64}] $current_monitor_m1_dma set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $current_monitor_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_DEST_REQ {0}] $current_monitor_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_REQ_SRC {0}] $current_monitor_m1_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_SRC_DEST {0}] $current_monitor_m1_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $current_monitor_m1_dma # data packer motor 1 # set current_monitor_m1_apack [create_bd_cell -type ip -vlnv analog.com:user:util_adc_pack:1.0 current_monitor_m1_apack] set_property -dict [list CONFIG.CHANNELS {4}] $current_monitor_m1_apack # set current_monitor_m1_pack [ create_bd_cell -type ip -vlnv analog.com:user:util_cpack:1.0 current_monitor_m1_pack ] # set_property -dict [ list CONFIG.CH_CNT {4} ] $current_monitor_m1_pack # set_property -dict [ list CONFIG.CH_DW {16} ] $current_monitor_m1_pack # current monitor core motor 2 set current_monitor_m2 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_current_monitor:1.0 current_monitor_m2 ] # dma motor 2 set current_monitor_m2_dma [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 current_monitor_m2_dma ] set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {64}] $current_monitor_m2_dma set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $current_monitor_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_DEST_REQ {0}] $current_monitor_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_REQ_SRC {0}] $current_monitor_m2_dma set_property -dict [list CONFIG.C_CLKS_ASYNC_SRC_DEST {0}] $current_monitor_m2_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $current_monitor_m2_dma # data packer motor 2 set current_monitor_m2_apack [create_bd_cell -type ip -vlnv analog.com:user:util_adc_pack:1.0 current_monitor_m2_apack] set_property -dict [list CONFIG.CHANNELS {4}] $current_monitor_m2_apack #set current_monitor_m2_pack [ create_bd_cell -type ip -vlnv analog.com:user:util_cpack:1.0 current_monitor_m2_pack ] #set_property -dict [ list CONFIG.CH_CNT {4} ] $current_monitor_m2_pack #set_property -dict [ list CONFIG.CH_DW {16} ] $current_monitor_m2_pack #controller # controller core motor 1 set controller_m1 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_controller:1.0 controller_m1 ] # dma motor 1 set controller_m1_dma [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 controller_m1_dma ] set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $controller_m1_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $controller_m1_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {256}] $controller_m1_dma # data packer motor 1 set controller_m1_apack [create_bd_cell -type ip -vlnv analog.com:user:util_adc_pack:1.0 controller_m1_apack] set_property -dict [list CONFIG.CHANNELS {8}] $controller_m1_apack set_property -dict [list CONFIG.DATA_WIDTH {32}] $controller_m1_apack #set controller_m1_pack [ create_bd_cell -type ip -vlnv analog.com:user:util_cpack:1.0 controller_m1_pack ] #set_property -dict [ list CONFIG.CH_CNT {8} ] $controller_m1_pack #set_property -dict [ list CONFIG.CH_DW {32} ] $controller_m1_pack # controller core motor 2 set controller_m2 [ create_bd_cell -type ip -vlnv analog.com:user:axi_mc_controller:1.0 controller_m2 ] # dma motor 2 set controller_m2_dma [ create_bd_cell -type ip -vlnv analog.com:user:axi_dmac:1.0 controller_m2_dma ] set_property -dict [list CONFIG.C_2D_TRANSFER {0}] $controller_m2_dma set_property -dict [list CONFIG.C_CYCLIC {0}] $controller_m2_dma set_property -dict [list CONFIG.C_DMA_DATA_WIDTH_SRC {256}] $controller_m2_dma # data packer motor 2 #set controller_m2_pack [ create_bd_cell -type ip -vlnv analog.com:user:util_cpack:1.0 controller_m2_pack ] #set_property -dict [ list CONFIG.CH_CNT {8} ] $controller_m2_pack set controller_m2_apack [create_bd_cell -type ip -vlnv analog.com:user:util_adc_pack:1.0 controller_m2_apack] set_property -dict [list CONFIG.CHANNELS {8}] $controller_m2_apack set_property -dict [list CONFIG.DATA_WIDTH {32}] $controller_m2_apack #ethernet gmii to rgmii converters # phy 1 set gmii_to_rgmii_eth1 [ create_bd_cell -type ip -vlnv analog.com:user:util_gmii_to_rgmii:1.0 gmii_to_rgmii_eth1 ] set_property -dict [list CONFIG.PHY_AD {"00000"}] [get_bd_cells gmii_to_rgmii_eth1] # phy 2 set gmii_to_rgmii_eth2 [ create_bd_cell -type ip -vlnv analog.com:user:util_gmii_to_rgmii:1.0 gmii_to_rgmii_eth2 ] set_property -dict [list CONFIG.PHY_AD {"00001"}] [get_bd_cells gmii_to_rgmii_eth2] # iic set iic_ee2 [ create_bd_cell -type ip -vlnv xilinx.com:ip:axi_iic:2.0 iic_ee2 ] # xadc set xadc_core [ create_bd_cell -type ip -vlnv xilinx.com:ip:xadc_wiz:3.0 xadc_core ] set_property -dict [ list CONFIG.XADC_STARUP_SELECTION {simultaneous_sampling} ] $xadc_core set_property -dict [ list CONFIG.ENABLE_EXTERNAL_MUX {false} ] $xadc_core set_property -dict [ list CONFIG.CHANNEL_ENABLE_VAUXP0_VAUXN0 {true} ] $xadc_core set_property -dict [ list CONFIG.OT_ALARM {false} ] $xadc_core set_property -dict [ list CONFIG.USER_TEMP_ALARM {false} ] $xadc_core set_property -dict [ list CONFIG.VCCAUX_ALARM {false} ] $xadc_core set_property -dict [ list CONFIG.VCCINT_ALARM {false} ] $xadc_core # connections # speed detector # motor 1 ad_connect sys_cpu_clk speed_detector_m1/ref_clk ad_connect sys_cpu_clk speed_detector_m1_dma/fifo_wr_clk ad_connect position_m1_i speed_detector_m1/position_i ad_connect speed_detector_m1/new_speed_o speed_detector_m1_dma/fifo_wr_en ad_connect speed_detector_m1/speed_o speed_detector_m1_dma/fifo_wr_din # motor 2 ad_connect sys_cpu_clk speed_detector_m2/ref_clk ad_connect sys_cpu_clk speed_detector_m2_dma/fifo_wr_clk ad_connect position_m2_i speed_detector_m2/position_i ad_connect speed_detector_m2/new_speed_o speed_detector_m2_dma/fifo_wr_en ad_connect speed_detector_m2/speed_o speed_detector_m2_dma/fifo_wr_din # current monitor ad_connect adc_clk_o current_monitor_m1/adc_clk_o # motor 1 ad_connect sys_cpu_clk current_monitor_m1/ref_clk ad_connect sys_cpu_clk current_monitor_m1_dma/fifo_wr_clk ad_connect current_monitor_m1/adc_clk_i sys_audio_clkgen/clk_out5 ad_connect adc_m1_ia_dat_i current_monitor_m1/adc_ia_dat_i ad_connect adc_m1_ib_dat_i current_monitor_m1/adc_ib_dat_i ad_connect adc_m1_vbus_dat_i current_monitor_m1/adc_vbus_dat_i ad_connect sys_cpu_clk current_monitor_m1_apack/clk ad_connect current_monitor_m1/adc_enable_ia current_monitor_m1_apack/chan_enable_0 ad_connect current_monitor_m1/adc_enable_ib current_monitor_m1_apack/chan_enable_1 ad_connect current_monitor_m1/adc_enable_vbus current_monitor_m1_apack/chan_enable_2 ad_connect current_monitor_m1/adc_enable_stub current_monitor_m1_apack/chan_enable_3 ad_connect current_monitor_m1_apack/chan_valid_0 current_monitor_m1/i_ready_o ad_connect current_monitor_m1_apack/chan_valid_1 current_monitor_m1/i_ready_o ad_connect current_monitor_m1_apack/chan_valid_2 current_monitor_m1/i_ready_o ad_connect current_monitor_m1_apack/chan_valid_3 current_monitor_m1/i_ready_o ad_connect current_monitor_m1/ia_o current_monitor_m1_apack/chan_data_0 ad_connect current_monitor_m1/ib_o current_monitor_m1_apack/chan_data_1 ad_connect current_monitor_m1/vbus_o current_monitor_m1_apack/chan_data_2 ad_connect current_monitor_m1/vbus_o current_monitor_m1_apack/chan_data_3 ad_connect current_monitor_m1_apack/ddata current_monitor_m1_dma/fifo_wr_din ad_connect current_monitor_m1_apack/dvalid current_monitor_m1_dma/fifo_wr_en # connect_bd_net -net [get_bd_nets sys_100m_clk] [get_bd_pins current_monitor_m1_pack/adc_clk] [get_bd_pins sys_ps7/FCLK_CLK0] # connect_bd_net -net [get_bd_nets sys_rstgen_peripheral_reset] [get_bd_pins current_monitor_m1_pack/adc_rst] [get_bd_pins sys_rstgen/peripheral_reset] # connect_bd_net -net current_monitor_m1_adc_enable_ia [get_bd_pins current_monitor_m1/adc_enable_ia] [get_bd_pins current_monitor_m1_pack/adc_enable_0] # connect_bd_net -net current_monitor_m1_adc_enable_ib [get_bd_pins current_monitor_m1/adc_enable_ib] [get_bd_pins current_monitor_m1_pack/adc_enable_1] # connect_bd_net -net current_monitor_m1_adc_enable_vbus [get_bd_pins current_monitor_m1/adc_enable_vbus] [get_bd_pins current_monitor_m1_pack/adc_enable_2] # connect_bd_net -net current_monitor_m1_adc_enable_stub [get_bd_pins current_monitor_m1/adc_enable_stub] [get_bd_pins current_monitor_m1_pack/adc_enable_3] # connect_bd_net -net current_monitor_m1_i_ready_o [get_bd_pins current_monitor_m1_pack/adc_valid_0] [get_bd_pins current_monitor_m1/i_ready_o] # connect_bd_net -net current_monitor_m1_i_ready_o [get_bd_pins current_monitor_m1_pack/adc_valid_1] [get_bd_pins current_monitor_m1/i_ready_o] # connect_bd_net -net current_monitor_m1_i_ready_o [get_bd_pins current_monitor_m1_pack/adc_valid_2] [get_bd_pins current_monitor_m1/i_ready_o] # connect_bd_net -net current_monitor_m1_i_ready_o [get_bd_pins current_monitor_m1_pack/adc_valid_3] [get_bd_pins current_monitor_m1/i_ready_o] # connect_bd_net [get_bd_pins current_monitor_m1/ia_o] [get_bd_pins current_monitor_m1_pack/adc_data_0] # connect_bd_net [get_bd_pins current_monitor_m1/ib_o] [get_bd_pins current_monitor_m1_pack/adc_data_1] # connect_bd_net [get_bd_pins current_monitor_m1/vbus_o] [get_bd_pins current_monitor_m1_pack/adc_data_2] # connect_bd_net [get_bd_pins current_monitor_m1/vbus_o] [get_bd_pins current_monitor_m1_pack/adc_data_3] # connect_bd_net [get_bd_pins current_monitor_m1_pack/adc_data] [get_bd_pins current_monitor_m1_dma/fifo_wr_din] # connect_bd_net [get_bd_pins current_monitor_m1_pack/adc_valid] [get_bd_pins current_monitor_m1_dma/fifo_wr_en] # motor 2 ad_connect sys_cpu_clk current_monitor_m2/ref_clk ad_connect sys_cpu_clk current_monitor_m2_dma/fifo_wr_clk ad_connect current_monitor_m2/adc_clk_i sys_audio_clkgen/clk_out5 ad_connect adc_m2_ia_dat_i current_monitor_m2/adc_ia_dat_i ad_connect adc_m2_ib_dat_i current_monitor_m2/adc_ib_dat_i ad_connect adc_m2_vbus_dat_i current_monitor_m2/adc_vbus_dat_i ad_connect sys_cpu_clk current_monitor_m2_apack/clk ad_connect current_monitor_m2/adc_enable_ia current_monitor_m2_apack/chan_enable_0 ad_connect current_monitor_m2/adc_enable_ib current_monitor_m2_apack/chan_enable_1 ad_connect current_monitor_m2/adc_enable_vbus current_monitor_m2_apack/chan_enable_2 ad_connect current_monitor_m2/adc_enable_stub current_monitor_m2_apack/chan_enable_3 ad_connect current_monitor_m2_apack/chan_valid_0 current_monitor_m2/i_ready_o ad_connect current_monitor_m2_apack/chan_valid_1 current_monitor_m2/i_ready_o ad_connect current_monitor_m2_apack/chan_valid_2 current_monitor_m2/i_ready_o ad_connect current_monitor_m2_apack/chan_valid_3 current_monitor_m2/i_ready_o ad_connect current_monitor_m2/ia_o current_monitor_m2_apack/chan_data_0 ad_connect current_monitor_m2/ib_o current_monitor_m2_apack/chan_data_1 ad_connect current_monitor_m2/vbus_o current_monitor_m2_apack/chan_data_2 ad_connect current_monitor_m2/vbus_o current_monitor_m2_apack/chan_data_3 ad_connect current_monitor_m2_apack/ddata current_monitor_m2_dma/fifo_wr_din ad_connect current_monitor_m2_apack/dvalid current_monitor_m2_dma/fifo_wr_en # connect_bd_net -net [get_bd_nets sys_100m_clk] [get_bd_pins current_monitor_m2_pack/adc_clk] [get_bd_pins sys_ps7/FCLK_CLK0] # connect_bd_net -net [get_bd_nets sys_rstgen_peripheral_reset] [get_bd_pins current_monitor_m2_pack/adc_rst] [get_bd_pins sys_rstgen/peripheral_reset] # connect_bd_net -net current_monitor_m2_adc_enable_ia [get_bd_pins current_monitor_m2/adc_enable_ia] [get_bd_pins current_monitor_m2_pack/adc_enable_0] # connect_bd_net -net current_monitor_m2_adc_enable_ib [get_bd_pins current_monitor_m2/adc_enable_ib] [get_bd_pins current_monitor_m2_pack/adc_enable_1] # connect_bd_net -net current_monitor_m2_adc_enable_vbus [get_bd_pins current_monitor_m2/adc_enable_vbus] [get_bd_pins current_monitor_m2_pack/adc_enable_2] # connect_bd_net -net current_monitor_m2_adc_enable_stub [get_bd_pins current_monitor_m2/adc_enable_stub] [get_bd_pins current_monitor_m2_pack/adc_enable_3] # connect_bd_net -net current_monitor_m2_i_ready_o [get_bd_pins current_monitor_m2_pack/adc_valid_0] [get_bd_pins current_monitor_m2/i_ready_o] # connect_bd_net -net current_monitor_m2_i_ready_o [get_bd_pins current_monitor_m2_pack/adc_valid_1] [get_bd_pins current_monitor_m2/i_ready_o] # connect_bd_net -net current_monitor_m2_i_ready_o [get_bd_pins current_monitor_m2_pack/adc_valid_2] [get_bd_pins current_monitor_m2/i_ready_o] # connect_bd_net -net current_monitor_m2_i_ready_o [get_bd_pins current_monitor_m2_pack/adc_valid_3] [get_bd_pins current_monitor_m2/i_ready_o] # connect_bd_net [get_bd_pins current_monitor_m2/ia_o] [get_bd_pins current_monitor_m2_pack/adc_data_0] # connect_bd_net [get_bd_pins current_monitor_m2/ib_o] [get_bd_pins current_monitor_m2_pack/adc_data_1] # connect_bd_net [get_bd_pins current_monitor_m2/vbus_o] [get_bd_pins current_monitor_m2_pack/adc_data_2] # connect_bd_net [get_bd_pins current_monitor_m2/vbus_o] [get_bd_pins current_monitor_m2_pack/adc_data_3] # connect_bd_net [get_bd_pins current_monitor_m2_pack/adc_valid] [get_bd_pins current_monitor_m2_dma/fifo_wr_en] # connect_bd_net [get_bd_pins current_monitor_m2_pack/adc_data] [get_bd_pins current_monitor_m2_dma/fifo_wr_din] #controller # motor 1 ad_connect sys_cpu_clk controller_m1/ref_clk ad_connect controller_m1/ctrl_data_clk sys_audio_clkgen/clk_out5 ad_connect sys_cpu_clk controller_m1_dma/fifo_wr_clk ad_connect fmc_m1_en_o controller_m1/fmc_en_o ad_connect pwm_m1_al_o controller_m1/pwm_al_o ad_connect pwm_m1_ah_o controller_m1/pwm_ah_o ad_connect pwm_m1_bl_o controller_m1/pwm_bl_o ad_connect pwm_m1_bh_o controller_m1/pwm_bh_o ad_connect pwm_m1_cl_o controller_m1/pwm_cl_o ad_connect pwm_m1_ch_o controller_m1/pwm_ch_o ad_connect controller_m1/sensors_o speed_detector_m1/hall_bemf_i ad_connect controller_m1/position_i speed_detector_m1/position_o ad_connect controller_m1/ctrl_data_valid_i current_monitor_m1/i_ready_o #connect_bd_net -net controller_m1_adc_clk_o [get_bd_pins controller_m1_pack/adc_clk] [get_bd_pins controller_m1/adc_clk_o] #connect_bd_net -net [get_bd_nets sys_rstgen_peripheral_reset] [get_bd_pins controller_m1_pack/adc_rst] [get_bd_pins sys_rstgen/peripheral_reset] #connect_bd_net -net controller_m1_adc_enable_c0 [get_bd_pins controller_m1/adc_enable_c0] [get_bd_pins controller_m1_pack/adc_enable_0] #connect_bd_net -net controller_m1_adc_enable_c1 [get_bd_pins controller_m1/adc_enable_c1] [get_bd_pins controller_m1_pack/adc_enable_1] #connect_bd_net -net controller_m1_adc_enable_c2 [get_bd_pins controller_m1/adc_enable_c2] [get_bd_pins controller_m1_pack/adc_enable_2] #connect_bd_net -net controller_m1_adc_enable_c3 [get_bd_pins controller_m1/adc_enable_c3] [get_bd_pins controller_m1_pack/adc_enable_3] #connect_bd_net -net controller_m1_adc_enable_c4 [get_bd_pins controller_m1/adc_enable_c4] [get_bd_pins controller_m1_pack/adc_enable_4] #connect_bd_net -net controller_m1_adc_enable_c5 [get_bd_pins controller_m1/adc_enable_c5] [get_bd_pins controller_m1_pack/adc_enable_5] #connect_bd_net -net controller_m1_adc_enable_c6 [get_bd_pins controller_m1/adc_enable_c6] [get_bd_pins controller_m1_pack/adc_enable_6] #connect_bd_net -net controller_m1_adc_enable_c7 [get_bd_pins controller_m1/adc_enable_c7] [get_bd_pins controller_m1_pack/adc_enable_7] #connect_bd_net -net controller_m1_adc_valid_c0 [get_bd_pins controller_m1/adc_valid_c0] [get_bd_pins controller_m1_pack/adc_valid_0] #connect_bd_net -net controller_m1_adc_valid_c1 [get_bd_pins controller_m1/adc_valid_c1] [get_bd_pins controller_m1_pack/adc_valid_1] #connect_bd_net -net controller_m1_adc_valid_c2 [get_bd_pins controller_m1/adc_valid_c2] [get_bd_pins controller_m1_pack/adc_valid_2] #connect_bd_net -net controller_m1_adc_valid_c3 [get_bd_pins controller_m1/adc_valid_c3] [get_bd_pins controller_m1_pack/adc_valid_3] #connect_bd_net -net controller_m1_adc_valid_c4 [get_bd_pins controller_m1/adc_valid_c4] [get_bd_pins controller_m1_pack/adc_valid_4] #connect_bd_net -net controller_m1_adc_valid_c5 [get_bd_pins controller_m1/adc_valid_c5] [get_bd_pins controller_m1_pack/adc_valid_5] #connect_bd_net -net controller_m1_adc_valid_c6 [get_bd_pins controller_m1/adc_valid_c6] [get_bd_pins controller_m1_pack/adc_valid_6] #connect_bd_net -net controller_m1_adc_valid_c7 [get_bd_pins controller_m1/adc_valid_c7] [get_bd_pins controller_m1_pack/adc_valid_7] #connect_bd_net -net controller_m1_data_c0 [get_bd_pins controller_m1/adc_data_c0] [get_bd_pins controller_m1_pack/adc_data_0] #connect_bd_net -net controller_m1_data_c1 [get_bd_pins controller_m1/adc_data_c1] [get_bd_pins controller_m1_pack/adc_data_1] #connect_bd_net -net controller_m1_data_c2 [get_bd_pins controller_m1/adc_data_c2] [get_bd_pins controller_m1_pack/adc_data_2] #connect_bd_net -net controller_m1_data_c3 [get_bd_pins controller_m1/adc_data_c3] [get_bd_pins controller_m1_pack/adc_data_3] #connect_bd_net -net controller_m1_data_c4 [get_bd_pins controller_m1/adc_data_c4] [get_bd_pins controller_m1_pack/adc_data_4] #connect_bd_net -net controller_m1_data_c5 [get_bd_pins controller_m1/adc_data_c5] [get_bd_pins controller_m1_pack/adc_data_5] #connect_bd_net -net controller_m1_data_c6 [get_bd_pins controller_m1/adc_data_c6] [get_bd_pins controller_m1_pack/adc_data_6] #connect_bd_net -net controller_m1_data_c7 [get_bd_pins controller_m1/adc_data_c7] [get_bd_pins controller_m1_pack/adc_data_7] #connect_bd_net [get_bd_pins controller_m1_pack/adc_data] [get_bd_pins controller_m1_dma/fifo_wr_din] #connect_bd_net [get_bd_pins controller_m1_pack/adc_valid] [get_bd_pins controller_m1_dma/fifo_wr_en] ad_connect sys_cpu_clk controller_m1_apack/clk ad_connect controller_m1/adc_enable_c0 controller_m1_apack/chan_enable_0 ad_connect controller_m1/adc_enable_c1 controller_m1_apack/chan_enable_1 ad_connect controller_m1/adc_enable_c2 controller_m1_apack/chan_enable_2 ad_connect controller_m1/adc_enable_c3 controller_m1_apack/chan_enable_3 ad_connect controller_m1/adc_enable_c4 controller_m1_apack/chan_enable_4 ad_connect controller_m1/adc_enable_c5 controller_m1_apack/chan_enable_5 ad_connect controller_m1/adc_enable_c6 controller_m1_apack/chan_enable_6 ad_connect controller_m1/adc_enable_c7 controller_m1_apack/chan_enable_7 ad_connect controller_m1/adc_valid_c0 controller_m1_apack/chan_valid_0 ad_connect controller_m1/adc_valid_c1 controller_m1_apack/chan_valid_1 ad_connect controller_m1/adc_valid_c2 controller_m1_apack/chan_valid_2 ad_connect controller_m1/adc_valid_c3 controller_m1_apack/chan_valid_3 ad_connect controller_m1/adc_valid_c4 controller_m1_apack/chan_valid_4 ad_connect controller_m1/adc_valid_c5 controller_m1_apack/chan_valid_5 ad_connect controller_m1/adc_valid_c6 controller_m1_apack/chan_valid_6 ad_connect controller_m1/adc_valid_c7 controller_m1_apack/chan_valid_7 ad_connect controller_m1/adc_data_c0 controller_m1_apack/chan_data_0 ad_connect controller_m1/adc_data_c1 controller_m1_apack/chan_data_1 ad_connect controller_m1/adc_data_c2 controller_m1_apack/chan_data_2 ad_connect controller_m1/adc_data_c3 controller_m1_apack/chan_data_3 ad_connect controller_m1/adc_data_c4 controller_m1_apack/chan_data_4 ad_connect controller_m1/adc_data_c5 controller_m1_apack/chan_data_5 ad_connect controller_m1/adc_data_c6 controller_m1_apack/chan_data_6 ad_connect controller_m1/adc_data_c7 controller_m1_apack/chan_data_7 ad_connect controller_m1_apack/ddata controller_m1_dma/fifo_wr_din ad_connect controller_m1_apack/dvalid controller_m1_dma/fifo_wr_en # motor 2 ad_connect sys_cpu_clk controller_m2/ref_clk ad_connect controller_m2/ctrl_data_clk sys_audio_clkgen/clk_out5 ad_connect sys_cpu_clk controller_m2_dma/fifo_wr_clk ad_connect fmc_m2_en_o controller_m2/fmc_en_o ad_connect pwm_m2_al_o controller_m2/pwm_al_o ad_connect pwm_m2_ah_o controller_m2/pwm_ah_o ad_connect pwm_m2_bl_o controller_m2/pwm_bl_o ad_connect pwm_m2_bh_o controller_m2/pwm_bh_o ad_connect pwm_m2_cl_o controller_m2/pwm_cl_o ad_connect pwm_m2_ch_o controller_m2/pwm_ch_o ad_connect controller_m2/sensors_o speed_detector_m2/hall_bemf_i ad_connect controller_m2/position_i speed_detector_m2/position_o ad_connect controller_m2/ctrl_data_valid_i current_monitor_m2/i_ready_o #connect_bd_net -net controller_m2_adc_clk_o [get_bd_pins controller_m2_pack/adc_clk] [get_bd_pins controller_m2/adc_clk_o] #connect_bd_net -net [get_bd_nets sys_rstgen_peripheral_reset] [get_bd_pins controller_m2_pack/adc_rst] [get_bd_pins sys_rstgen/peripheral_reset] #connect_bd_net -net controller_m2_adc_enable_c0 [get_bd_pins controller_m2/adc_enable_c0] [get_bd_pins controller_m2_pack/adc_enable_0] #connect_bd_net -net controller_m2_adc_enable_c1 [get_bd_pins controller_m2/adc_enable_c1] [get_bd_pins controller_m2_pack/adc_enable_1] #connect_bd_net -net controller_m2_adc_enable_c2 [get_bd_pins controller_m2/adc_enable_c2] [get_bd_pins controller_m2_pack/adc_enable_2] #connect_bd_net -net controller_m2_adc_enable_c3 [get_bd_pins controller_m2/adc_enable_c3] [get_bd_pins controller_m2_pack/adc_enable_3] #connect_bd_net -net controller_m2_adc_enable_c4 [get_bd_pins controller_m2/adc_enable_c4] [get_bd_pins controller_m2_pack/adc_enable_4] #connect_bd_net -net controller_m2_adc_enable_c5 [get_bd_pins controller_m2/adc_enable_c5] [get_bd_pins controller_m2_pack/adc_enable_5] #connect_bd_net -net controller_m2_adc_enable_c6 [get_bd_pins controller_m2/adc_enable_c6] [get_bd_pins controller_m2_pack/adc_enable_6] #connect_bd_net -net controller_m2_adc_enable_c7 [get_bd_pins controller_m2/adc_enable_c7] [get_bd_pins controller_m2_pack/adc_enable_7] #connect_bd_net -net controller_m2_adc_valid_c0 [get_bd_pins controller_m2/adc_valid_c0] [get_bd_pins controller_m2_pack/adc_valid_0] #connect_bd_net -net controller_m2_adc_valid_c1 [get_bd_pins controller_m2/adc_valid_c1] [get_bd_pins controller_m2_pack/adc_valid_1] #connect_bd_net -net controller_m2_adc_valid_c2 [get_bd_pins controller_m2/adc_valid_c2] [get_bd_pins controller_m2_pack/adc_valid_2] #connect_bd_net -net controller_m2_adc_valid_c3 [get_bd_pins controller_m2/adc_valid_c3] [get_bd_pins controller_m2_pack/adc_valid_3] #connect_bd_net -net controller_m2_adc_valid_c4 [get_bd_pins controller_m2/adc_valid_c4] [get_bd_pins controller_m2_pack/adc_valid_4] #connect_bd_net -net controller_m2_adc_valid_c5 [get_bd_pins controller_m2/adc_valid_c5] [get_bd_pins controller_m2_pack/adc_valid_5] #connect_bd_net -net controller_m2_adc_valid_c6 [get_bd_pins controller_m2/adc_valid_c6] [get_bd_pins controller_m2_pack/adc_valid_6] #connect_bd_net -net controller_m2_adc_valid_c7 [get_bd_pins controller_m2/adc_valid_c7] [get_bd_pins controller_m2_pack/adc_valid_7] #connect_bd_net -net controller_m2_data_c0 [get_bd_pins controller_m2/adc_data_c0] [get_bd_pins controller_m2_pack/adc_data_0] #connect_bd_net -net controller_m2_data_c1 [get_bd_pins controller_m2/adc_data_c1] [get_bd_pins controller_m2_pack/adc_data_1] #connect_bd_net -net controller_m2_data_c2 [get_bd_pins controller_m2/adc_data_c2] [get_bd_pins controller_m2_pack/adc_data_2] #connect_bd_net -net controller_m2_data_c3 [get_bd_pins controller_m2/adc_data_c3] [get_bd_pins controller_m2_pack/adc_data_3] #connect_bd_net -net controller_m2_data_c4 [get_bd_pins controller_m2/adc_data_c4] [get_bd_pins controller_m2_pack/adc_data_4] #connect_bd_net -net controller_m2_data_c5 [get_bd_pins controller_m2/adc_data_c5] [get_bd_pins controller_m2_pack/adc_data_5] #connect_bd_net -net controller_m2_data_c6 [get_bd_pins controller_m2/adc_data_c6] [get_bd_pins controller_m2_pack/adc_data_6] #connect_bd_net -net controller_m2_data_c7 [get_bd_pins controller_m2/adc_data_c7] [get_bd_pins controller_m2_pack/adc_data_7] #connect_bd_net [get_bd_pins controller_m2_pack/adc_data] [get_bd_pins controller_m2_dma/fifo_wr_din] #connect_bd_net [get_bd_pins controller_m2_pack/adc_valid] [get_bd_pins controller_m2_dma/fifo_wr_en] ad_connect sys_cpu_clk controller_m2_apack/clk ad_connect controller_m2/adc_enable_c0 controller_m2_apack/chan_enable_0 ad_connect controller_m2/adc_enable_c1 controller_m2_apack/chan_enable_1 ad_connect controller_m2/adc_enable_c2 controller_m2_apack/chan_enable_2 ad_connect controller_m2/adc_enable_c3 controller_m2_apack/chan_enable_3 ad_connect controller_m2/adc_enable_c4 controller_m2_apack/chan_enable_4 ad_connect controller_m2/adc_enable_c5 controller_m2_apack/chan_enable_5 ad_connect controller_m2/adc_enable_c6 controller_m2_apack/chan_enable_6 ad_connect controller_m2/adc_enable_c7 controller_m2_apack/chan_enable_7 ad_connect controller_m2/adc_valid_c0 controller_m2_apack/chan_valid_0 ad_connect controller_m2/adc_valid_c1 controller_m2_apack/chan_valid_1 ad_connect controller_m2/adc_valid_c2 controller_m2_apack/chan_valid_2 ad_connect controller_m2/adc_valid_c3 controller_m2_apack/chan_valid_3 ad_connect controller_m2/adc_valid_c4 controller_m2_apack/chan_valid_4 ad_connect controller_m2/adc_valid_c5 controller_m2_apack/chan_valid_5 ad_connect controller_m2/adc_valid_c6 controller_m2_apack/chan_valid_6 ad_connect controller_m2/adc_valid_c7 controller_m2_apack/chan_valid_7 ad_connect controller_m2/adc_data_c0 controller_m2_apack/chan_data_0 ad_connect controller_m2/adc_data_c1 controller_m2_apack/chan_data_1 ad_connect controller_m2/adc_data_c2 controller_m2_apack/chan_data_2 ad_connect controller_m2/adc_data_c3 controller_m2_apack/chan_data_3 ad_connect controller_m2/adc_data_c4 controller_m2_apack/chan_data_4 ad_connect controller_m2/adc_data_c5 controller_m2_apack/chan_data_5 ad_connect controller_m2/adc_data_c6 controller_m2_apack/chan_data_6 ad_connect controller_m2/adc_data_c7 controller_m2_apack/chan_data_7 ad_connect controller_m2_apack/ddata controller_m2_dma/fifo_wr_din ad_connect controller_m2_apack/dvalid controller_m2_dma/fifo_wr_en # ethernet ad_connect sys_200m_clk refclk ad_connect sys_cpu_resetn refclk_rst ad_connect sys_cpu_resetn eth_phy_rst_n ad_connect sys_ps7/ENET0_MDIO_MDC eth_mdio_mdc ad_connect sys_ps7/ENET0_MDIO_O eth_mdio_o ad_connect sys_ps7/ENET0_MDIO_T eth_mdio_t ad_connect sys_ps7/ENET0_MDIO_I eth_mdio_i # phy 1 ad_connect gmii_to_rgmii_eth1/gmii sys_ps7/GMII_ETHERNET_0 ad_connect eth1_rgmii gmii_to_rgmii_eth1/rgmii ad_connect gmii_to_rgmii_eth1/reset sys_rstgen/peripheral_reset ad_connect gmii_to_rgmii_eth1/clk_20m sys_audio_clkgen/clk_out4 ad_connect gmii_to_rgmii_eth1/clk_25m sys_audio_clkgen/clk_out3 ad_connect gmii_to_rgmii_eth1/clk_125m sys_audio_clkgen/clk_out2 ad_connect eth_mdio_mdc gmii_to_rgmii_eth1/mdio_mdc ad_connect eth_mdio_o gmii_to_rgmii_eth1/mdio_in_w ad_connect eth_mdio_i gmii_to_rgmii_eth1/mdio_in_r # phy 2 ad_connect gmii_to_rgmii_eth2/gmii sys_ps7/GMII_ETHERNET_1 ad_connect eth2_rgmii gmii_to_rgmii_eth2/rgmii ad_connect gmii_to_rgmii_eth2/reset sys_rstgen/peripheral_reset ad_connect gmii_to_rgmii_eth2/clk_20m sys_audio_clkgen/clk_out4 ad_connect gmii_to_rgmii_eth2/clk_25m sys_audio_clkgen/clk_out3 ad_connect gmii_to_rgmii_eth2/clk_125m sys_audio_clkgen/clk_out2 ad_connect eth_mdio_mdc gmii_to_rgmii_eth2/mdio_mdc ad_connect eth_mdio_o gmii_to_rgmii_eth2/mdio_in_w ad_connect eth_mdio_i gmii_to_rgmii_eth2/mdio_in_r # xadc ad_connect xadc_core/Vaux0 vaux0 ad_connect xadc_core/Vaux8 vaux8 #connect_bd_net -net xadc_muxout [get_bd_pins /xadc_core/muxaddr_out] [get_bd_ports muxaddr_out] # iic ad_connect iic_ee2/IIC iic_ee2 ad_connect sys_cpu_resetn speed_detector_m1_dma/m_dest_axi_aresetn ad_connect sys_cpu_resetn speed_detector_m2_dma/m_dest_axi_aresetn ad_connect sys_cpu_resetn current_monitor_m1_dma/m_dest_axi_aresetn ad_connect sys_cpu_resetn current_monitor_m2_dma/m_dest_axi_aresetn ad_connect sys_cpu_resetn controller_m1_dma/m_dest_axi_aresetn ad_connect sys_cpu_resetn controller_m2_dma/m_dest_axi_aresetn # address map ad_cpu_interconnect 0x40410000 speed_detector_m1 ad_cpu_interconnect 0x40420000 current_monitor_m1 ad_cpu_interconnect 0x40430000 controller_m1 ad_cpu_interconnect 0x40440000 speed_detector_m2 ad_cpu_interconnect 0x40450000 current_monitor_m2 ad_cpu_interconnect 0x40460000 controller_m2 ad_cpu_interconnect 0x40510000 speed_detector_m1_dma ad_cpu_interconnect 0x40520000 current_monitor_m1_dma ad_cpu_interconnect 0x40530000 controller_m1_dma ad_cpu_interconnect 0x40540000 speed_detector_m2_dma ad_cpu_interconnect 0x40550000 current_monitor_m2_dma ad_cpu_interconnect 0x40560000 controller_m2_dma ad_cpu_interconnect 0x43200000 xadc_core ad_cpu_interconnect 0x41510000 iic_ee2 ad_mem_hp1_interconnect sys_cpu_clk sys_ps7/S_AXI_HP1 ad_mem_hp1_interconnect sys_cpu_clk speed_detector_m1_dma/m_dest_axi ad_mem_hp1_interconnect sys_cpu_clk speed_detector_m2_dma/m_dest_axi ad_mem_hp1_interconnect sys_cpu_clk current_monitor_m1_dma/m_dest_axi ad_mem_hp1_interconnect sys_cpu_clk current_monitor_m2_dma/m_dest_axi ad_mem_hp1_interconnect sys_cpu_clk controller_m1_dma/m_dest_axi ad_mem_hp1_interconnect sys_cpu_clk controller_m2_dma/m_dest_axi ad_cpu_interrupt ps-6 mb-6 controller_m2_dma/irq ad_cpu_interrupt ps-7 mb-7 current_monitor_m2_dma/irq ad_cpu_interrupt ps-8 mb-8 speed_detector_m2_dma/irq ad_cpu_interrupt ps-9 mb-9 controller_m1_dma/irq ad_cpu_interrupt ps-10 mb-10 current_monitor_m1_dma/irq ad_cpu_interrupt ps-12 mb-12 iic_ee2/iic2intc_irpt ad_cpu_interrupt ps-13 mb-13 speed_detector_m1_dma/irq