Skip to content

Commit

Permalink
Merge branch 'valek-feat-new_cards_alvu200_vcu118' into 'devel'
Browse files Browse the repository at this point in the history
[FEATURE]: add build files for new card

See merge request ndk/ndk-app-minimal!53
  • Loading branch information
jakubcabal committed Oct 6, 2023
2 parents 82366c0 + 61b093d commit 2c9960e
Show file tree
Hide file tree
Showing 9 changed files with 197 additions and 1 deletion.
30 changes: 30 additions & 0 deletions build/alveo-u200/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Makefile: Makefile for build the whole card design
# Copyright (C) 2023 CESNET z.s.p.o.
# Author(s): Vadislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: Usage of the configuration parameters in this file is described
# in the Parametrization section of the NDK-CORE documentation.

COMBO_BASE = ../..
CARD_BASE = $(COMBO_BASE)/ndk/cards/amd/alveo-u200
APP_CONF = app_conf.tcl
OUTPUT_NAME = alveo-u200-minimal

ETH_PORT_SPEED=100
ETH_PORT_CHAN=1

.PHONY: all 100g2 100g0

all: 100g2

100g2: ETH_PORTS=2
100g2: OUTPUT_NAME:=alveo-u200-minimal-100g2
100g2: build

100g0: ETH_PORTS=0
100g0: OUTPUT_NAME:=alveo-u200-minimal-100g0
100g0: build

include $(CARD_BASE)/src/card.mk
31 changes: 31 additions & 0 deletions build/alveo-u200/Vivado.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Vivado.tcl: Vivado tcl script to compile whole FPGA design
# Copyright (C) 2023 CESNET z. s. p. o.
# Author(s): Vladislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: The purpose of this file is described in the Parametrization section of
# the NDK-CORE documentation.

# ----- Setting basic synthesis options ---------------------------------------
# NDK & user constants
source $env(CARD_BASE)/src/Vivado.inc.tcl

# Create only a Quartus project for further design flow driven from Quartus GUI
# "0" ... full design flow in command line
# "1" ... project composition only for further dedesign flow in GUI
set SYNTH_FLAGS(PROJ_ONLY) "0"

# Associative array which is propagated to APPLICATION_CORE, add other
# parameters if necessary.
set APP_ARCHGRP(APP_CORE_ENABLE) $APP_CORE_ENABLE

# Convert associative array to list
set APP_ARCHGRP_L [array get APP_ARCHGRP]

# ----- Add application core to main component list ---------------------------
lappend HIERARCHY(COMPONENTS) \
[list "APPLICATION_CORE" "../../app/top" $APP_ARCHGRP_L]

# Call main function which handle targets
nb_main
25 changes: 25 additions & 0 deletions build/alveo-u200/app_conf.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# app_conf.tcl: User parameters for AMD Alveo U200 Card
# Copyright (C) 2023 CESNET z.s.p.o.
# Author(s): Vladislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: The detailed description of the usage of this file can be viewed in the
# Parametrizing section of the NDK-CORE documentation.

# ------------------------------------------------------------------------------
# DMA parameters:
# ------------------------------------------------------------------------------
# The minimum number of RX/TX DMA channels for this card is 16.
set DMA_RX_CHANNELS 4
set DMA_TX_CHANNELS 4
# In blocking mode, packets are dropped only when the RX DMA channel is off.
# In non-blocking mode, packets are dropped whenever they cannot be sent.
set DMA_RX_BLOCKING_MODE true

# ------------------------------------------------------------------------------
# Other parameters:
# ------------------------------------------------------------------------------
set PROJECT_NAME "NDK_MINIMAL"
set PROJECT_VARIANT "$ETH_PORT_SPEED(0)G$ETH_PORTS"
set PROJECT_VERSION [exec cat ../../VERSION]
12 changes: 12 additions & 0 deletions build/alveo-u200/jenkins/100g2.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
library 'liberouter'

stagesFirmware(
dir: 'build/alveo-u200',
target: '100g2',
project: 'alveo-u200-minimal-100g2',
pollscm: 'H H(0-11) * * 6',
rpms: false,
rename: false,
artifacts: 'alveo-u200-minimal-100g2',
lastBuilds: 2,
)
30 changes: 30 additions & 0 deletions build/vcu118/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Makefile: Makefile for VCU118
# Copyright (C) 2023 CESNET z.s.p.o.
# Author(s): Vadislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: Usage of the configuration parameters in this file is described
# in the Parametrization section of the NDK-CORE documentation.

COMBO_BASE = ../..
CARD_BASE = $(COMBO_BASE)/ndk/cards/amd/vcu118
APP_CONF = app_conf.tcl
OUTPUT_NAME = vcu118-minimal

ETH_PORT_SPEED=100
ETH_PORT_CHAN=1

.PHONY: all 100g2 100g0

all: 100g2

100g2: ETH_PORTS=2
100g2: OUTPUT_NAME:=vcu118-minimal-100g2
100g2: build

100g0: ETH_PORTS=0
100g0: OUTPUT_NAME:=vcu118-minimal-100g0
100g0: build

include $(CARD_BASE)/src/card.mk
31 changes: 31 additions & 0 deletions build/vcu118/Vivado.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Vivado.tcl: Vivado tcl script to compile whole FPGA design
# Copyright (C) 2023 CESNET z. s. p. o.
# Author(s): Vladislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: The purpose of this file is described in the Parametrization section of
# the NDK-CORE documentation.

# ----- Setting basic synthesis options ---------------------------------------
# NDK & user constants
source $env(CARD_BASE)/src/Vivado.inc.tcl

# Create only a Quartus project for further design flow driven from Quartus GUI
# "0" ... full design flow in command line
# "1" ... project composition only for further dedesign flow in GUI
set SYNTH_FLAGS(PROJ_ONLY) "0"

# Associative array which is propagated to APPLICATION_CORE, add other
# parameters if necessary.
set APP_ARCHGRP(APP_CORE_ENABLE) $APP_CORE_ENABLE

# Convert associative array to list
set APP_ARCHGRP_L [array get APP_ARCHGRP]

# ----- Add application core to main component list ---------------------------
lappend HIERARCHY(COMPONENTS) \
[list "APPLICATION_CORE" "../../app/top" $APP_ARCHGRP_L]

# Call main function which handle targets
nb_main
25 changes: 25 additions & 0 deletions build/vcu118/app_conf.tcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# app_conf.tcl: User parameters for fb4cgg3/fb2cgg3 card
# Copyright (C) 2023 CESNET z.s.p.o.
# Author(s): Vladislav Valek <[email protected]>
#
# SPDX-License-Identifier: BSD-3-Clause

# NOTE: The detailed description of the usage of this file can be viewed in the
# Parametrizing section of the NDK-CORE documentation.

# ------------------------------------------------------------------------------
# DMA parameters:
# ------------------------------------------------------------------------------
# The minimum number of RX/TX DMA channels for this card is 16.
set DMA_RX_CHANNELS 4
set DMA_TX_CHANNELS 4
# In blocking mode, packets are dropped only when the RX DMA channel is off.
# In non-blocking mode, packets are dropped whenever they cannot be sent.
set DMA_RX_BLOCKING_MODE true

# ------------------------------------------------------------------------------
# Other parameters:
# ------------------------------------------------------------------------------
set PROJECT_NAME "NDK_MINIMAL"
set PROJECT_VARIANT "$ETH_PORT_SPEED(0)G$ETH_PORTS"
set PROJECT_VERSION [exec cat ../../VERSION]
12 changes: 12 additions & 0 deletions build/vcu118/jenkins/100g2.jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
library 'liberouter'

stagesFirmware(
dir: 'build/vcu118',
target: '100g2',
project: 'vcu118-minimal-100g2',
pollscm: 'H H(0-11) * * 6',
rpms: false,
rename: false,
artifacts: 'vcu118-minimal-100g2',
lastBuilds: 2,
)
2 changes: 1 addition & 1 deletion ndk/cards
Submodule cards updated 48 files
+80 −0 amd/alveo-u200/config/card_conf.tcl
+50 −0 amd/alveo-u200/config/card_const.tcl
+41 −0 amd/alveo-u200/constr/general.xdc
+21 −0 amd/alveo-u200/constr/gty_loc.xdc
+40 −0 amd/alveo-u200/constr/pcie_full.xdc
+55 −0 amd/alveo-u200/constr/pcie_half.xdc
+106 −0 amd/alveo-u200/constr/qsfp.xdc
+28 −0 amd/alveo-u200/constr/qsfp_disconnect.xdc
+46 −0 amd/alveo-u200/readme.rst
+34 −0 amd/alveo-u200/src/Modules.tcl
+60 −0 amd/alveo-u200/src/Vivado.inc.tcl
+45 −0 amd/alveo-u200/src/card.mk
+308 −0 amd/alveo-u200/src/fpga.vhd
+1,251 −0 amd/alveo-u200/src/ip/cmac_eth_1x100g/cmac_eth_1x100g.xci
+1,724 −0 amd/alveo-u200/src/ip/pcie4_uscale_plus/x16/pcie4_uscale_plus.xci
+1,724 −0 amd/alveo-u200/src/ip/pcie4_uscale_plus/x8_low_latency/pcie4_uscale_plus.xci
+140 −0 amd/alveo-u200/src/ip/xvc_vsec/xvc_vsec.xci
+85 −0 amd/vcu118/config/card_conf.tcl
+46 −0 amd/vcu118/config/card_const.tcl
+329 −0 amd/vcu118/constr/ddr4.xdc
+72 −0 amd/vcu118/constr/general.xdc
+17 −0 amd/vcu118/constr/gty_loc.xdc
+20 −0 amd/vcu118/constr/pcie.xdc
+71 −0 amd/vcu118/constr/qsfp.xdc
+28 −0 amd/vcu118/constr/qsfp_disconnect.xdc
+46 −0 amd/vcu118/readme.rst
+32 −0 amd/vcu118/src/Modules.tcl
+51 −0 amd/vcu118/src/Vivado.inc.tcl
+46 −0 amd/vcu118/src/card.mk
+320 −0 amd/vcu118/src/fpga.vhd
+1,251 −0 amd/vcu118/src/ip/cmac_eth_1x100g/cmac_eth_1x100g.xci
+457 −0 amd/vcu118/src/ip/ddr4_axi/ddr4_axi.xci
+1,516 −0 amd/vcu118/src/ip/pcie4_uscale_plus/x16/pcie4_uscale_plus.xci
+1,724 −0 amd/vcu118/src/ip/pcie4_uscale_plus/x8_low_latency/pcie4_uscale_plus.xci
+102 −0 amd/vcu118/src/ip/xvc_vsec/xvc_vsec.xci
+1 −0 silicom/n6010/config/card_conf.tcl
+1 −0 silicom/n6010/config/card_const.tcl
+1 −0 silicom/n6010/constr/general.qsf
+1 −0 silicom/n6010/constr/pcie.qsf
+1 −0 silicom/n6010/constr/qsfp.qsf
+1 −0 silicom/n6010/constr/timing.sdc
+1 −0 silicom/n6010/src/Modules.tcl
+1 −0 silicom/n6010/src/Quartus.inc.tcl
+1 −0 silicom/n6010/src/card.mk
+1 −0 silicom/n6010/src/comp/pmci/Modules.tcl
+1 −0 silicom/n6010/src/comp/pmci/pmci_top.vhd
+1 −0 silicom/n6010/src/comp/pmci/synth/Makefile
+1 −0 silicom/n6010/src/fpga.vhd

0 comments on commit 2c9960e

Please sign in to comment.