<from an email I wrote to a collegue>

Over the weekend I wrote a tool to check/configure the DAI/DPI connections
in the SHARC - It allows you to quickly see and change the connections
which are configured by the values I am writing to the registers. This
took me a few hours, but I think in the long run it will save is a lot of
time and grief as it makes it much easier to configure and check the
connections.

Could you please take a look confirm that the connections that I have
configured are what we need.

DAIDPI.COM = Tool    (use 'DAIDPI ?' to see command options)
DAIDPI.DEF = Definitions of Sharc registers and fields
DAIDPI.H   = Header file containing my  register definitions *1
DAIDPI.ALL = Header file containing ALL register defintiions *1

*1 - By default the tool only writes the registers which are changed
     from the default values - you can use a /A option to force it to
     write all the registers - I used this to generate DAIDPI.ALL

Probably the easiest way to check is to look at the DAIDPI.H and DAIDPI.ALL
files - The tool generates detailed comments describing the connections made
with each register.

You can also run the tool. For each possible connection, it displays:

  group-name  register-field-description = connecton-description

Connections which are unchanged from the default configuration are shown in 
white, and connections which are different from the default configuration
are shown in yellow.

Each group (A, B, C etc. as listed in the HRM) are shown with alternating
Blue/Brown background colors to make it easy to see where each group starts
and stops.

You can move around with Up/Down/PgUp/PgDn/Home/End
Exit the tool by pressing ESC

You can change a field assignment by pressing ENTER - a list will pop up
showing all possible connections which can be made to that field. Pick one
and press ENTER to change it, or press ESC to exit without making a change.

If you want to check Sharc definitions the DAIDPI.DEF file, I have placed
some comments in it which describe the layout.

Note: I found three differences between the HRM descriptions of the default
register values and the actual values read from those registers at startup:

  Register        Document  Processor
  -----------------------------------
  SRU_DAT6        00000000  00FBEFBE
  SRU2_PIN0       30017556  18017556
  SRU2_PBEN0      1900C28B  0D00C28B

For these registers, I configured the tool with the actual value that I
read on the processor - and placed a comment showing the documented value.


Sorry - I know this will take a bit of time, but if we don't get these
connections right, it will cost us much more time in the development of
the tester.

Dave

