mcf5282 Freescale Semiconductor, Inc, mcf5282 Datasheet - Page 95

no-image

mcf5282

Manufacturer Part Number
mcf5282
Description
Manufacturer
Freescale Semiconductor, Inc
Datasheet

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
MCF5282
Manufacturer:
MOTOLOLA
Quantity:
648
Part Number:
mcf5282CVF66
Manufacturer:
FREESCAL
Quantity:
600
Part Number:
mcf5282CVF66
Manufacturer:
FREESCALE
Quantity:
2
Part Number:
mcf5282CVF66
Manufacturer:
FREESCAL
Quantity:
152
Part Number:
mcf5282CVF66
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5282CVF66
Manufacturer:
FREESCALE
Quantity:
20 000
Part Number:
mcf5282CVF66J
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5282CVF80
Manufacturer:
FREESCALE
Quantity:
12 388
Part Number:
mcf5282CVF80
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5282CVF80J
Manufacturer:
Freescale Semiconductor
Quantity:
10 000
Part Number:
mcf5282CVM66
Manufacturer:
FREESCALE
Quantity:
1 002
Part Number:
mcf5282CVM66
Manufacturer:
NXP/恩智浦
Quantity:
20 000
Company:
Part Number:
mcf5282CVM80
Quantity:
4
Freescale Semiconductor
break;
case 2:
if (MACSR.OMC == 0 || MACSR.PAVn == 0)
if ((operandY[31:0] == 0x8000_0000) and and
MACSR.V = MACSR.PAVn
MACSR.N = ACCx[47]
if (ACCx[47:0] == 0x0000_0000_0000)
if ((ACCx[47:39] == 0x00_0) || (ACCx[47:39] == 0xff_1))
then {
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]) << 1
/* check for product rounding */
if (MACSR.R/T == 1)
/* sign-extend to 48 bits and combine with accumulator */
/* check for the -1 * -1 overflow case */
if (inst == MSAC)
/* check for accumulation overflow */
if (accumulationOverflow == 1)
/* transfer the result to the accumulator */
ACCx[47:0] = result[47:0]
MACSR.PAVn = 0
/* select the input operands */
if (sz == word)
}
}
else {operandY[31:0] = Ry[31:0]
}
then { /* perform convergent rounding */
else if ((product[23:0] == 0x80_0000) and and
}
then product[71:64] = 0x00
else product[71:64] = {8{product[63]}}
then result[47:0] = ACCx[47:0] - product[71:24]
else result[47:0] = ACCx[47:0] + product[71:24]
then {MACSR.PAVn = 1
}
then {if (U/Ly == 1)
MCF5282 and MCF5216 ColdFire Microcontroller User’s Manual, Rev. 3
operandX[31:0] = Rx[31:0]
if (product[23:0] > 0x80_0000)
MACSR.V = 1
if (MACSR.OMC == 1)
/* unsigned integers */
if (U/Lx == 1)
then operandX[31:0] = {Rx[31:16], 0x0000}
else operandX[31:0] = {Rx[15:0],
then product[63:24] = product[63:24] + 1
then /* accumulation overflow,
then operandY[31:0] = {0x0000, Ry[31:16]}
else operandY[31:0] = {0x0000, Ry[15:0]}
if (result[47] == 1)
then product[63:24] = product[63:24] + 1
saturationMode enabled */
then result[47:0] = 0x007f_ffff_ff00
else result[47:0] = 0xff80_0000_0000
(operandX[31:0] == 0x8000_0000))
/* sign-extend */
0x0000}
/* zero-fill */
Enhanced Multiply-Accumulate Unit (EMAC)
(product[24] == 1))
3-17

Related parts for mcf5282