Building DFF using Nands has been discussed in other posts. A student was wondering about building Register using a multiplexor.


Notes:
The multiplexors must be
hazard free to be used in asynchronous sequential circuits like these.
Don't combine the left-most 2 muxes into a 4-way mux. A hazard free 4-way is much bigger than two hazard free 2-ways.
In
Logisim, these circuits initialize to unknown output (shown as "x"). In the real world they would initialize to unknown random 0s or 1s.
Here is the Logisim file for these circuits:
mux-dff-reg.circ--Mark