mcf51jf128 Freescale Semiconductor, Inc, mcf51jf128 Datasheet - Page 291

no-image

mcf51jf128

Manufacturer Part Number
mcf51jf128
Description
Mcf51jf128 Reference Manual
Manufacturer
Freescale Semiconductor, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
mcf51jf128VLH
Manufacturer:
MITSUBISHI
Quantity:
321
Part Number:
mcf51jf128VLH
Manufacturer:
FREESCALE
Quantity:
5 097
Part Number:
mcf51jf128VLH
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf51jf128VLH
Manufacturer:
FREESCALE
Quantity:
5 097
}
Freescale Semiconductor, Inc.
break;
}
MACSR.V = MACSR.PAVn
MACSR.N = ACCx[47]
if (ACCx[47:0] == 0x0000_0000_0000)
if (ACCx[47:32] == 0x0000)
then MACSR.Z = 1
else MACSR.Z = 0
then MACSR.EV = 0
else MACSR.EV = 1
/* perform the multiply */
product[63:0] = operandY[31:0] * operandX[31:0]
/* check for product overflow */
if (product[63:40] != 0x0000_00)
/* scale product before combining with accumulator */
switch (SF)
{
}
/* combine with accumulator */
if (MACSR.PAVn == 0)
/* check for accumulation overflow */
if (accumulationOverflow == 1)
/* transfer the result to the accumulator */
ACCx[47:0] = result[47:0]
/* zero-fill to 48 bits before performing any scaling */
product[47:40] = 0
}
else {operandY[31:0] = Ry[31:0]
}
then {
}
then {if (inst == MSAC)
}
then {MACSR.PAVn = 1
}
case 0:
case 1:
case 2:
case 3:
break;
product[40:0] = {product[39:0], 0}
break;
break;
product[39:0] = {0, product[39:1]}
break;
if (U/Lx == 1)
operandX[31:0] = Rx[31:0]
MACSR.PAVn = 1
MACSR.V = 1
if (inst == MSAC && MACSR.OMC == 1)
MACSR.V = 1
if (inst == MSAC && MACSR.OMC == 1)
MCF51JF128 Reference Manual, Rev. 2, 03/2011
then operandX[31:0] = {0x0000, Rx[31:16]}
else operandX[31:0] = {0x0000, Rx[15:0]}
then result[47:0] = 0x0000_0000_0000
else if (MACSR.OMC == 1)
then result[47:0] = ACCx[47:0] - product[47:0]
else result[47:0] = ACCx[47:0] + product[47:0]
then result[47:0] = 0x0000_0000_0000
else if (MACSR.OMC == 1)
/* 2-bit scale factor */
/* no scaling specified */
/* SF = "<< 1" */
/* reserved encoding */
/* SF = ">> 1" */
/* product overflow */
then /* overflowed MAC,
then /* overflowed MAC,
result[47:0] = 0xffff_ffff_ffff
/* zero-fill upper byte */
result[47:0] = 0xffff_ffff_ffff
saturationMode enabled */
Preliminary
saturationMode enabled */
Chapter 12 Enhanced Multiply-Accumulate Unit (EMAC)
291

Related parts for mcf51jf128