Autosave: 2022-12-19 08:00:05
This commit is contained in:
parent
17a184be3c
commit
5a2aa69384
1 changed files with 45 additions and 0 deletions
|
@ -14,3 +14,48 @@ This is an important skill that we will use when constructing [logic circuits](/
|
|||
## The process
|
||||
|
||||
The process proceeds as follows:
|
||||
|
||||
1. Work out the truth conditions for the circuit we want to construct
|
||||
2. Identify the rows where the output is equal to 1
|
||||
3. For each of these rows construct a Boolean expression that evaluates to that output
|
||||
4. Join each expression with OR
|
||||
5. Reduce these expressions to a single expression in its simplest form
|
||||
|
||||
## Example
|
||||
|
||||
Let's say we have the following truth table:
|
||||
|
||||
| Line | $x$ | $y$ | $z$ | $f$ |
|
||||
| ---- | --- | --- | --- | --- |
|
||||
| 1 | 0 | 0 | 0 | 1 |
|
||||
| 2 | 0 | 0 | 1 | 0 |
|
||||
| 3 | 0 | 1 | 0 | 1 |
|
||||
| 4 | 0 | 1 | 1 | 0 |
|
||||
| 5 | 1 | 0 | 0 | 1 |
|
||||
| 6 | 1 | 0 | 1 | 0 |
|
||||
| 7 | 1 | 1 | 0 | 0 |
|
||||
| 8 | 1 | 1 | 1 | 0 |
|
||||
|
||||
We only need to focus on lines 1, 3, and 5 since they have the output 1:
|
||||
|
||||
| Line | $x$ | $y$ | $z$ | $f$ |
|
||||
| ---- | --- | --- | --- | --- |
|
||||
| 1 | 0 | 0 | 0 | 1 |
|
||||
| 3 | 0 | 1 | 0 | 1 |
|
||||
| 5 | 1 | 0 | 0 | 1 |
|
||||
|
||||
For each line we construct a Boolean expression that would result in the value in the $f$ column. In other words we construct the function:
|
||||
|
||||
| Line | $x$ | $y$ | $z$ | $f$ |
|
||||
| ---- | --- | --- | --- | ------------------------------------------- |
|
||||
| 1 | 0 | 0 | 0 | $ \lnot(x) \land \lnot (y) \land \lnot(z) $ |
|
||||
| 3 | 0 | 1 | 0 | $ \lnot(x) \land y \land \lnot(z) $ |
|
||||
| 5 | 1 | 0 | 0 | $ x \land \lnot(y) \land \lnot(z) $ |
|
||||
|
||||
We can now join each expression to create a complex expression that covers the entire truth table. Since 1 will be output for any one of these sub-expressions we can just join them up with OR:
|
||||
|
||||
$$
|
||||
(\lnot(x) \land \lnot (y) \land \lnot(z)) \lor \lnot(x) \land y \land \lnot(z) \lor x \land \lnot(y) \land \lnot(z)
|
||||
$$
|
||||
|
||||
It's clear that we have transcribed the truth conditions accurately but that we are doing so in a rather verbose way. Let's simplify:
|
||||
|
|
Loading…
Add table
Reference in a new issue