Add SimpleScope firmware for monitoring AMACv2 Output
amacv2_scope_ip package
The core of the new functionality is part of the amacv2_scope_ip package.
It contains the new simplescope
entity that monitors an input signal and logs the following:
- number of times the input signal changed (0->1 or 0->1 transition)
- the +/- 16 bits around the last transition detected
The top-level block is the amacv2_scope
entity. It institates multiple simplescope
s, connects them to all AMAC digital outputs and allows readout via AXI.
The following AXI registers are available:
-
0x00
: reset all scopes by writing to bit 1 -
0x02+2*ch
: counter from scope at channelch
-
0x02+2*ch+1
: last trace from channelch
, frozen with transition at center
The following signals are monitored at the given channel (ch
):
- 0 : LDx0en
- 1 : LDy0en
- 2 : LDx1en
- 3 : LDy1en
- 4 : LDx2en
- 5 : LDy2en
- 6 : HrstBx
- 7 : HrstBy
- 8 : LAM
- 9 : GPO
- 10 : DCDCadj
- 11 : DCDCEn
- 12 : Ofout
- 13 : RO_PG_O
firmware integration
An instance of the amacv2_scope_ip
package is added to the top-level block under the name axi_amacv2_scope_0
. It is connected to the address range starting at 0x41C30000
. It can be readout using UIO in the PetaLinux project.
Warning: The UIO devices files in the PetaLinux project are now reshuffled. This means that the mappings in software have to be updated. The new map is:
-
/dev/uio0
: amacv2_digital_io -
/dev/uio1
: amacv2_scope -
/dev/uio2
: endeavour -
/dev/uio3
: freqmeas