Altifigence Academy

13 / 37 · Check

Design check: selection equivalence and observation timing

Distinguish checks covered by a truth table from those requiring clock observations.

Read the conditions and draw the event order

The combinational output is y=s‾a+sby=\overline s a+sb, and sampled_y captures y at a rising edgeRising edge The instant at which the clock changes from 0 to 1. Distinguish it from a level, which refers to the entire interval during which CLK=1. Learn more. Assume a=1,b=0,s=0a=1,b=0,s=0 has already been captured once. Then change s to 1 between clock edges.

The question asks for values after inputs and combinational logic have settled, before the next rising edge. Functional equivalence and a register'sRegister A circuit that stores multiple bits of state. The synchronous registers in this course store their specified inputs at a clock edge. Learn more observation timing are separate verification items.

Below is the observation order for these conditions, with a=1 and b=0. In the interval where the combinational and stored outputs differ, explain which signal represents present inputs and which represents an earlier capture.

Changes between edges and the stored value
View waveform data
Wave data: each character is one interval; a dot holds the previous state; p is a clock cycle.
SignalWaveBus values
event234captured → sel changes → next edge
sel01.
y10.
sampled_y1.0

Further design questions

  1. Prove with all eight combinations that y=(a & ~s) | (b & s) is equivalent to a one-bit MUXMultiplexer A combinational circuit that connects one of several inputs to the output according to a select signal. Specify how select bits map to input numbers. Learn more.
  2. If sampled_y is removed, the functional equation remains. Explain which temporal behavior disappears.
  3. Explain why ideal RTL values alone cannot guarantee physical hardware behavior when the s transition and rising edge are too close.

Try it yourself

Can tests using only a=b detect reversed selection in a four-bit MUX?

Read the explanation

No. Equal inputs give the same result whichever is selected. For example, test both s=0 and s=1 with a=0101, b=1010 to distinguish select polarity and the transfer of each bit.

Under the conditions above, what is (y, sampled_y) just before the next rising edge?

Choose an answer

Your choice applies to this browser. Change it any time using the footer.