Multiprocessor Modules

Top  Previous  Next

It is important to distinguish between processors and TIMs when using Diamond with Sundance hardware.

 

TIMs, such as the SMT361, that have only a single processor do not cause any problems; Diamond uses the TIM name in configuration files to refer to the type of processor being declared.

 

PROCESSOR root SMT361

 

You need to be more careful when dealing with multiple-processor TIMs, such as the SMT361Q or the SMT374. Once again, Diamond uses the TIM name to identify the type of processor being declared, but it identifies only one of the available processors on the TIM. You need a separate PROCESSOR statement for each processor you wish to use. For example, an SMT361Q TIM has four processors, and they can be identified as follows:

 

PROCESSOR DSP_A SMT361Q

PROCESSOR DSP_B SMT361Q

PROCESSOR DSP_C SMT361Q

PROCESSOR DSP_D SMT361Q

 

You should check the discussion about the ATTACH attribute of processor statements for information about how these individual processors are associated with particular modules.

 

Note that every Diamond application must have a root processor. If an SMT361Q is the only TIM in your system, you could rename DSP_A to be ROOT, but it is probably easier simply to give the processor the root attribute:

 

PROCESSOR DSP_A SMT361Q root

PROCESSOR DSP_B SMT361Q

PROCESSOR DSP_C SMT361Q

PROCESSOR DSP_D SMT361Q

 

Limitations on Connections

 

Sundance multiprocessor modules have a limitation that only one of the processors (usually known as the 'A' processor) can load the FPGA. Because of this, you must ensure that you can reach the A processor from the root processor without having to pass through other processors on the module (as the connections you want between the processors on the module may not exist until the FPGA has been loaded by the A processor).

 

For example, an SMT374 module has two processors: DSPA and DSPB. Consider the following configuration:

 

PROCESSOR root SMT361

PROCESSOR DSPA SMT374_6713

PROCESSOR DSPB SMT374_6713

 

WIRE W1 root[CP:4] DSPB[CP:0]

 

This produces an error from the configurer, 'the first DSP in a multi-DSP module must be loaded first' as DSPA cannot be reached from the root except through DSPB, and DSPB cannot load the SMT374's FPGA. Either swop your use of the A and B processors or add another wire to allow the A processor to be loaded first.