7 / 36 · Concept
The MUX and its observation register
Distinguish a combinational output from a sampled output.
Les leçons sont gratuites. Inscrivez-vous pour enregistrer vos progrès.
La traduction n’est pas encore disponible. La leçon originale est affichée. (English)
One output, two choices
A multiplexer chooses one input and routes it to an output. Our two inputs are a and b; sel decides which one is selected.
In assign y = sel ? b : a;, sel=0 selects a and sel=1 selects b. The combinational output follows its input without storing a value at a clock edge.
sampled_y is a register. It captures y at a rising clock edge and holds that value until the next rising edge. Compare these two behaviors in the waveform.
| a | b | sel | y |
|---|---|---|---|
| 0 | 1 | 0 | 0 |
| 0 | 1 | 1 | 1 |
| 1 | 0 | 0 | 1 |
| 1 | 0 | 1 | 0 |
With a=0 and b=1, when do y and sampled_y change as sel goes from 0 to 1?