transmis.html 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <html>
  2. <head>
  3. <title>Transmission Gate</title>
  4. </head>
  5. <body bgcolor="FFFFFF">
  6. <h1><img align="center" src="../../../../en/icons/transmis.gif" width="32" height="32">
  7. <em>Transmission Gate</em></h1>
  8. <p><table>
  9. <tr><td><strong>Library:</strong></td>
  10. <td><a href="index.html">Wiring</a></td></tr>
  11. <tr><td><strong>Introduced:</strong></td>
  12. <td>2.7.0</td></tr>
  13. <tr><td valign="top"><strong>Appearance:</strong></td>
  14. <td valign="top"><img src="../../../../en/img-libs/transmis.png" width="44" height="43"></td></tr>
  15. </table></p>
  16. <h2>Behavior</h2>
  17. <p>A transmission gate has three inputs,
  18. called <em>source</em>, <em>n-gate</em>, and <em>p-gate</em>;
  19. and it has one output, called <em>drain</em>. When diagrammed, the <em>source</em>
  20. input and <em>drain</em> output are drawn connected by two plates;
  21. Logisim draws an arrowhead to indicate the direction of flow from input to output.
  22. The two <em>gate</em> inputs are drawn as lines connected to plates parallel to
  23. each of the plates connecting <em>source</em> to <em>drain</em>.
  24. The <em>p-gate</em> input's line has a circle, while the <em>n-gate</em> input's line does not.</p>
  25. <center><table>
  26. <tr><td></td><td align="center"><em>p-gate</em></td><td></td></tr>
  27. <tr><td valign="middle"><em>source</em></td>
  28. <td align="center" valign="middle"><img src="../../../../en/img-libs/transmis.png" width="44" height="43"></td>
  29. <td valign="middle"><em>drain</em></td>
  30. <tr><td></td><td align="center"><em>n-gate</em></td><td></td></tr>
  31. </table></center>
  32. <p>The transmission gate is simply the combination of two complementary
  33. transistors. Indeed, the same behavior can be achieved in Logisim by using just
  34. one transistor. However, designers sometimes prefer to use matched pairs of
  35. transistors due to electrical issues with draining voltage
  36. that is more complex than Logisim attempts to simulate.</p>
  37. <p>The values at <em>n-gate</em> and <em>p-gate</em> are expected to be
  38. opposite to each other. If <em>p-gate</em> is 0 while <em>n-gate</em> is 1,
  39. then the value found at <em>source</em> is transmitted to <em>drain</em>.
  40. If <em>p-gate</em> is 1 while <em>p-gate</em> is 0, then the connection is broken,
  41. so the value at <em>drain</em> is left floating. In all other cases, <em>drain</em>
  42. receives an error output &mdash; unless <em>source</em> is floating,
  43. in which case <em>drain</em> is floating as well. This behavior is summarized by the following table.</p>
  44. <center><table>
  45. <tr><th><em>p-gate</em></th><th><em>n-gate</em></th><th><em>drain</em></th></tr>
  46. <tr><td align="center">0</td><td align="center">0</td><td align="center">X*</td></tr>
  47. <tr><td align="center">0</td><td align="center">1</td><td align="center"><em>source</em></td></tr>
  48. <tr><td align="center">1</td><td align="center">0</td><td align="center">Z</td></tr>
  49. <tr><td align="center">1</td><td align="center">1</td><td align="center">X*</td></tr>
  50. <tr><td align="center">X/Z</td><td align="center"><em>any</em></td><td align="center">X*</td></tr>
  51. <tr><td align="center"><em>any</em></td><td align="center">X/Z</td><td align="center">X*</td></tr>
  52. </tbody></table>
  53. <p>* <em>If <em>source</em> is Z, <em>drain</em> is Z; otherwise <em>drain</em> is X.</p>
  54. </center>
  55. <p>If the Data Bits attribute is more than 1, each <em>gate</em> input is still
  56. a single bit, but the <em>gate</em> values are applied simultaneously to each of the
  57. <em>source</em> input's bits.</p>
  58. <h2>Pins (assuming component faces east, gate line top/left)</h2>
  59. <dl>
  60. <dt>West edge (input, bit width matches Data Bits attribute)</dt>
  61. <dd>The component's <em>source</em> input that will transmit to the output
  62. if triggered by the <em>p-gate</em> and <em>n-gate</em> inputs.</dd>
  63. <dt>North edge (input, bit width 1)</dt>
  64. <dd>The component's <em>p-gate</em> input.</dd>
  65. <dt>South edge (input, bit width 1)</dt>
  66. <dd>The component's <em>n-gate</em> input.</dd>
  67. <dt>East edge (output, bit width matches Data Bits attribute)</dd>
  68. <dd>The component's output, which will match the <em>source</em> input
  69. if <em>p-gate</em> is 0 and <em>n-gate</em> is 1, or it will be floating if
  70. <em>p-gate</em> is 1 and <em>n-gate</em> is 0. For all other values on <em>p-gate</em> and <em>n-gate</em>,
  71. the output is an error value.</dd>
  72. </dl>
  73. <h2>Attributes</h2>
  74. <p>When the component is selected or being added,
  75. Alt-0 through Alt-9 alter its <q>Data Bits</q> attribute
  76. and the arrow keys alter its <q>Facing</q> attribute.</p>
  77. <dl>
  78. <dt>Facing</dt>
  79. <dd>The direction of the component (its output relative to its input).</dd>
  80. <dt>Gate Location</dt>
  81. <dd>The location of the gate input.</dd>
  82. <dt>Data Bits</dt>
  83. <dd>The bit width of the component's inputs and outputs.</dd>
  84. </dl>
  85. <h2>Poke Tool Behavior</h2>
  86. <p>None.</p>
  87. <h2>Text Tool Behavior</h2>
  88. <p>None.</p>
  89. <p><a href="../index.html">Back to <em>Library Reference</em></a></p>
  90. </body>
  91. </html>