riscv-non-isa / riscv-trace-spec

RISC-V Processor Trace Specification
https://jira.riscv.org/browse/RVG-88
Creative Commons Attribution 4.0 International
152 stars 47 forks source link

There is no SRCID filed in ATB Encapsulation #112

Closed zhangdujiao closed 3 months ago

zhangdujiao commented 3 months ago

From the description from Chapter 7, ATB Encapsulation contains: • A 5-bit field specifying the payload length in bytes • A bit to indicate whether an optional 16-bit timestamp is present; • An optional 2-byte timestamp; • The packet payload. The encapsulation has no SRCID filed. While the ATID is only 7bit width, witch may not be enough, How to solve this problem?

thanks!

IainCRobertson commented 3 months ago

You should really be working from the E-Trace Encapsulation spec, rather than Chapter 7 of the E-Trace spec. The latter is only illustrative, and not part of the standard. The E-Trace Encapsulation TG was set up specifically to produce a formalized standard for the encapsulation.

As noted previously, the length of the timestamp can be any number of bytes and is not limited to 16-bits.

In terms of ATID being only 7 bits, I think the way that is usually handled (in Arm-based systems) is to dynamically allocate the SrcID/ATID at run-time.

Iain

From: zhangdujiao @.> Sent: 31 May 2024 04:39 To: riscv-non-isa/riscv-trace-spec @.> Cc: Subscribed @.***> Subject: [riscv-non-isa/riscv-trace-spec] There is no SRCID filed in ATB Encapsulation (Issue #112)

From the description from Chapter 7, ATB Encapsulation contains:

thanks!

- Reply to this email directly, view it on GitHubhttps://github.com/riscv-non-isa/riscv-trace-spec/issues/112, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALQOPSTWSNGQAAN7S26RYDDZE7WFRAVCNFSM6AAAAABISBIK7WVHI2DSMVQWIX3LMV43ASLTON2WKOZSGMZDMOBZHA4DSNQ. You are receiving this because you are subscribed to this thread.Message ID: @.**@.>>

zhangdujiao commented 3 months ago

Thanks Iain, Does this mean that if the ATB encapsulation is used, then the ATDATA = {header (8 bit), srcID (0-16 bit), timestamp (64bit max), payload (248bit max)}, from <Unformatted Trace & Diagnostic Data Packet Encapsulation for RISC-V>. If we need more than 128 cores can be traced simultaneously, srcID is necessary since ATID can not be enough to illustrate every source of trace flow.

IainCRobertson commented 3 months ago

Yes, or you could use a hybrid approach where the 7LSBs of the SrcID are carried by ATID and the remainder are included in the packet encapsulation.

Iain

From: zhangdujiao @.> Sent: 03 June 2024 02:35 To: riscv-non-isa/riscv-trace-spec @.> Cc: Robertson, Iain (DI SW ICS TST RD EAH) @.>; Comment @.> Subject: Re: [riscv-non-isa/riscv-trace-spec] There is no SRCID filed in ATB Encapsulation (Issue #112)

Thanks Iain, Does this mean that if the ATB encapsulation is used, then the ATDATA = {header (8 bit), srcID (0-16 bit), timestamp (64bit max), payload (248bit max)}, from <Unformatted Trace & Diagnostic Data Packet Encapsulation for RISC-V>. If we need more than 128 cores can be traced simultaneously, srcID is necessary since ATID can not be enough to illustrate every source of trace flow.

- Reply to this email directly, view it on GitHubhttps://github.com/riscv-non-isa/riscv-trace-spec/issues/112#issuecomment-2144124649, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALQOPSXOHX757QLDPZQNZGLZFPB55AVCNFSM6AAAAABISBIK7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBUGEZDINRUHE. You are receiving this because you commented.Message ID: @.**@.>>

zhangdujiao commented 3 months ago

7LSBs of the SrcID are carried by ATID

In this case, the ATID may be repeated in SoC, and the components in SoC, like Funnel, ETR processe the flows carrying the same ATID as one flow.

IainCRobertson commented 3 months ago

Possibly. I'm not an expert in ATB so you may want to consult someone else on this, and the ways in which the 7-bit ATID limit is handled.

Iain

From: zhangdujiao @.> Sent: 04 June 2024 02:49 To: riscv-non-isa/riscv-trace-spec @.> Cc: Robertson, Iain (DI SW ICS TST RD EAH) @.>; Comment @.> Subject: Re: [riscv-non-isa/riscv-trace-spec] There is no SRCID filed in ATB Encapsulation (Issue #112)

7LSBs of the SrcID are carried by ATID

In this case, the ATID may be repeated in SoC, and the components in SoC, like Funnel, ETR processe the flows carrying the same ATID as one flow.

- Reply to this email directly, view it on GitHubhttps://github.com/riscv-non-isa/riscv-trace-spec/issues/112#issuecomment-2146413001, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALQOPSV6T3ANWRKFHNMCJB3ZFUMIHAVCNFSM6AAAAABISBIK7WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBWGQYTGMBQGE. You are receiving this because you commented.Message ID: @.**@.>>