Skip to content

Add SimpleScope firmware for monitoring AMACv2 Output

Karol Krizka requested to merge kk_scope into master

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 channel ch
  • 0x02+2*ch+1 : last trace from channel ch, 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
Edited by Karol Krizka

Merge request reports