The slic driver software suite
(SLIC_driver)
is responsible for receiving commands
from external sources (such as TCC), passing these commands on to the
SLICs in the system and receiving answers back from them. It is an
outgrowth of the code developed to test the SLIC functionality as the
SLICs were being built. SLIC_driver must also access databases
containing SLIC operations parameters (such as DSP boot files,
algorithm tables, etc.).

SLIC_driver needs to operate in two command modes.
The main functional features of SLIC_driver are given below.
| Function Libraries |
Description |
| Low Level Utilities: utilslib(*) |
General utilities used by low level functions. For example, card_to_slot. |
| Bit3 Communications: bit3lib(*) |
Low level Bit3 functions. |
| Database Access: slicparlib |
Functions to read parameters from
wherever they are stored - COOR(?). Parameter files to be read
are:
|
| FPGA Operations: slicfpgalib (+hotlinklib) dspfpgalib |
Functions used to access FPGA
control and status registers.
|
| DSP Booting: dspbootlib |
Control of the DSP boot proceedure and boot-tests. |
| Initialization: slicinitlib |
Functions used to set up the SLICs for
operation in any of the desired modes. These include:
|
| DAQ Command Interpreter: daqcmdlib(*) |
A library of functions that talk with the DØ DAQ and pass on
its commands to the SLICs.
Things to include here are
|
| SLIC Tests: slictestlib (+testutils) |
A collection of functions used to test and debug the SLICs in
situ. They are run to help localize problems for which a SLIC is
one of the suspects.
These tests fall into several operational categories
|
| UAz Device Driver: uaz_driverlib |
Support code for using the U Arizona test data board. |
| Local Test Interface: testinterface(*) |
The driver program for local tests
(menu in the current SlicDriver).
This should include:
|
| Monitoring: slicmonitor(*) |
The functions in this library serve as an interface and collector
for monitoring information from the SLICs (DSP-5).
Note that this library may actually be part of the standard
Alpha code.
The following tasks need to be performed.
|