Open gsomlo opened 9 months ago
What is your trigger condition for litescope_cli: the aw channel matching the full address?
Maybe add a control signal too and trigger on that?
On Thu, Jan 04, 2024 at 05:34:26PM -0800, AndrewD wrote:
What is your trigger condition for litescope_cli: the aw channel matching the full address?
Yes.
Maybe add a control signal too and trigger on that?
Assuming that specifying additional triggers implies an "AND", why would additional restrictions improve my chances of triggering the data collection?
Triggering on just -r main_basesoc_rocket_l2fb_axi_aw_valid
successfully triggers data collection as soon as I transfer a
sector to RAM, but the address and data fields in the axi channels
look like unrecognizable garbage...
Here's what I get when I trigger on a combination of values and control signals:
litescope_cli --csv ./analyzer.csv --csr-csv ./csr.csv \
-v main_basesoc_rocket_mem_axi_aw_payload_addr 0x80000000 \
-r main_basesoc_rocket_mem_axi_aw_valid \
-r main_basesoc_rocket_mem_axi_aw_ready
Weirdly enough, payload_addr
is nowhere near 0x80000000
, so I'm not quite sure what's going on :)
hmm, I always assumed multiple triggers on the same command line are AND-ed together, but maybe they're OR-ed instead, which would explain why I'm getting garbage in the address field ?
@enjoy-digital -- can you clarify ? :)
For completeness, I ran:
./litescope_cli --csv ./analyzer.csv --csr-csv ./csr.csv -v main_basesoc_rocket_mem_axi_aw_payload_addr 0x80000000
without any additional (OR-ed or AND-ed) triggers, and got this:
The address is not 0x80000000
when trig
goes high, and at some point (much) later, when it is 0x80000000
, valid and ready are not both high...
Am I reading this wrong?
(also, main_basesoc_rocket_l2fb_axi_aw_payload_addr
is never 0x80000000
, since if I use that, the capture never triggers, as per one of my earlier posts in this thread)
Here's the patch I've applied to litex (latest upstream version, incl. all dependencies). Also shown are the commands I'm using to (attempt to) pull data out of the SoC with
litescope_cli
:Once it's all set up, and
litescope_cli
says[running]
, I issue the following command at the LiteX bios prompt:and nothing happens. I'd expect the address to be written over the axi
aw
channel as the DMA master (LiteSATA) is pushing data through the Rocket chip.Any hint as to why the actual
0x80000000
address would not be expected to show up literally over the AXIaw
channel, and how else I should be looking for it as part of a trigger expression much appreciated!@enjoy-digital @Dolu1990 -- you're my most likely source of ideas, but if anyone else has a clue, please help :)