Skip to content

Commit acab3ed

Browse files
committed
Update Project
* Bump sub-projects * Update Container to elements:v2.0 * Split ElemRV in two different SoCs * Migrate from AMBA to BMB + Wishbone * Move firmware code to software/ * Add SPDX header * Update firmware core Signed-off-by: Daniel Schultz <dnltz@aesc-silicon.de>
1 parent ad741c7 commit acab3ed

File tree

24 files changed

+1099
-208
lines changed

24 files changed

+1099
-208
lines changed

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# SPDX-FileCopyrightText: 2025 aesc silicon
2+
#
3+
# SPDX-License-Identifier: CERN-OHL-W-2.0
4+
5+
16
build/
27
modules/
38
oss-cad-suite/

README.rst

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
.. SPDX-FileCopyrightText: 2025 aesc silicon
2+
..
3+
.. SPDX-License-Identifier: CERN-OHL-W-2.0
4+
15
ElemRV - End-to-end Open-Source RISC-V MCU
26
==========================================
37

@@ -140,6 +144,7 @@ Known Issues
140144
License
141145
#######
142146

143-
Copyright (c) 2024 Steffen Reith and Daniel Schultz. Released under the `GPLv3 license`_.
147+
Copyright (c) 2025 aesc silicon. Released under the `CERN-OHL-W-2.0`_ and `Apache-2.0`_ license.
144148

145-
.. _GPLv3 license: COPYING.GPLv3
149+
.. _CERN-OHL-W-2.0: LICENSES/CERN-OHL-W-2.0.txt
150+
.. _Apache-2.0: LICENSES/Apache-2.0.txt

Taskfile.yml

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
# SPDX-FileCopyrightText: 2025 aesc silicon
2+
#
3+
# SPDX-License-Identifier: CERN-OHL-W-2.0
4+
15
version: '3'
26

37
includes:
@@ -7,9 +11,6 @@ includes:
711
flatten: true
812

913
env:
10-
package: "elemrv"
11-
SOC: ElemRV
12-
CONTAINER_NAME: elemrv_container
1314
FPGA_FAMILY: ecp5
1415
FPGA_DEVICE: um5g-45k
1516
FPGA_PACKAGE: CABGA554
@@ -23,6 +24,12 @@ env:
2324
BUILD_ROOT: "{{ .PWD }}/build/"
2425
GCC: "/opt/elements/zephyr-sdk-0.17.0/riscv64-zephyr-elf/bin/riscv64-zephyr-elf"
2526
OPENROAD_FLOW_ROOT: "{{ .PWD }}/tools/OpenROAD-flow-scripts/flow"
27+
28+
vars:
29+
SOC: '{{.SOC | default "ElemRV-N"}}'
30+
package:
31+
sh: echo "{{.SOC}}" | tr '[:upper:]' '[:lower:]' | tr '-' '_'
32+
CONTAINER_NAME: elemrv_container
2633
CONTAINER_ENV: " \
2734
-e SOC={{ .SOC }} \
2835
-e FPGA_FAMILY={{ .FPGA_FAMILY }} \
@@ -47,7 +54,7 @@ tasks:
4754
- venv/bin/pip3 install podman-compose==1.0.6
4855
- curl https://storage.googleapis.com/git-repo-downloads/repo > repo
4956
- chmod a+rx repo
50-
- ./repo init -u https://github.com/aesc-silicon/ElemRV.git -b {{if .branch}}{{.branch}}{{else}}main{{end}} -m manifest.xml
57+
- ./repo init -u https://github.com/aesc-silicon/ElemRV.git -b {{if .branch}}{{.branch}}{{else}}main{{end}} -m manifest{{if .nightly}}-nightly{{end}}.xml
5158

5259
build-container:
5360
desc: Creates a container with all necessary host requirements pre-installed.
@@ -65,14 +72,14 @@ tasks:
6572
- task: repo-sync
6673
vars:
6774
branch: "main"
75+
nightly: "false"
6876

6977
fpga-prepare:
7078
desc: Produces the Verilog file and metadata needed for FPGA operations.
7179
cmds:
7280
- task: lib-generate
7381
vars:
7482
board: "ECPIX5"
75-
package: "elemrv"
7683
fpga-synthesize:
7784
desc: Generates the FPGA bitstream by synthesizing the design.
7885
cmds:
@@ -86,19 +93,29 @@ tasks:
8693
- task: lib-flash-bitstream
8794
vars:
8895
board: "ECPIX5"
96+
fpga-simulate:
97+
desc: Runs simulations at the RTL level. Add 'duration=n' to specify the duration in n milliseconds.
98+
cmds:
99+
- task: lib-simulate
100+
vars:
101+
board: "ECPIX5"
102+
fpga-view-simulation:
103+
desc: Opens the simulation with GTKWave.
104+
cmds:
105+
- task: lib-view-simulation
106+
vars:
107+
board: "ECPIX5"
89108

90109
compile-firmware:
91110
desc: Compiles bare metal firmwares.
92111
cmds:
93112
- task: lib-baremetal-firmware
94113
vars:
95114
board: "SG13G2"
96-
package: "elemrv"
97115
app: "bootrom"
98116
- task: lib-baremetal-firmware
99117
vars:
100118
board: "SG13G2"
101-
package: "elemrv"
102119
app: "demo"
103120

104121
prepare:
@@ -107,27 +124,23 @@ tasks:
107124
- task: lib-generate
108125
vars:
109126
board: "SG13G2"
110-
package: "elemrv"
111127
- task: lib-sealring
112128
vars:
113129
board: "SG13G2"
114-
- cp {{ .NAFARR_BASE }}/hardware/scala/nafarr/crypto/aes/AESMasked.v {{ .BUILD_ROOT }}/ElemRV/SG13G2/zibal/
115130

116131
simulate:
117132
desc: Runs simulations at the RTL level. Add 'duration=n' to specify the duration in n milliseconds.
118133
cmds:
119134
- task: lib-simulate
120135
vars:
121136
board: "SG13G2"
122-
package: "elemrv"
123137

124138
view-simulation:
125139
desc: Opens the simulation with GTKWave.
126140
cmds:
127141
- task: lib-view-simulation
128142
vars:
129143
board: "SG13G2"
130-
package: "elemrv"
131144

132145
layout:
133146
desc: Creates the physical layout of the chip.

build.sbt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
// SPDX-FileCopyrightText: 2025 aesc silicon
2+
//
3+
// SPDX-License-Identifier: CERN-OHL-W-2.0
4+
15
val spinalVersion = "1.10.2a"
26

37
lazy val root = (project in file("."))

0 commit comments

Comments
 (0)