-
Notifications
You must be signed in to change notification settings - Fork 705
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
Add support for Trace Ingress Port (TIP) on CVA6 V5.1.0 #2601
base: master
Are you sure you want to change the base?
Conversation
❌ failed run, report available here. |
❌ failed run, report available here. |
7 similar comments
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
Hello @dassheladiya Thanks for this nice feature. |
67c8aac
to
d0a9c58
Compare
❌ failed run, report available here. |
3 similar comments
❌ failed run, report available here. |
❌ failed run, report available here. |
❌ failed run, report available here. |
@dassheladiya For reminder, your PR need to be rebase to allow the merge. |
201110b
to
342300a
Compare
❌ failed run, report available here. |
❌ failed run, report available here. |
✔️ successful run, report available here. |
Hi @dassheladiya, thank you for this most interesting contribution. I will not be the one to review this pull-request on a technical level, but in order for this contribution to be legal, it must have an appropriate permissive open-source license. We prefer Solderpad2.1, but Apache 2.0 and the EPL are all acceptable. The technical aspects of adding the license are trivial. For all new files you are contributing, change the header from this:
to something like this:
Of course, you can also keep the The legal aspects of this are important. By adding the above header you are stating many things:
Please discuss this with your employer to ensure they agree with the above. Again, thank you for this contribution! |
core/encoder_16_4.sv
Outdated
@@ -0,0 +1,70 @@ | |||
// Copyright (c), 2024 Darshak Sheladiya, SYSGO GmbH | |||
// SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1 | |||
|
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.
[verible-verilog-format] reported by reviewdog 🐶
✔️ successful run, report available here. |
1 similar comment
✔️ successful run, report available here. |
Overview
Adds support for Trace Ingress Port (TIP) on CVA6 V5.1.0
TIP is Interface between a RISC-V hart and the trace encoder
It generates information about the instruction retired.
The implementation is compliant with the Efficient Trace for RISC-V standard Version 2.0.2(https://github.com/riscv-non-isa/riscv-trace-spec/releases/download/v2.0.2/riscv-trace-spec-asciidoc.pdf), specifically:
Chapter 4.1: Instruction Trace Interface Requirements
Chapter 4.2: Instruction Trace Interface
The current implementation supports the following TIP signals: iretire, itype, cause, tval, priv, iaddr, and time. For Instruction Type (itype) encoding, it supports the following: Exception, Interrupt, Exception or interrupt return, Nontaken branch, Taken branch, Uninferable jump.
Changed
What I have been able to test so far:
What I have not yet tested: