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 simplescopes, 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