Stage 10: test not passing
This commit is contained in:
10
bench/tests/op/sb.s
Normal file
10
bench/tests/op/sb.s
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
# expected: 00010000
|
||||||
|
.text
|
||||||
|
_start:
|
||||||
|
addi x1, x0, 0x1
|
||||||
|
sw x1, 28(x0)
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
nop
|
||||||
|
addi x31, x0, 0x0
|
||||||
@@ -1,63 +1,12 @@
|
|||||||
[*]
|
|
||||||
[*] GTKWave Analyzer v3.3.116 (w)1999-2023 BSI
|
|
||||||
[*] Mon Nov 3 08:12:34 2025
|
|
||||||
[*]
|
|
||||||
[dumpfile] "/user/9/.base/mullero/home/cours/FMN/projet/build/chiselsim/ZzTopSpec/Simulation-pour-gtkwave/workdir-verilator/trace.vcd"
|
|
||||||
[dumpfile_mtime] "Mon Nov 3 08:11:19 2025"
|
|
||||||
[dumpfile_size] 59916
|
|
||||||
[savefile] "/user/9/.base/mullero/home/cours/FMN/projet/common/config.gtkw"
|
|
||||||
[timestart] 0
|
[timestart] 0
|
||||||
[size] 1920 1080
|
|
||||||
[pos] -67 -33
|
|
||||||
*-14.058537 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
*-14.058537 52 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
|
||||||
[treeopen] TOP.
|
[treeopen] TOP.
|
||||||
[treeopen] TOP.svsimTestbench.
|
[treeopen] TOP.svsimTestbench.
|
||||||
[treeopen] TOP.svsimTestbench.dut.
|
[treeopen] TOP.svsimTestbench.dut.
|
||||||
[treeopen] TOP.svsimTestbench.dut.core.
|
[treeopen] TOP.svsimTestbench.dut.core.
|
||||||
[sst_width] 278
|
@4023
|
||||||
[signals_width] 142
|
^>1 ./spike-dasm
|
||||||
[sst_expanded] 1
|
TOP.svsimTestbench.dut.core.instruction[31:0]
|
||||||
[sst_vpaned_height] 317
|
|
||||||
@200
|
|
||||||
-Instruction
|
|
||||||
@c04023
|
|
||||||
^>1 spike-dasm
|
|
||||||
TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
@29
|
|
||||||
(0)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(1)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(2)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(3)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(4)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(5)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(6)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(7)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(8)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(9)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(10)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(11)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(12)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(13)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(14)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(15)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(16)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(17)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(18)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(19)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(20)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(21)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(22)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(23)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(24)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(25)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(26)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(27)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(28)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(29)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(30)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
(31)TOP.svsimTestbench.dut.core.insn[31:0]
|
|
||||||
@1401201
|
|
||||||
-group_end
|
|
||||||
@22
|
@22
|
||||||
TOP.svsimTestbench.dut.core.pc[31:0]
|
TOP.svsimTestbench.dut.core.pc[31:0]
|
||||||
TOP.svsimTestbench.dut.core.rd[4:0]
|
TOP.svsimTestbench.dut.core.rd[4:0]
|
||||||
@@ -72,5 +21,3 @@ TOP.svsimTestbench.dut.io_x31[31:0]
|
|||||||
@28
|
@28
|
||||||
TOP.svsimTestbench.dut.io_valid_x31
|
TOP.svsimTestbench.dut.io_valid_x31
|
||||||
TOP.svsimTestbench.dut.core.rdValid
|
TOP.svsimTestbench.dut.core.rdValid
|
||||||
[pattern_trace] 1
|
|
||||||
[pattern_trace] 0
|
|
||||||
|
|||||||
@@ -17,9 +17,9 @@ class CUInterface extends Bundle {
|
|||||||
val is_jump = Output(Bool())
|
val is_jump = Output(Bool())
|
||||||
|
|
||||||
// DMem connections
|
// DMem connections
|
||||||
val memory_size = Input(DMemSize())
|
val memory_size = Output(DMemSize())
|
||||||
val memory_en = Input(Bool())
|
val memory_en = Output(Bool())
|
||||||
val memory_we = Input(Bool())
|
val memory_we = Output(Bool())
|
||||||
|
|
||||||
// Muxers
|
// Muxers
|
||||||
// The naming convention is as follows : mux_xxx_yyy.
|
// The naming convention is as follows : mux_xxx_yyy.
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ class DMem extends Module {
|
|||||||
(io.addr(1) * 8.U)
|
(io.addr(1) * 8.U)
|
||||||
}
|
}
|
||||||
is(DMemSize.Half) {
|
is(DMemSize.Half) {
|
||||||
bytes_enabled(io.addr(1) * 2.U(2.W)) := true.B
|
bytes_enabled((io.addr(1) * 2.U(2.W))(1, 0)) := true.B
|
||||||
bytes_enabled(io.addr(1) * 2.U(2.W) + 1.U(2.W)) := true.B
|
bytes_enabled((io.addr(1) * 2.U(2.W) + 1.U(2.W))(1, 0)) := true.B
|
||||||
data := io.data_in << (io.addr(1) * 16.U)
|
data := io.data_in << (io.addr(1) * 16.U)
|
||||||
}
|
}
|
||||||
is(DMemSize.Word) {
|
is(DMemSize.Word) {
|
||||||
@@ -47,4 +47,6 @@ class DMem extends Module {
|
|||||||
io.dbus.be := bytes_enabled
|
io.dbus.be := bytes_enabled
|
||||||
|
|
||||||
io.dbus.wdata := data
|
io.dbus.wdata := data
|
||||||
|
|
||||||
|
io.data_out := 0.U
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,6 +48,8 @@ class dpram( // nom identique à celui du verilog
|
|||||||
val doutB = Output(UInt(DATA_WIDTH.W))
|
val doutB = Output(UInt(DATA_WIDTH.W))
|
||||||
val dinB = Input(UInt(DATA_WIDTH.W))
|
val dinB = Input(UInt(DATA_WIDTH.W))
|
||||||
val weB = Input(UInt(NUM_COL.W))
|
val weB = Input(UInt(NUM_COL.W))
|
||||||
|
|
||||||
|
val ram_block = Output(UInt(DATA_WIDTH.W))
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -134,6 +136,8 @@ class IDMem(sim: Boolean, addrWidth: Int, memFile: String = "") extends Module {
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dontTouch(unifiedRam.io.ram_block)
|
||||||
|
|
||||||
unifiedRam.io.clkA := io.clki
|
unifiedRam.io.clkA := io.clki
|
||||||
unifiedRam.io.clkB := io.clkd
|
unifiedRam.io.clkB := io.clkd
|
||||||
// instructions sur le port a
|
// instructions sur le port a
|
||||||
|
|||||||
Reference in New Issue
Block a user