Serial Stream Demultiplexer
High-speed communication links often use time-division multiplexing to send multiple channels over a single wire. The receiving end must demultiplex this interleaved serial stream back into independent hardware channels.
The circuit receives a continuous stream of bits on din. It routes even-numbered bits to dout_a and odd-numbered bits to dout_b using an internal toggle state T. When rst is 1, the toggle state resets to 0. When rst is 0, the toggle state flips every clock cycle. The unselected output must be driven to 0.
| T | din | dout_a | dout_b | |-----|-------|----------|----------| | 0 | 0 | 0 | 0 | | 0 | 1 | 1 | 0 | | 1 | 0 | 0 | 0 | | 1 | 1 | 0 | 1 |
Constraints
- Use exactly one flip-flop to track the toggle state.
- Drive the unselected output to exactly 0.
- Reset the internal state to 0 synchronously when
rstis 1.
Topics
Solve this problem
Place the gates, wire them up and watch the signals settle. Every submission runs on the same simulation engine that grades it.
This problem is part of Codiode Pro. The statement above is free to read.
The circuit builder and code editor need a desktop screen. On a phone, read the problem here and open it on a laptop to solve.