Skip to content
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

Re-defined null packets per issue #5 #12

Merged
merged 1 commit into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions encapsulation.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -99,17 +99,14 @@ In this way, the maximum payload length is reduced by up to 7 when the *srcID* i

For _normal_ encapsulation, the *header.length* field is at least 1, and the overall length of the encapsulated packet will be at least 2 bytes (*header* plus 1 byte of payload).

A _null_ packet is defined as a single *header* byte with a zero *length* field. The remaining *header* fields (*flow* and *extend*) allow for up to 8 different types of null packet, which are defined as follows:
A _null_ packet is defined as a single *header* byte with a zero *length* field. The *extend* field is used to distinguish 2 different types of null packet, which are defined as follows:

* _null.idle_
- *flow* = 0
- *extend* = 0
* _null.alignment_
- *flow* = 0
- *extend* = 1
* Others: reserved

A _null_ packet is inserted in the data stream when there are no _normal_ encapsulated packets to send.
A _null_ packet is inserted in the data stream when there are no _normal_ encapsulated packets to send. This typically occurs at a trace sink where there are no sideband signals accompanying the data stream to identify valid data. Packets emitted from a trace source are generally transported over some form of on-chip transport (e.g. ATB) that includes sideband signalling to indicate when data is valid. In this situation when there is no data to send, valid is simply deasserted. That said, the *flow* field definition in _null_ packets is unchanged, so _null_ packets can be routed from a trace source to a specific sink if required. When generated at a sink, the *flow* field value is unimportant and is typically 0.

=== Synchronization

Expand Down
2 changes: 1 addition & 1 deletion header.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Authors: Iain Robertson
:description: Diagnostic & Data Transport Encapsulation
:company: RISC-V.org
:revdate: 4/8/2023
:revnumber: 0.0.4-draft
:revnumber: 0.0.5-draft
:revremark: This document is under development. Expect potential changes. Visit http://riscv.org/spec-state for further details.
:revinfo:
:url-riscv: http://riscv.org
Expand Down
Loading