multiplier.html 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <html>
  2. <head>
  3. <title>Multiplier</title>
  4. </head>
  5. <body bgcolor="FFFFFF">
  6. <h1><img align="center" src="../../../../en/icons/multiplier.gif" width="32" height="32">
  7. <em>Multiplier</em></h1>
  8. <p><table>
  9. <tr><td><strong>Library:</strong></td>
  10. <td><a href="index.html">Arithmetic</a></td></tr>
  11. <tr><td><strong>Introduced:</strong></td>
  12. <td>2.0 Beta 20</td></tr>
  13. <tr><td valign="top"><strong>Appearance:</strong></td>
  14. <td valign="top"><img src="../../../../en/img-libs/multiplier.png" width="44" height="45"></td></tr>
  15. </table></p>
  16. <h2>Behavior</h2>
  17. <p>This component multiplies two values coming in via the west inputs
  18. and outputs the product on the east output. The component is designed so
  19. that it can be cascaded with other multipliers to multiply a
  20. multiplicand with more bits than is possible with a single multiplier:
  21. The carry-in input provides a multi-bit value to be added into the
  22. product (if it is specified), and a carry-out output provides the upper
  23. half of the product result, which can be fed into another
  24. multiplier.</p>
  25. <p>If the multiplicand, the multiplier, or the carry-in input contain
  26. some floating bits or some error bits, then the component will perform a
  27. partial multiplication. That is, it will compute as many low-order bits
  28. as possible. But above the floating or error bit, the result will have
  29. floating or error bits. Note that if the carry-in input is completely
  30. floating, then it will be assumed to be all-zeroes.</p>
  31. <h2>Pins</h2>
  32. <dl>
  33. <dt>West edge, north end (input, bit width matches Data Bits attribute)
  34. <dd>The multiplicand (that is, the first of the two numbers to
  35. multiply).
  36. <dt>West edge, south end (input, bit width matches Data Bits attribute)
  37. <dd>The multiplier (that is, the second of the two numbers to multiply).
  38. <dt>North edge, labeled <var>c in</var> (input, bit width matches Data Bits attribute)
  39. <dd>A carry value to add into the product. If all bits of the value are
  40. unknown (i.e., floating), then they are assumed to be 0.
  41. <dt>East edge (output, bit width matches Data Bits attribute)
  42. <dd>The lower <var>dataBits</var> bits of the product of the two values
  43. coming in the west edge, plus the <var>c</var><sub><var>in</var></sub>
  44. value.
  45. <dt>South edge, labeled <var>c out</var> (output, bit width matches Data Bits attribute)
  46. <dd>The upper <var>dataBits</var> bits of the product.
  47. </dl>
  48. <h2>Attributes</h2>
  49. <p>When the component is selected or being added,
  50. Alt-0 through Alt-9 alter its <q>Data Bits</q> attribute.</p>
  51. <dl>
  52. <dt>Data Bits</dt>
  53. <dd>The bit width of the values to be multiplied and of the result.</dd>
  54. </dl>
  55. <h2>Poke Tool Behavior</h2>
  56. <p>None.</p>
  57. <h2>Text Tool Behavior</h2>
  58. <p>None.</p>
  59. <p><a href="../index.html">Back to <em>Library Reference</em></a></p>
  60. </body>
  61. </html>