divider.html 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <html>
  2. <head>
  3. <title>Divider</title>
  4. </head>
  5. <body bgcolor="FFFFFF">
  6. <h1><img align="center" src="../../../../en/icons/divider.gif" width="32" height="32">
  7. <em>Divider</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 22</td></tr>
  13. <tr><td valign="top"><strong>Appearance:</strong></td>
  14. <td valign="top"><img src="../../../../en/img-libs/divider.png" width="44" height="45"></td></tr>
  15. </table></p>
  16. <h2>Behavior</h2>
  17. <p>This component divides two values coming in via the west inputs and
  18. outputs the quotient on the east output. The component is designed so
  19. that it can be cascaded with other dividers to provide support a
  20. dividend with more bits than
  21. is possible with a single divider: The upper input provides the
  22. upper <var>dataBits</var> bits of the dividend (if it is specified at
  23. all), and the <var>rem</var> bits provide the remainder, which can be
  24. fed as the <var>upper</var> input into another divider.</p>
  25. <p>If the divisor is 0, then no division is performed (i.e., the divisor
  26. is assumed to be 1).</p>
  27. <p>The divider essentially performs unsigned division. That is, the
  28. remainder will always be between 0 and <var>divisor</var>-1. The
  29. quotient will always be an integer so that
  30. <center>
  31. <var>quotient</var> * <var>divisor</var> + <var>remainder</var>
  32. = <var>dividend</var> .
  33. </center>
  34. If, however, the <var>quotient</var> does not fit into
  35. <var>dataBits</var> bits, then only the lower <var>dataBits</var> bits
  36. will be reported. The component does not provide any method for
  37. accessing the upper <var>dataBits</var> bits.</p>
  38. <p>If either of the operands contains some floating bits or some error
  39. bits, then the component's outputs will be either entirely floating or
  40. entirely error values.</p>
  41. <h2>Pins</h2>
  42. <dl>
  43. <dt>West edge, north end (input, bit width matches Data Bits attribute)
  44. <dd>The lower <var>dataBits</var> bits of the dividend (that is, the
  45. first operand for the division).
  46. <dt>West edge, south end (input, bit width matches Data Bits attribute)
  47. <dd>The divisor (that is, the second operand for the division)
  48. <dt>North edge, labeled <var>upper</var> (input, bit width matches Data Bits attribute)
  49. <dd>The upper <var>dataBits</var> bits of the dividend (that is, the
  50. first operand for the division).
  51. <dt>East edge (output, bit width matches Data Bits attribute)
  52. <dd>The lower <var>dataBits</var> bits of the quotient, as specified
  53. above.
  54. <dt>South edge, labeled <var>rem</var> (output, bit width matches Data Bits attribute)
  55. <dd>The remainder of the division. This value will always be between 0
  56. and <var>divisor</var>-1.
  57. </dl>
  58. <h2>Attributes</h2>
  59. <p>When the component is selected or being added,
  60. Alt-0 through Alt-9 alter its <q>Data Bits</q> attribute.</p>
  61. <dl>
  62. <dt>Data Bits</dt>
  63. <dd>The bit width of the values to be divided and of the result.</dd>
  64. </dl>
  65. <h2>Poke Tool Behavior</h2>
  66. <p>None.</p>
  67. <h2>Text Tool Behavior</h2>
  68. <p>None.</p>
  69. <p><a href="../index.html">Back to <em>Library Reference</em></a></p>
  70. </body>
  71. </html>