Skip to content

Commit b0af31e

Browse files
authored
Added controlled inverter docs (#513)
* feat: added controlled inverter docs * fix: added tristate buffer image link * fix: coderabbit suggested changes
1 parent d9b5b4d commit b0af31e

1 file changed

Lines changed: 60 additions & 8 deletions

File tree

docs/chapter4/8misc.md

Lines changed: 60 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ description: "Misc page in Chapter4 of CircuitVerse documentation."
99
1. [ALU](#alu)
1010
2. [Adder](#adder)
1111
3. [Buffer](#buffer)
12-
4. [TriState Buffer](#tristate-buffer)
13-
5. [Tunnel](#tunnel)
14-
6. [Splitter](#splitter)
15-
7. [Equal Split](#equal-split)
16-
8. [Unequal Split](#unequal-split)
17-
9. [Flag](#flag)
18-
10. [Two's Complement](#twos-complement)
12+
4. [Controlled Inverter](#controlled-inverter)
13+
5. [TriState Buffer](#tristate-buffer)
14+
6. [Tunnel](#tunnel)
15+
7. [Splitter](#splitter)
16+
8. [Equal Split](#equal-split)
17+
9. [Unequal Split](#unequal-split)
18+
10. [Flag](#flag)
19+
11. [Two's Complement](#twos-complement)
1920

2021
## ALU
2122

@@ -315,6 +316,57 @@ You can verify the behavior of the **Buffer** circuit element in the live circui
315316
{" "}
316317
</iframe>
317318

319+
## Controlled Inverter
320+
321+
The **Controlled Inverter** circuit element is a controlled gate that inverts the input signal when enabled. As illustrated in the circuit, this element includes an **Enable** input that controls whether the input is inverted at the output or the output is disconnected from the circuit.
322+
323+
- If the **Enable** input signal is HIGH, the controlled inverter gate inverts the input signal (behaves like a NOT gate).
324+
- If the **Enable** input signal is LOW, the controlled inverter gate passes a high impedance signal which effectively disconnects its output from the circuit.
325+
326+
If required, a user can change the orientation of the circuit element using the arrow keys on the keyboard or editing the value of the **Direction** attribute available in the **PROPERTIES** panel for the **Controlled Inverter** circuit element.
327+
328+
> Properties that can be customized in the **PROPERTIES** panel include: **Direction, BitWidth**
329+
330+
Table 4.24: Truth table for a Controlled Inverter gate
331+
332+
<table>
333+
<tr>
334+
<td>
335+
<strong>Enable</strong>
336+
</td>
337+
<td>
338+
<strong>Input</strong>
339+
</td>
340+
<td>
341+
<strong>Output</strong>
342+
</td>
343+
</tr>
344+
<tr>
345+
<td>0</td>
346+
<td>0</td>
347+
<td>Z</td>
348+
</tr>
349+
<tr>
350+
<td>0</td>
351+
<td>1</td>
352+
<td>Z</td>
353+
</tr>
354+
<tr>
355+
<td>1</td>
356+
<td>0</td>
357+
<td>1</td>
358+
</tr>
359+
<tr>
360+
<td>1</td>
361+
<td>1</td>
362+
<td>0</td>
363+
</tr>
364+
</table>
365+
366+
You can verify the behavior of the **Controlled Inverter** circuit element in the live circuit embedded below:
367+
368+
<iframe src="https://circuitverse.org/simulator/embed/controlled-inverter-192f44be-551e-4204-b495-ef7234705575?theme=&display_title=false&clock_time=true&fullscreen=true&zoom_in_out=true" title="Controlled Inverter live circuit" style="border-width:; border-style: ; border-color:;" name="myiframe" id="projectPreview" scrolling="no" frameborder="1" marginheight="0px" marginwidth="0px" height="500" width="500" allowFullScreen></iframe>
369+
318370
## TriState Buffer
319371

320372
The **TriState** buffer circuit element behaves similar to a buffer. As Figure 4.17 illustrates, this circuit element includes an additional **Enable** input that controls whether the primary input is passed to its output or not.
@@ -332,7 +384,7 @@ If required, a user can change the orientation of the circuit element using the
332384
<em>Figure 4.19: Relevant attributes for the TriState circuit element</em>
333385
</div>
334386

335-
Table 4.24: Truth table for a TriState buffer
387+
Table 4.25: Truth table for a TriState buffer
336388

337389
<table>
338390
<tr>

0 commit comments

Comments
 (0)