Skip to content

Bit values are annotated on wrong clock edge #2

Description

@adamgreig

As with #1 if this isn't the best place for bugs please let me know!

The analyzer adds bit value labels to clock edges, which is extremely helpful, but they don't seem to be on the correct clock edge. In this example of reading DRIDR:

image

The host sets the START (1) bit on the clock falling edge, and the target reads it on the subsequent rising edge, and the annotation is placed on the falling edge following that. I think this annotation should probably be on the rising edge where the target samples the value. That way the annotation would be placed in the centre of the time the bit is valid for, instead of right at the end immediately before the next bit is driven.

Conversely for target-to-host bits, such as the 100 ACK sequence here, the target sets the 1/0 on the preceding rising edge, the host samples it at the next falling edge (immediately before the next rising edge), and the annotation is placed on that next rising edge. I think the clearest thing would be to place the annotation on the falling edge where the host samples the value, so the bit annotation appears in the centre of the time the bit is valid for.

I've attached the traces for the screenshot to #1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions