sam33r
Member level 2
Please explain the following question. Apologies if posted in wrong forum.
Q) The minimum and maximum delays between each set of successive gates are marked as
#(min: typical: max) ns and are marked on the output node of the driving gate.
(Remember the timing equations are ≤ and ≥ constraints). You also need the
following:
· T_setup = #(1 : 1 : 2) ns.
· T_hold = #(1: 1 :2) ns.
· T_skew = #(1: 1 : 1) ns for the clock.
· T_clock-Q = #(2 : 3 : 5) ns.
· T_logic = #(1 : 2 : 3) ns for each and every logic gate from any input to any
output.
Consider the following code (implemented exactly as described):
reg A, B, C, D, E;
always@(posedge clock)
begin
A <= D ? B : E;
B <= (A | C) & D;
C <= (A ^ B) & D;
D <= (A ^ B);
E <= A | D;
If this design was converted to a latch based design and “cycle stealing” was enabled,
what would the clock period be (assuming a 50% duty cycle and rounded to the nearest
integer)?
A. 5 ns
B. 10 ns
C. 9 ns
D. 14 ns
E. None of the above are correct.
Q) The minimum and maximum delays between each set of successive gates are marked as
#(min: typical: max) ns and are marked on the output node of the driving gate.
(Remember the timing equations are ≤ and ≥ constraints). You also need the
following:
· T_setup = #(1 : 1 : 2) ns.
· T_hold = #(1: 1 :2) ns.
· T_skew = #(1: 1 : 1) ns for the clock.
· T_clock-Q = #(2 : 3 : 5) ns.
· T_logic = #(1 : 2 : 3) ns for each and every logic gate from any input to any
output.
Consider the following code (implemented exactly as described):
reg A, B, C, D, E;
always@(posedge clock)
begin
A <= D ? B : E;
B <= (A | C) & D;
C <= (A ^ B) & D;
D <= (A ^ B);
E <= A | D;
If this design was converted to a latch based design and “cycle stealing” was enabled,
what would the clock period be (assuming a 50% duty cycle and rounded to the nearest
integer)?
A. 5 ns
B. 10 ns
C. 9 ns
D. 14 ns
E. None of the above are correct.