![Freescale Semiconductor MCF54455 Скачать руководство пользователя страница 143](http://html1.mh-extra.com/html/freescale-semiconductor/mcf54455/mcf54455_reference-manual_2330541143.webp)
Enhanced Multiply-Accumulate Unit (EMAC)
5-19
Freescale Semiconductor
MACSR.PAVn = 0
/* select the input operands */
if (sz == word)
then {if (U/Ly == 1)
then operandY[31:0] = {0x0000, Ry[31:16]}
else operandY[31:0] = {0x0000, Ry[15:0]}
if (U/Lx == 1)
then operandX[31:0] = {0x0000, Rx[31:16]}
else operandX[31:0] = {0x0000, Rx[15:0]}
}
else {operandY[31:0] = Ry[31:0]
operandX[31:0] = Rx[31:0]
}
/* perform the multiply */
product[63:0] = operandY[31:0] * operandX[31:0]
/* check for product overflow */
if (product[63:40] != 0x0000_00)
then {
/* product overflow */
MACSR.PAVn = 1
MACSR.V = 1
if (inst == MSAC && MACSR.OMC == 1)
then result[47:0] = 0x0000_0000_0000
else if (MACSR.OMC == 1)
then /* overflowed MAC,
saturationMode enabled */
result[47:0] = 0xffff_ffff_ffff
}
/* zero-fill to 48 bits before performing any scaling */
product[47:40] = 0
/* zero-fill upper byte */
/* scale product before combining with accumulator */
switch (SF)
/* 2-bit scale factor */
{
case 0:
/* no scaling specified */
break;
case 1:
/* SF = “<< 1” */
product[40:0] = {product[39:0], 0}
break;
case 2:
/* reserved encoding */
break;
case 3:
/* SF = “>> 1” */
product[39:0] = {0, product[39:1]}
break;
}
/* combine with accumulator */
if (MACSR.PAVn == 0)
then {if (inst == MSAC)
then result[47:0] = ACCx[47:0] - product[47:0]
else result[47:0] = ACCx[47:0] + product[47:0]
}
/* check for accumulation overflow */
if (accumulationOverflow == 1)
Содержание MCF54455
Страница 33: ...xxviii Freescale Semiconductor ...
Страница 67: ...Freescale Semiconductor 1 ...
Страница 125: ...Freescale Semiconductor 1 ...
Страница 145: ...Enhanced Multiply Accumulate Unit EMAC 5 21 Freescale Semiconductor ...
Страница 173: ...Cache 6 28 Freescale Semiconductor ...
Страница 179: ...Static RAM SRAM 7 6 Freescale Semiconductor ...
Страница 207: ...Power Management 9 16 Freescale Semiconductor ...
Страница 323: ...Reset Controller Module 13 8 Freescale Semiconductor ...
Страница 389: ...Pin Multiplexing and Control 16 44 Freescale Semiconductor ...
Страница 575: ...PCI Bus Controller 22 58 Freescale Semiconductor ...
Страница 600: ...Advanced Technology Attachment ATA Freescale Semiconductor 23 25 ...
Страница 601: ...Freescale Semiconductor 1 ...
Страница 842: ...I2 C Interface Freescale Semiconductor 33 16 ...
Страница 843: ...Freescale Semiconductor 1 ...
Страница 921: ...Revision History A 6 Freescale Semiconductor ...