Loading simulator…
From the behavioral table:
Config = 0, Data Out must be the same as Data In.Config = 1, Data Out must be the inverse of Data In.| Config | Data In | Data Out |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
AND, OR, NAND, NOR, XOR, and NOT gates are prohibited. Only XNOR gates can be used.
First use XNOR with logic LOW to invert Config:
X = Config ⊙ 0Since XNOR with 0 gives the complement:
X = Config'Now use X with Data In in another XNOR gate:
Data Out = Data In ⊙ XCheck both Config conditions:
| Config | X = Config ⊙ 0 | Data Out |
|---|---|---|
| 0 | 1 | Data In ⊙ 1 = Data In |
| 1 | 0 | Data In ⊙ 0 = Data In' |
Therefore:
Data Out = Data In ⊙ (Config ⊙ 0)The first XNOR gate generates Config', and the second XNOR gate produces either the buffered or inverted Data In according to Config.