Skip to content
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

Porting Ultrascale ZCU104 board #435

Merged
merged 86 commits into from
Mar 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
fd12f2d
sw Makefile and general readme minor modifications
JoseCalero Aug 11, 2022
135c9d3
Merge branch 'main' into main
JoseCalero Aug 12, 2022
4945c02
updating with upstream main
JoseCalero Aug 17, 2022
059e67c
fix uart pins and spi flash memory size
JoseCalero Aug 25, 2022
058a58b
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Aug 26, 2022
2551109
Added macro for uart baudrate by default based on the target
JoseCalero Aug 26, 2022
57e2303
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Aug 29, 2022
d1cc7d2
linker modification for the flash (.data section being in wrong place)
JoseCalero Aug 29, 2022
e7446ba
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Sep 13, 2022
c5599f3
Merge branch 'esl-epfl:main' into main
JoseCalero Oct 18, 2022
aa1e5a4
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Oct 25, 2022
bd75bfa
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Oct 28, 2022
e504411
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Oct 31, 2022
29dca2d
Added cmake + cpp with the same upstream folder structure
JoseCalero Oct 31, 2022
0947793
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Nov 9, 2022
2351ef9
Update + minor changes cmake
JoseCalero Dec 16, 2022
b336f9d
Major commit includding Makefile doc automatisation, CMake, and FreeR…
JoseCalero Jan 5, 2023
e339eaa
Merge remote-tracking branch 'upstream/main'
JoseCalero Jan 5, 2023
9a25bf8
Minor permission changes
JoseCalero Jan 5, 2023
f9a9629
Update README.md
JoseCalero Jan 23, 2023
58e43e4
Minor CMake, linker, freeRTOS, and Makefile modifications
JoseCalero Jan 24, 2023
1238aa4
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Jan 24, 2023
2845068
FPGA testing + commands automatizations
JoseCalero Jan 25, 2023
e2a462a
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Feb 13, 2023
052007b
Updating readme and app for freertos
JoseCalero Feb 14, 2023
db39d42
CMake auto backend
JoseCalero Feb 27, 2023
8cb859b
fix CMake include list
JoseCalero Feb 27, 2023
5d47c35
minor update
JoseCalero Feb 27, 2023
48065d9
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Feb 27, 2023
1eae6f8
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Mar 31, 2023
a1d91d3
Using the needed HEAP for the current freeRTOS example
JoseCalero Mar 31, 2023
7a5362b
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Apr 4, 2023
b32277a
Fixing apps and CMakeLists
JoseCalero Apr 4, 2023
d8d6e2a
Re-adjust ram. Re-size also stack and heap for on-chip linker
JoseCalero Apr 5, 2023
ad419db
Add comment hjson
JoseCalero Apr 5, 2023
1b6b468
Modify Readme
JoseCalero Apr 5, 2023
d177a8e
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Apr 5, 2023
47dcad1
Merge remote-tracking branch 'upstream/main' into main
JoseCalero Apr 5, 2023
7635837
Updating CMake backend
JoseCalero May 9, 2023
3de5278
Merge branch 'esl-epfl:main' into main
JoseCalero May 9, 2023
6b33bbd
Change crt logic based on supported preprocessor variables
JoseCalero May 15, 2023
3ad1040
Merge remote-tracking branch 'upstream/main' into main
JoseCalero May 15, 2023
e332d09
Added vector file for freertos
JoseCalero May 15, 2023
edff111
Merge branch 'esl-epfl:main' into app_fix
JoseCalero May 17, 2023
1ec980e
Fix compilation issues with some APPs
JoseCalero May 17, 2023
013bd49
Merge branch 'esl-epfl:main' into app_fix
JoseCalero May 17, 2023
40af91f
Added script to compile them all
JoseCalero May 18, 2023
8e3b578
Added script file
JoseCalero May 18, 2023
bd5fab3
Merge branch 'esl-epfl:main' into main
JoseCalero May 24, 2023
92784ce
Merge branch 'esl-epfl:main' into main
JoseCalero May 31, 2023
868c4ec
Fill linker flash load up to __boot_address
JoseCalero May 31, 2023
27d4dda
Merge branch 'esl-epfl:main' into main
JoseCalero Jul 28, 2023
162b16b
Merge branch 'esl-epfl:main' into main
JoseCalero Sep 6, 2023
ca75899
Added SES support
JoseCalero Sep 6, 2023
d4ceebb
Minor fixes, read, delete some files, add 2nd image
JoseCalero Sep 7, 2023
8f6ce8a
Update IDEs.md
JoseCalero Sep 7, 2023
2966b4d
Update IDEs.md
JoseCalero Sep 7, 2023
9241e74
Minor fixes, delete some files outputs
JoseCalero Sep 7, 2023
51c709d
Merge branch 'main' of https://github.com/JoseCalero/x-heep into main
JoseCalero Sep 7, 2023
0fe943d
test readthedocs
JoseCalero Sep 12, 2023
dd801b5
Test readthedocs
JoseCalero Sep 12, 2023
b6d3fea
Test readthedocs
JoseCalero Sep 12, 2023
020eebb
Readthedocs first integration
JoseCalero Sep 12, 2023
84ad5f1
Readthedocs first integration fix
JoseCalero Sep 12, 2023
435fbed
Readthedocs first integration fix
JoseCalero Sep 12, 2023
8219005
minor delete
JoseCalero Oct 5, 2023
0ddda95
minor delete
JoseCalero Oct 5, 2023
b849871
Merge branch 'esl-epfl:main' into main
JoseCalero Oct 27, 2023
ee13698
Compilation Fix
JoseCalero Oct 27, 2023
1701fbf
Compilation Fix, minor update, remove app_std command
JoseCalero Oct 31, 2023
223360a
Fix run-blinkyfreertos command
JoseCalero Oct 31, 2023
3f94193
Merge branch 'esl-epfl:main' into main
JoseCalero Oct 31, 2023
cfbfbf5
Merge branch 'esl-epfl:main' into main
JoseCalero Dec 18, 2023
7a91b62
Porting Ultrascale ZCU104
Dec 18, 2023
cc752bd
Fix some typos, Plus adding initial constraint file for ZCU104
Dec 19, 2023
66eada4
Fix white space
Dec 19, 2023
557fc83
Fix xdc files
Dec 20, 2023
60e5cc9
Pull Request Review: X-HEEP on ZCU104 (#1)
simone-machetti Jan 5, 2024
0e19255
Update esl_epfl_zcu104_board_files.lock.hjson
JoseCalero Jan 5, 2024
58f7c7c
Update esl_epfl_zcu104_board_files.vendor.hjson
JoseCalero Jan 5, 2024
8337662
update board files and re-vendor
JoseCalero Jan 5, 2024
5a56461
Few fixes. (#2)
simone-machetti Jan 10, 2024
04128ba
Merge branch 'main' into main
JoseCalero Mar 6, 2024
4054fbd
fix pynq file
JoseCalero Mar 6, 2024
b43f2c2
update readme and makefile
JoseCalero Mar 8, 2024
ad0ec7f
Merge branch 'main' into main
JoseCalero Mar 8, 2024
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
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ verible:

## Generates the build folder in sw using CMake to build (compile and linking)
## @param PROJECT=<folder_name_of_the_project_to_be_built>
## @param TARGET=sim(default),systemc,pynq-z2,nexys-a7-100t
## @param TARGET=sim(default),systemc,pynq-z2,nexys-a7-100t,zcu104
## @param LINKER=on_chip(default),flash_load,flash_exec
## @param COMPILER=gcc(default), clang
## @param COMPILER_PREFIX=riscv32-unknown-(default)
Expand Down Expand Up @@ -223,7 +223,7 @@ app-simulate-all:
## @section Vivado

## Builds (synthesis and implementation) the bitstream for the FPGA version using Vivado
## @param FPGA_BOARD=nexys-a7-100t,pynq-z2
## @param FPGA_BOARD=nexys-a7-100t,pynq-z2,zcu104
## @param FUSESOC_FLAGS=--flag=<flagname>
vivado-fpga:
$(FUSESOC) --cores-root . run --no-export --target=$(FPGA_BOARD) $(FUSESOC_FLAGS) --build openhwgroup.org:systems:core-v-mini-mcu ${FUSESOC_PARAM} 2>&1 | tee buildvivado.log
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -231,11 +231,11 @@ make app
To run any other application, please use the following command with appropiate parameters:

```
app PROJECT=<folder_name_of_the_project_to_be_built> TARGET=sim(default),systemc,pynq-z2,nexys-a7-100t LINKER=on_chip(default),flash_load,flash_exec COMPILER=gcc(default),clang COMPILER_PREFIX=riscv32-unknown-(default) ARCH=rv32imc(default),<any RISC-V ISA string supported by the CPU>
app PROJECT=<folder_name_of_the_project_to_be_built> TARGET=sim(default),systemc,pynq-z2,nexys-a7-100t,zcu104 LINKER=on_chip(default),flash_load,flash_exec COMPILER=gcc(default),clang COMPILER_PREFIX=riscv32-unknown-(default) ARCH=rv32imc(default),<any RISC-V ISA string supported by the CPU>

Params:
- PROJECT (ex: <folder_name_of_the_project_to_be_built>, hello_world(default))
- TARGET (ex: sim(default),pynq-z2)
- TARGET (ex: sim(default),systemc,pynq-z2,nexys-a7-100t,zcu104)
- LINKER (ex: on_chip(default),flash_load,flash_exec)
- COMPILER (ex: gcc(default),clang)
- COMPILER_PREFIX (ex: riscv32-unknown-(default))
Expand Down Expand Up @@ -545,7 +545,7 @@ This project offers two different X-HEEP implementetions on Xilinx FPGAs, called

In this version, the X-HEEP architecture is implemented on the programmable logic (PL) side of the FPGA, and its input/output are connected to the available headers on the FPGA board.

Two FPGA boards are supported: the Xilinx Pynq-z2 and Nexys-A7-100t.
Two FPGA boards are supported: the Xilinx Pynq-z2, Nexys-A7-100t, Zynq Ultrascale+ ZCU104.

Make sure you have the FPGA board files installed in your Vivado.

Expand All @@ -563,6 +563,12 @@ or
make vivado-fpga FPGA_BOARD=nexys-a7-100t
```

or

```
make vivado-fpga FPGA_BOARD=zcu104
```

or add the flag `use_bscane_xilinx` to use the native Xilinx scanchain:

```
Expand Down
36 changes: 36 additions & 0 deletions core-v-mini-mcu.core
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,11 @@ filesets:
- hw/fpga/scripts/nexys/set_board.tcl: { file_type: tclSource }
- hw/fpga/scripts/nexys/xilinx_generate_clk_wizard.tcl: { file_type: tclSource }

ip-fpga-zcu104:
files:
- hw/fpga/scripts/zcu104/set_board.tcl: { file_type: tclSource }
- hw/fpga/scripts/zcu104/xilinx_generate_clk_wizard.tcl: { file_type: tclSource }

ip-asic:
depend:
- technology::prim_mytech
Expand Down Expand Up @@ -154,6 +159,11 @@ filesets:
- hw/fpga/constraints/pynq-z2/constraints.xdc
file_type: xdc

xdc-fpga-zcu104:
files:
- hw/fpga/constraints/zcu104/pin_assign.xdc
file_type: xdc

netlist-fpga:
files:
- build/openhwgroup.org_systems_core-v-mini-mcu_0/nexys-a7-100t-vivado/core_v_mini_mcu_xiling_postsynth.v
Expand Down Expand Up @@ -279,6 +289,10 @@ parameters:
datatype: bool
paramtype: vlogdefine
default: false
FPGA_ZCU104:
datatype: bool
paramtype: vlogdefine
default: false
# Make the parameter known to FuseSoC to enable overrides from the
# command line. If not overwritten, use the generic technology library.
PRIM_DEFAULT_IMPL:
Expand Down Expand Up @@ -485,6 +499,28 @@ targets:
part: xc7z020clg400-1
toplevel: [xilinx_core_v_mini_mcu_wrapper]

zcu104:
<<: *default_target
default_tool: vivado
description: ZCU104 Evaluation Board
filesets_append:
- x_heep_system
- rtl-fpga
- ip-fpga-zcu104
- ip-fpga
- xdc-fpga-zcu104
parameters:
- COREV_PULP
- FPU
- X_EXT
- SYNTHESIS=true
- REMOVE_OBI_FIFO
- FPGA_ZCU104=true
tools:
vivado:
part: xczu7ev-ffvc1156-2-e
toplevel: [xilinx_core_v_mini_mcu_wrapper]

asic_synthesis:
<<: *default_target
default_tool: design_compiler
Expand Down
14 changes: 14 additions & 0 deletions hw/fpga/board_files/vendor/esl_epfl_zcu104_board_files.lock.hjson
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// Copyright lowRISC contributors.
// Licensed under the Apache License, Version 2.0, see LICENSE for details.
// SPDX-License-Identifier: Apache-2.0

// This file is generated by the util/vendor script. Please do not modify it
// manually.

{
upstream:
{
url: https://github.com/esl-epfl/zcu104_board_files.git
rev: 53e4affbaeec73809304940be8f5351ae147227a
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// Copyright 2023 David Mallasén Quintana
// Solderpad Hardware License, Version 2.1, see LICENSE.md for details.
// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
{
name: "esl_epfl_zcu104_board_files",
target_dir: "esl_epfl_zcu104_board_files",

upstream: {
url: "https://github.com/esl-epfl/zcu104_board_files.git",
rev: "53e4affbaeec73809304940be8f5351ae147227a",
},

exclude_from_upstream: [
"README.md"
]
}
Loading
Loading