Skip to content

Upgrade to Vivado & SDK 2018.2 for Hybrid Design #376

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cmake/microblazeapppostactions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ ADD_CUSTOM_COMMAND(
TARGET ${EXECUTABLE_NAME}
POST_BUILD
COMMAND mb-size ${EXECUTABLE_NAME} | tee "${PROJECT_NAME}.size"
COMMAND arm-xilinx-eabi-objcopy -I elf32-little -O elf32-little -R .local_memory -R .vectors.* ${EXECUTABLE_NAME} ${PROJECT_BINARY_DIR}/oplkdrv_daemon_o.elf
COMMAND arm-none-eabi-objcopy -I elf32-little -O elf32-little -R .local_memory -R .vectors.* ${EXECUTABLE_NAME} ${PROJECT_BINARY_DIR}/oplkdrv_daemon_o.elf
COMMAND make create-bit
)

Expand Down
2 changes: 1 addition & 1 deletion cmake/toolchain-xilinx-vivado-arm-linux-eabi-gnu.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
################################################################################

SET(XILINX_SDK_DIR /opt/Xilinx/SDK/2016.2 CACHE STRING "Xilinx SDK toolchain path")
SET(XILINX_SDK_DIR /opt/Xilinx/SDK/2018.2 CACHE STRING "Xilinx SDK toolchain path")

################################################################################
# Name of the target platform
Expand Down
182 changes: 93 additions & 89 deletions hardware/boards/xilinx-z702/mn-dual-shmem-gpio/vivado/system.xdc
Original file line number Diff line number Diff line change
@@ -1,46 +1,105 @@
###SYSTEM CLOCK and RESET
set_property PACKAGE_PIN F19 [get_ports reset]
set_property IOSTANDARD LVCMOS25 [get_ports reset]
set_property PIO_DIRECTION INPUT [get_ports reset]
#####PCP_BENCHMARK
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[7]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[6]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {BENCHMARK_PIO_tri_io[0]}]
set_property PACKAGE_PIN AB20 [get_ports {BENCHMARK_PIO_tri_io[7]}]
set_property PACKAGE_PIN AB19 [get_ports {BENCHMARK_PIO_tri_io[6]}]
set_property PACKAGE_PIN W13 [get_ports {BENCHMARK_PIO_tri_io[5]}]
set_property PACKAGE_PIN V13 [get_ports {BENCHMARK_PIO_tri_io[4]}]
set_property PACKAGE_PIN AB16 [get_ports {BENCHMARK_PIO_tri_io[3]}]
set_property PACKAGE_PIN AA16 [get_ports {BENCHMARK_PIO_tri_io[2]}]
set_property PACKAGE_PIN V15 [get_ports {BENCHMARK_PIO_tri_io[1]}]
set_property PACKAGE_PIN V14 [get_ports {BENCHMARK_PIO_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[7]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[6]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[5]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[4]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[3]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[2]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[0]}]
########################################################################

#HOST_BENCHMARK
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[7]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[6]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {HOST_BENCHMARK_PIO_tri_io[0]}]
set_property PACKAGE_PIN U16 [get_ports {HOST_BENCHMARK_PIO_tri_io[7]}]
set_property PACKAGE_PIN U15 [get_ports {HOST_BENCHMARK_PIO_tri_io[6]}]
set_property PACKAGE_PIN AB17 [get_ports {HOST_BENCHMARK_PIO_tri_io[5]}]
set_property PACKAGE_PIN AA17 [get_ports {HOST_BENCHMARK_PIO_tri_io[4]}]
set_property PACKAGE_PIN U21 [get_ports {HOST_BENCHMARK_PIO_tri_io[3]}]
set_property PACKAGE_PIN T21 [get_ports {HOST_BENCHMARK_PIO_tri_io[2]}]
set_property PACKAGE_PIN V17 [get_ports {HOST_BENCHMARK_PIO_tri_io[1]}]
set_property PACKAGE_PIN U17 [get_ports {HOST_BENCHMARK_PIO_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[7]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[6]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[5]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[4]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[3]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[2]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[0]}]
########################################################################

#####ON BOARD LEDS
set_property PACKAGE_PIN P17 [get_ports {leds_6bit_tri_o[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[0]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[0]}]
set_property PACKAGE_PIN P18 [get_ports {leds_6bit_tri_o[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[1]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[1]}]
set_property PACKAGE_PIN W10 [get_ports {leds_6bit_tri_o[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[2]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[2]}]
set_property PACKAGE_PIN V7 [get_ports {leds_6bit_tri_o[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[3]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[3]}]
set_property PACKAGE_PIN W5 [get_ports {leds_6bit_tri_o[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[4]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[4]}]
set_property PACKAGE_PIN W17 [get_ports {leds_6bit_tri_o[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {leds_6bit_tri_o[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {LEDS_6BIT_tri_o[0]}]
set_property PACKAGE_PIN W17 [get_ports {LEDS_6BIT_tri_o[5]}]
set_property PACKAGE_PIN W5 [get_ports {LEDS_6BIT_tri_o[4]}]
set_property PACKAGE_PIN V7 [get_ports {LEDS_6BIT_tri_o[3]}]
set_property PACKAGE_PIN W10 [get_ports {LEDS_6BIT_tri_o[2]}]
set_property PACKAGE_PIN P18 [get_ports {LEDS_6BIT_tri_o[1]}]
set_property PACKAGE_PIN P17 [get_ports {LEDS_6BIT_tri_o[0]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[5]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[4]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[3]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[2]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[1]}]
set_property PIO_DIRECTION OUTPUT [get_ports {leds_6bit_tri_o[0]}]
########################################################################

####POWERLINK NODESWITCH
set_property IOSTANDARD LVCMOS25 [get_ports {NODE_SWITCHES_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {NODE_SWITCHES_tri_io[0]}]
set_property PACKAGE_PIN W6 [get_ports {NODE_SWITCHES_tri_io[1]}]
set_property PACKAGE_PIN W7 [get_ports {NODE_SWITCHES_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {node_switches_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {node_switches_tri_io[0]}]
########################################################################

####POWERLINK STATUS LEDS
set_property PACKAGE_PIN D15 [get_ports {powerlink_led_tri_o[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {powerlink_led_tri_o[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {POWERLINK_LED_tri_o[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {POWERLINK_LED_tri_o[0]}]
set_property PACKAGE_PIN D15 [get_ports {POWERLINK_LED_tri_o[0]}]
set_property PACKAGE_PIN E15 [get_ports {POWERLINK_LED_tri_o[1]}]
set_property PIO_DIRECTION OUTPUT [get_ports {powerlink_led_tri_o[0]}]
set_property PACKAGE_PIN E15 [get_ports {powerlink_led_tri_o[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {powerlink_led_tri_o[1]}]
set_property PIO_DIRECTION OUTPUT [get_ports {powerlink_led_tri_o[1]}]
########################################################################

####POWERLINK NODESWITCH
set_property PACKAGE_PIN W7 [get_ports {node_switches_tri_io[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {node_switches_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {node_switches_tri_io[0]}]
set_property PACKAGE_PIN W6 [get_ports {node_switches_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {node_switches_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {node_switches_tri_io[1]}]
set_property PACKAGE_PIN N17 [get_ports {SMI_mdio_io[1]}]
set_property PACKAGE_PIN N15 [get_ports {SMI_mdio_io[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {SMI_mdio_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {SMI_mdio_io[0]}]

###SYSTEM CLOCK and RESET
set_property PACKAGE_PIN F19 [get_ports reset]
set_property IOSTANDARD LVCMOS25 [get_ports reset]
set_property PIO_DIRECTION INPUT [get_ports reset]
########################################################################

###########FMC (1)
Expand Down Expand Up @@ -169,62 +228,6 @@ set_property IOSTANDARD LVCMOS25 [get_ports {MII_rxd[4]}]
set_property PIO_DIRECTION INPUT [get_ports {MII_rxd[4]}]
########################################################################

####FMC (2)
### Connector (FMC-105-DEBUG J1)
#HOST_BENCHMARK
set_property PACKAGE_PIN U17 [get_ports {host_benchmark_pio_tri_io[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[0]}]
set_property PACKAGE_PIN V17 [get_ports {host_benchmark_pio_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[1]}]
set_property PACKAGE_PIN T21 [get_ports {host_benchmark_pio_tri_io[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[2]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[2]}]
set_property PACKAGE_PIN U21 [get_ports {host_benchmark_pio_tri_io[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[3]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[3]}]
set_property PACKAGE_PIN AA17 [get_ports {host_benchmark_pio_tri_io[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[4]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[4]}]
set_property PACKAGE_PIN AB17 [get_ports {host_benchmark_pio_tri_io[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[5]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[5]}]
set_property PACKAGE_PIN U15 [get_ports {host_benchmark_pio_tri_io[6]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[6]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[6]}]
set_property PACKAGE_PIN U16 [get_ports {host_benchmark_pio_tri_io[7]}]
set_property IOSTANDARD LVCMOS25 [get_ports {host_benchmark_pio_tri_io[7]}]
set_property PIO_DIRECTION BIDIR [get_ports {host_benchmark_pio_tri_io[7]}]
########################################################################

#####PCP_BENCHMARK
set_property PACKAGE_PIN V14 [get_ports {benchmark_pio_tri_io[0]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[0]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[0]}]
set_property PACKAGE_PIN V15 [get_ports {benchmark_pio_tri_io[1]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[1]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[1]}]
set_property PACKAGE_PIN AA16 [get_ports {benchmark_pio_tri_io[2]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[2]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[2]}]
set_property PACKAGE_PIN AB16 [get_ports {benchmark_pio_tri_io[3]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[3]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[3]}]
set_property PACKAGE_PIN V13 [get_ports {benchmark_pio_tri_io[4]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[4]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[4]}]
set_property PACKAGE_PIN W13 [get_ports {benchmark_pio_tri_io[5]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[5]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[5]}]
set_property PACKAGE_PIN AB19 [get_ports {benchmark_pio_tri_io[6]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[6]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[6]}]
set_property PACKAGE_PIN AB20 [get_ports {benchmark_pio_tri_io[7]}]
set_property IOSTANDARD LVCMOS25 [get_ports {benchmark_pio_tri_io[7]}]
set_property PIO_DIRECTION BIDIR [get_ports {benchmark_pio_tri_io[7]}]
########################################################################

#VIRTUAL CLOCK
create_clock -period 10.000 -name clock_out1 -add [get_nets system_i/clock_generator/clk_out1]
create_clock -period 20.000 -name clock_out2 -add [get_nets system_i/clock_generator/clk_out2]
Expand Down Expand Up @@ -331,4 +334,5 @@ set_clock_groups -asynchronous -group [get_clocks {system_i/proc_sys_rst/periphe
set_clock_groups -asynchronous -group [get_clocks {system_i/proc_sys_rst/peripheral_aresetn[0]}] -group [get_clocks clk_mii1_tx]
set_false_path -reset_path -from [get_clocks clk_mii0_rx] -to [get_clocks clk_mii0_rx]
set_false_path -reset_path -from [get_clocks clk_mii1_rx] -to [get_clocks clk_mii1_rx]
########################################################################
########################################################################

Loading