Skip to content

Commit 70bc183

Browse files
Navaneeth-KunhiPurayilmattsini1
authored andcommitted
bender: add generated files needed for bender
1 parent 339a387 commit 70bc183

File tree

5 files changed

+564
-5
lines changed

5 files changed

+564
-5
lines changed

.gitlab/.gitlab-ci.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ snRuntime-test-vsim:
106106
- ${PYTHON3} -m pip install --user mako
107107
# Compile the binaries
108108
- cd hw/system/spatz_cluster
109-
- make sw.vsim SPATZ_CLUSTER_CFG=${cfg}.hjson
109+
- make sw.vsim SPATZ_CLUSTER_CFG=${cfg}.hjson -B
110110
# Run the test
111111
- cd sw/build/snRuntime
112112
- ${CTEST} --output-on-failure
@@ -135,7 +135,7 @@ snRuntime-test-vcs:
135135
- ${PYTHON3} -m pip install --user mako
136136
# Compile the binaries
137137
- cd hw/system/spatz_cluster
138-
- ${VCS} make sw.vcs SPATZ_CLUSTER_CFG=${cfg}.hjson
138+
- ${VCS} make sw.vcs SPATZ_CLUSTER_CFG=${cfg}.hjson -B
139139
# Run the test
140140
- cd sw/build/snRuntime
141141
- ${CTEST} --output-on-failure
@@ -165,7 +165,7 @@ snRuntime-test-vlt:
165165
- ${PYTHON3} -m pip install --user mako
166166
# Compile the binaries
167167
- cd hw/system/spatz_cluster
168-
- make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson
168+
- make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson -B
169169
# Run the test
170170
- cd sw/build/snRuntime
171171
- ${CTEST} --output-on-failure
@@ -196,7 +196,7 @@ riscvTests-test-vlt:
196196
- ${PYTHON3} -m pip install --user mako
197197
# Compile the binaries
198198
- cd hw/system/spatz_cluster
199-
- ${VCS} make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson
199+
- ${VCS} make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson -B
200200
# Run the test
201201
- cd sw/build/riscvTests
202202
- ${CTEST} --output-on-failure -j4
@@ -227,7 +227,7 @@ spatzBenchmarks-test-vlt:
227227
- ${PYTHON3} -m pip install --user mako
228228
# Compile the binaries
229229
- cd hw/system/spatz_cluster
230-
- ${VCS} make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson
230+
- ${VCS} make sw.vlt SPATZ_CLUSTER_CFG=${cfg}.hjson -B
231231
# Run the test
232232
- cd sw/build/spatzBenchmarks
233233
- ${CTEST} --verbose

hw/ip/spatz/src/generated/spatz_pkg.sv

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,9 @@ package spatz_pkg;
6868
// Largest element width that Spatz supports
6969
localparam vew_e MAXEW = RVD ? EW_64 : EW_32;
7070

71+
// Encodes both the scalar RD and the VD address in the VRF
72+
localparam int VFURespAddrWidth = GPRWidth > $clog2(NrVRFWords) ? GPRWidth : $clog2(NrVRFWords);
73+
7174
//////////////////////
7275
// Type Definitions //
7376
//////////////////////
@@ -83,6 +86,7 @@ package spatz_pkg;
8386

8487
// VREG address, byte enable, and data type
8588
typedef logic [$clog2(NrVRFWords)-1:0] vrf_addr_t;
89+
typedef logic [VFURespAddrWidth-1:0] vfu_rsp_addr_t;
8690
typedef logic [N_FU*ELENB-1:0] vrf_be_t;
8791
typedef logic [N_FU*ELEN-1:0] vrf_data_t;
8892

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright 2023 ETH Zurich and University of Bologna.
2+
// Solderpad Hardware License, Version 0.51, see LICENSE for details.
3+
// SPDX-License-Identifier: SHL-0.51
4+
//
5+
// Description: Automatically generated bootrom
6+
//
7+
// Generated by hardware/scripts/generate_bootrom.py
8+
9+
module bootrom #(
10+
/* Automatically generated. DO NOT CHANGE! */
11+
parameter int unsigned DataWidth = 512,
12+
parameter int unsigned AddrWidth = 32
13+
) (
14+
input logic clk_i,
15+
input logic req_i,
16+
input logic [AddrWidth-1:0] addr_i,
17+
output logic [DataWidth-1:0] rdata_o
18+
);
19+
localparam int RomSize = 4;
20+
localparam int AddrBits = RomSize > 1 ? $clog2(RomSize) : 1;
21+
22+
const logic [RomSize-1:0][DataWidth-1:0] mem = {
23+
512'h000000000000000000000000000200000000000000100000000000000000000000000000000000020000000000001000ffdff06f10500073000380670003a383,
24+
512'h000383930583839301c383b30205ae030185a3831050007330461073008666133040267330431073800303130000133704858593000005973053107304c30313,
25+
512'h0000031700000f9300000f1300000e9300000e1300000d9300000d1300000c9300000c1300000b9300000b1300000a9300000a13000009930000091300000893,
26+
512'h00000813000007930000071300000693000006130000059300000513000004930000041300000393000003130000029300000213000001930000011300000093
27+
};
28+
29+
logic [AddrBits-1:0] addr_q;
30+
31+
always_ff @(posedge clk_i) begin
32+
if (req_i) begin
33+
addr_q <= addr_i[AddrBits-1+6:6];
34+
end
35+
end
36+
37+
// this prevents spurious Xes from propagating into
38+
// the speculative fetch stage of the core
39+
assign rdata_o = (addr_q < RomSize) ? mem[addr_q] : '0;
40+
endmodule

0 commit comments

Comments
 (0)