madcchain

Name

madcchain -- Support CBLT chains of MADC32 modules.

Synopsis

madcchain create name

madcchain config name ?options

madcchain cget name

DESCRIPTION

This module creates and configures chains of MADC32 modules. If these modules are, in turn, run in multi-event mode, a specialized SpecTcl will be needed to unpack the data. It is possible, however to use single event mode with CBLT readout and use 'normal' SpecTcl unpacking.

The create creates a new MADC32 chain. name will be used to refer to this chain during configuration. At any time the cget returns the configuration of the chain as a list of parameter-name parameter-value pairs.

The config configures an MADC32 chain. A set of option name option value argument pairs should follow the chain name on the commandline. OPTIONS below descsribes the options and their legal values.

OPTIONS

This section describes the configuration options supported by the cmadcchain command.

-cbltaddress base-address

Defines the base address to which the CBLT reads will be directed. When the modules in the chain are initialized, this address will be programmed as the CBLT base address. Note that only the top 8 bits of this value are used.

-mcastaddress base-address

Defines the base address for the chain's multicast address. The multicast address is used to perform synchronous initialization and time-stamp clears. This address will be programmed as the MCAST base address for all modules in the chain. Only the top 8 bits of the base-address have any meaning.

-maxwordspermodule longword-coun

Defines the maximuim words that can be read from each module. This should be a number between 1 and 1024. This value should usually be larger than the -irqthreshold option programmed into the MADC32 modules in the chain. For each block read, the module will return no more data than the complete event that causes the number of longwords read from the module to exceed this value.

-modules module-name-list

Defines the list of MADC32 modules that make up the chain. The value for this option should be a well formulated Tcl list containing names of madc modules. There is a restriction on the order of these names. The first name in the list must be the leftmost module in the crate and the last name must be the right most module in the chain.

For practical purposes, to limit confusion, I generally enumderate the modules from left (low slot number) to right (higher slot number).