-
Notifications
You must be signed in to change notification settings - Fork 22
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
[difftest] Add offline difftest and refactor libspike interfaces #603
Conversation
cc @Avimitin please add it to build system and run all elf to check the correctness of this program. |
7e15390
to
91b98b5
Compare
eaf9627
to
b03f146
Compare
3231db7
to
ca2a4a9
Compare
b32b2d2
to
34310a0
Compare
1a766cf
to
f552046
Compare
f552046
to
d968503
Compare
5871d97
to
87c601a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really appreciate your work! Please add CI for offline difftest, we will let online and offline run at the same time for a while, and get rid of runtime difftest.
@@ -22,10 +22,10 @@ spike_state_t* proc_get_state(spike_processor_t* proc); | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add documentation to header files.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And please think a question:
if we are going to use sail/qemu to replace spike in the future, how do we decouple this?
maybe riscv_architecture_events.h
@@ -0,0 +1,11 @@ | |||
## Build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add more detail readme on the difftest, including the rational.md
.
- the architecture of the difftest design.
- the public interface and usage of the difftest, aka the schema of all events.
Please do it in the following PR.
let event = self.dut.step()?; | ||
|
||
match &*event.event { | ||
"peekTL" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In the following PR, please rename it to "memoryWrite", in the next architecture change, we will refactor T1 to AXI.
let cycle = event.parameter.cycle.unwrap(); | ||
self.peek_issue(IssueEvent { idx, cycle }).unwrap(); | ||
} | ||
"lsuEnq" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be refactor to RTL w/ tagging.
let cycle = event.parameter.cycle.unwrap(); | ||
self.update_lsu_idx(LsuEnqEvent { enq, cycle }).unwrap(); | ||
} | ||
"vrfWriteFromLsu" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should be merged w/ vrfWriteFromLane
}) | ||
.unwrap(); | ||
} | ||
"issue" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this commit
?
}) | ||
.unwrap(); | ||
} | ||
"inst" => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe this is issue
87c601a
to
f119fb2
Compare
f63e4b1
to
270d56d
Compare
03c17ef
to
61577cd
Compare
d9fdf97
to
e11fd42
Compare
Signed-off-by: Avimitin <[email protected]>
Signed-off-by: Avimitin <[email protected]>
Signed-off-by: Avimitin <[email protected]>
This commit allow sharing same emu logic across multiple test case builder. Signed-off-by: Avimitin <[email protected]>
Signed-off-by: Avimitin <[email protected]>
Signed-off-by: Avimitin <[email protected]>
ff0016a
to
6aa7b46
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Finally!
6aa7b46
to
b432c51
Compare
- Use nix derivation to cache and capture emulator output - Use built-in S3 nix cache to replace GitHub Artifacts - Produce GitHub step summary in Scala script Signed-off-by: Avimitin <[email protected]>
Signed-off-by: Avimitin <[email protected]>
b432c51
to
7f20bf4
Compare
No description provided.