Cosmo is a graphical program for testing prototype Token Bit Manager (TBM) and Read Out Chips (ROCs) that are being developed for use in the Compact Muon Solenoid (CMS) experiment at the Large Hadron Collider (LHC) at CERN.
History and Requirements
Cosmo development began in 2002 as a graphical testing tool for use in developing the TBM chip. The program was written in Tcl/Tk and communicated to the target test board via a parallel port connection. The port "bit-banged" a I2C-like signal directly to control the test TBMs at a bitrate of less then 100KHz.
New versions of the software were later designed to communicate over a USB link to an FPGA board which was in turn connected to a circuit board containing the test TBM and ROCs. This allowed the relatively slow USB link to buffer commands into the FPGA for them to be sent to the target ICs at the required 40MHz speed.
To download the USB version of cosmo see the USB cosmo download directory.
The current versions of cosmo communicate with the target ICs via optical links to a VME card, with orders of magnitude improvement in configuration throughput.
To run cosmo one should use a Scientific Linux CERN (3.0.6 SL) PC with a CAEN 2818 VME controller to communicate with the FEC VME carrier board, which contains 8 mfec modules. For specifics about the test boards currently in use, please see http://www.physics.rutgers.edu/~bartz/cms. Cosmo will run on a PC with as little as 128MB memory and a 300MHz P3, but I recommend a minimum of 512MB memory and 1GHz+ cpu for good performance.
Cosmo is distributed to users in a tar file along with a "helper" program which facilitates communication with the VME device. Cosmo can simply be run in the X windows environment, while the helper must be copied to the /usr/local/cosmo/bin directory. Please see the files in the tar archive for further details.