Question on TRACE data
ozpropdev
Posts: 2,793
Hi Chip,
A qurstion on the 32 bit mode of SETRACE
The docs show only 30 bits of data. The 2 bits above the 16 bit PC are not used?
The PC for hub exec is right shifted 2 bits to fit the 16 bit space.
Possible candidates could be TLOCK,CNT rollover or the LIFO index.
Maybe the forumisters have some ideas for the spare 2 bits?
A qurstion on the 32 bit mode of SETRACE
The docs show only 30 bits of data. The 2 bits above the 16 bit PC are not used?
The PC for hub exec is right shifted 2 bits to fit the 16 bit space.
The 32-bit trace output is comprised of the following signals, from MSB to LSB: TASK[1..0] - the executing task, 0..3 HUB - hub cycle that comes once every 8 clocks FETCH - pipeline stall due to hub instruction fetch GO - pipeline not stalled and instruction done COND - execution condition JUMP - a jump is executing VID_ACK - WAITVID able to execute CTRA_SYNC - CTRA is rolling over CTRB_SYNC - CTRB is rolling over SERA_RX_RDY - SERA's receive buffer is full, ready for SERINA SERA_TX_RDY - SERA's transmit buffer is empty, ready for SEROUTA SERB_RX_RDY - SERB's receive buffer is full, ready for SERINB SERB_TX_RDY - SERB's transmit buffer is empty, ready for SEROUTB not used not used PC[15..0] - full 16 bits of the program counter
Possible candidates could be TLOCK,CNT rollover or the LIFO index.
Maybe the forumisters have some ideas for the spare 2 bits?
Comments
I'm getting incorrect data on the VID_ACK and CTRA bits in 32 bit trace samples.
So I set up CTRA and CTRB and they appear in the SERA_RX_RDY and SERA_TX_RDY bits.
Are bits 24 and 23 allocated to something else?
This appears to be the correct layout.
The counters (baud generators) in the SERA & SERB circuits do not use the counters as they have their own internal counters. Could this be why you are not seeing the CTRA/B bits change???
That's right. The serial transceivers have their own counters. My test shows the CTRA and CTRB rollovers appearing in the wrong place.
I am also seeing unidentified data in the VID_ACK and CTRA_SYNC bits.
In my test I have CTRA and CTRB rolling over every 4 clocks. You can see the expected pattern appearing in SERA_RX_RDY (RXA) and SERA_TX_RDY (TXA) and junk in VID_ACK and CTRA_SYNC.
BTW. I am not using VIDEO or SERA,SERB.
I think you are saying this is a labeling/mapping document errata that Chip needs to check ?
Any chance of posting the new TRACE bit labels/definitions?
Cheers
Brian
Nothing has changed there, yet, from the prior version. I'm going to get some sleep here, but I'll post this data when I get back to work. Tomorrow I should be into that part of Prop2_Docs.txt.
t[1:0] - task number 0..3
hub_sel[0] - hub cycle
stall - high when loading icache (pipeline is stalled)
go - high on last clock of current instruction
cond - high when execution condition is true
v - high when instruction is valid, low when instruction is cancelled (trailing a jump)
jump - high when instruction is jumping
z - z flag
c - c flag
p[15:0]/p[8:0] - program counter
I'm not yet to this part of the documentation, but I can see that you need these right now.