Skip to content

Commit b9f7325

Browse files
authored
Merge pull request #37 from Xilinx/dev
Dev
2 parents b719ebd + 78b5dbd commit b9f7325

File tree

22 files changed

+1042
-341
lines changed

22 files changed

+1042
-341
lines changed

.github/workflows/ci-build-sw.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# ##################################################################################################
2+
# The MIT License (MIT)
3+
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
4+
#
5+
# Permission is hereby granted, free of charge, to any person obtaining a copy of this software
6+
# and associated documentation files (the "Software"), to deal in the Software without restriction,
7+
# including without limitation the rights to use, copy, modify, merge, publish, distribute,
8+
# sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9+
# furnished to do so, subject to the following conditions:
10+
#
11+
# The above copyright notice and this permission notice shall be included in all copies or
12+
# substantial portions of the Software.
13+
#
14+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15+
# NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17+
# DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19+
# ##################################################################################################
20+
21+
name: CI Build SW
22+
23+
on:
24+
pull_request:
25+
26+
jobs:
27+
build:
28+
runs-on: ubuntu-22.04
29+
permissions: { contents: read }
30+
31+
steps:
32+
- name: Checkout code
33+
uses: actions/checkout@v4
34+
35+
- name: Install build tools
36+
run: |
37+
sudo apt-get update -qq
38+
sudo apt-get install -y build-essential linux-headers-$(uname -r) libxml2-dev libzmq3-dev libjsoncpp-dev
39+
40+
- name: Build hotplug driver
41+
if: ${{ false }}
42+
run: |
43+
cd ${{ github.workspace }}/submodules/pcie-hotplug-drv/ && make
44+
45+
- name: Build linker
46+
run: |
47+
cd ${{ github.workspace }}/submodules/v80-vitis-flow && cmake . && make

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@ This repository contains SLASH, a SmartNIC platform for Alveo V80. SLASH consist
55
- V80 RunTime (VRT): the VRT API implementation, along with examples.
66
- (upcoming) 200Gbps MAC implementation for network-attached kernels and SmartNIC applications
77

8-
The project was tested with AMD Vivado & Vitis tools version 2024.2, kernel version 5.15.
8+
> [!WARNING]
9+
> The project was only tested with AMD Vivado & Vitis tools version 2024.2, on Ubuntu 22.04, kernel version 5.15. Please use same versions of tools/kernel.
10+
911
## Dependencies
1012

1113
- libxml2

deploy/base_pdi/build.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
ROOT_PATH = os.path.realpath(".")
2828
DESIGN_PDI_PATH = os.path.join(ROOT_PATH, "..")
29-
NOC_SOLUTION_PATH = os.path.realpath("../../submodules/v80-vitis-flow/resources/")
29+
RESOURCES_PATH = os.path.realpath("../../submodules/v80-vitis-flow/resources/")
3030
COMPUTE_EXAMPLE_DIR = os.path.realpath("../../examples/05_perf/")
3131
DEPLOY_PROJECT_COMPUTE = os.path.join(os.getcwd(), "deploy_project_compute")
3232
HLS_DIR_COMPUTE = os.path.join(DEPLOY_PROJECT_COMPUTE, "hls/")
@@ -103,6 +103,7 @@ def linker_step(platform):
103103
sol1_paths = [os.path.join(d, "sol1") for d in build_dirs]
104104
run_linker(CONFIG_FILE_PATH_COMPUTE, sol1_paths)
105105
shutil.copy(os.path.join(LINKER_BUILD_DIR_COMPUTE, "run_pre.tcl"), AVED_SRC_DIR_COMPUTE)
106+
shutil.copy(os.path.join(RESOURCES_PATH, "run_post.tcl"), AVED_SRC_DIR_COMPUTE)
106107
elif platform == "eth":
107108
print("Eth mode not supported yet.")
108109
else:
@@ -130,8 +131,9 @@ def generate_pdi_step(platform):
130131
def generate_noc_solution_step(platform):
131132
if platform == "compute":
132133
os.chdir(AVED_ROOT_DIR_COMPUTE)
133-
subprocess.run(["vivado", "-mode", "tcl", "-source", "src/export_noc.tcl"], check=True)
134-
shutil.copy(os.path.join(AVED_ROOT_DIR_COMPUTE, "noc_sol.ncr"), os.path.join(NOC_SOLUTION_PATH, "noc_sol_compute.ncr"))
134+
# subprocess.run(["vivado", "-mode", "tcl", "-source", "src/export_noc.tcl"], check=True)
135+
# shutil.copy(os.path.join(AVED_ROOT_DIR_COMPUTE, "noc_sol.ncr"), os.path.join(RESOURCES_PATH, "noc_sol_compute.ncr"))
136+
shutil.copy(os.path.join(RESOURCES_PATH, "noc_sol.ncr"), os.path.join(RESOURCES_PATH, "noc_sol_compute.ncr"))
135137
elif platform == "eth":
136138
print("Eth mode not supported yet.")
137139
else:
@@ -215,9 +217,9 @@ def step_index(step_id):
215217
# shutil.copy(os.path.join(AVED_ROOT_DIR_COMPUTE, "design.pdi"), os.path.join(ROOT_PATH, "design.pdi"))
216218
# # Generate NoC solution from the vivado project
217219
# subprocess.run(["vivado", "-mode", "batch", "-source", "export_noc.tcl"], check=True)
218-
# shutil.copy(os.path.join(AVED_ROOT_DIR_COMPUTE, "noc_sol.ncr"), os.path.join(NOC_SOLUTION_PATH, "noc_sol_compute.ncr"))
220+
# shutil.copy(os.path.join(AVED_ROOT_DIR_COMPUTE, "noc_sol.ncr"), os.path.join(RESOURCES_PATH, "noc_sol_compute.ncr"))
219221
# elif args.platform == "eth":
220222
# print("Eth mode not supported yet.")
221223

222224
if __name__ == "__main__":
223-
main()
225+
main()

deploy/base_pdi/tcl/export_noc.tcl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# ##################################################################################################
1+
deploy/base_pdi/build.py# ##################################################################################################
22
# The MIT License (MIT)
33
# Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
44
#
@@ -20,7 +20,8 @@
2020

2121
set build_dir "build"
2222
open_project $build_dir/prj.xpr
23-
open_run impl_1
23+
open_run synth_1
2424
set_property lock true [get_noc_net_routes -of [get_noc_logical_paths -filter {initial_boot == 1}]]
25+
set_property lock true [get_noc_net_routes -of [get_noc_logical_paths -of [get_noc_logical_instances *n?u128*]]]
2526
write_noc_solution -file noc_sol.ncr
26-
exit
27+
exit

0 commit comments

Comments
 (0)