BestComm
Notes
MPC5200B Users Guide, Rev. 1
13-30 Freescale Semiconductor

13.17.1.1 Integer Mode

This input signal is only valid if the pack signal is negated (set to ‘0’). This signal indicates if the SDMA engine should operate in integer
mode or fractional mode. During integer mode, the engine sign-extends read data and the it reads the write size amount of data starting from
the MSB position and drives it to the proper destination byte lanes as indicated by the write address.
During fractional mode, the engine zero-extends read data and the ADS reads the write size amount of data starting from the LSB position
and drives it to the proper write byte lanes as indicated by the write address.

13.17.1.2 Pack

This input signal indicates that packing or unpacking of data should occur if the read size does not equal the write size. The pack signal has
precedence over the integerMode signal.
This signal indicates to the SmartDMA that it should pack data when the source size does not match the destination size. When this signal is
asserted, the SmartDMA should pack data, and the integerMode signal is ignored. Otherwise, the SmartDMA should not pack data. Packing
data refers to the case where the SmartDMA will wait for a full word of data before passing the data to one of the memory interfaces.
13.17.2 Variable Table
Table13-38 shows the Variable Table format to which each task must adhere. The Variable Table pointer that is located in the Task Table in
Figure 13-1 points to the first location in this 32-word (128-byte) memory space.
If restoring, and the Variable Table has been modified, then the new Variable Table pointer is located at the end of the context save space for
the corresponding task. The Variable Table for each task must be aligned to a 16-byte boundary (to aid in address calculation). Before
executing a particular task, that task’s Variable Table must be initialized with the appropriate data. Specifically, any constants, initial values,
and increment values must be written to the Variable Table before executing the corresponding task.
Variables may be loaded into words 0 through 23.Increment values 0 through 7 may be loaded into words 24 through 31, respectively.
Any of the eight increment values may be used as normal Loop-Index Variables or Constants if they are not needed as increment values. All
of these variables and increment values may be used to initialize loop-index registers. However, only variables 0 through 31 may be written
by the ADS. At this time, if variables 24 through 31 are written, it is assumed that these variables should be treated as normal Loop-Index
Variables or Constants and not as increment values. Also, note that Variable Tables may overlap if sharing the last eight variables with another

Table13-37. Behavior of Task Table Control Bits

Control Function Value Meaning
Precise Increment 0 In crements are allowed at any time the SDMA can do it
1 Only increment at the end of an iteration
No Error Code Reset 0 Reserved
1 Reserved
Pack 0 Do not pack data
1Pack data
Integer Mode 0 Fractional data representation
1 Integer data representation
Speculative Reads 0 Disabled
1 Enabled
Combined Write Enable 0 Do not enable combined writes
1 Enable combined writes
Read Line Buffer Enable 0 Do not enable line reads
1 Enable line reads