Work Plan
Work Plan
Steps:
1. Master-Slave Configuration:
Master Latch:
Use a transmission gate (NMOS: W/L = 90/50 nm, PMOS:
W/L = 180/50 nm) for input D.
Add two cross-coupled inverters (sized as per specs) to
hold the state when CLK is high.
Slave Latch:
Use identical transmission gates and inverters as the
master.
Connect to the master’s output.
Activate when CLK is low (inverted CLK signal).
2. CLK Inversion:
Insert an inverter between the master and slave latches to
generate CLK' (inverted CLK).
Ensure the inverter is sized correctly (NMOS: 90/50 nm, PMOS:
180/50 nm).
3. Symbol Creation:
Draw a rectangular symbol with:
Inputs: D, CLK (with a falling-edge indicator ►▾).
Outputs: Q, Q' (complementary).
Deliverable:
CLK' Generation:
Invert CLK using a sized inverter (same as latch inverters).
D Input:
Set transitions:
0 → 1 at 2ns (during CLK high phase).
1 → 0 at 7ns (during CLK high phase).
2. Simulation Setup:
Use a transient analysis with:
Stop time = 10ns (to cover two D transitions).
Step size = 1ps (as specified).
3. Expected Behavior:
Q updates on CLK falling edges (2.5ns, 7.5ns):
At 2.5ns: Q should capture D=1 (set at 2ns).
At 7.5ns: Q should capture D=0 (set at 7ns).
Deliverable:
Verification Checklist
1. Transistor Sizing:
o Confirm NMOS/PMOS widths and lengths in inverters and
transmission gates.
2. Edge-Triggering:
Ensure Q changes only on CLK falling edges.
3. Timing:
o D transitions occur during CLK high phases (setup time
compliance).
Q.2
Objective: Determine the minimum time data (D) must stabilize before the
clock (CLK) rising edge.
Steps:
1. Simulation Setup:
o Implement the flip-flop circuit with two latches and three
inverters as described.
o Connect CLK and D as inputs; monitor outputs QM (master latch)
and Q (slave latch).
2. Signal Configuration:
o Set CLK to a periodic signal (e.g., 50% duty cycle).
o Set D to transition (0→1 or 1→0) at time t_x, and CLK to rise
at t_t.
o Define ΔT = t_t - t_x. Start with a large positive ΔT (e.g., D
transitions far before CLK edge).
3. Sweep ΔT:
o Decrease ΔT incrementally (move D transition closer to CLK
edge) while keeping CLK fixed.
o For each ΔT, simulate and check if Q captures the correct D
value after CLK edge.
4. Failure Detection:
o Identify the smallest ΔT where Q still functions correctly. This
ΔT is the setup time.
Objective: Determine the minimum time data (D) must remain stable after
the CLK rising edge.
Steps:
1. Signal Configuration:
o Set ΔT to a large negative value (e.g., D transitions long after
CLK edge).
o Define ΔT = t_t - t_x (negative since t_x > t_t).
2. Sweep ΔT:
o Increase ΔT incrementally (move D transition closer to CLK edge
from the "after" side).
o For each ΔT, simulate and verify , Q maintains the correct value.
3. Failure Detection:
o Identify the smallest |ΔT| where Q starts to fail. This |ΔT| is
the hold time
Q.3
1. Circuit Setup:
Implement the schematic with three flip-flops (FFs) and the
NAND gate.
Connect FF1’s Q to NAND input A, FF2’s Q to NAND input B,
and NAND output to FF3’s D.
Ensure all FFs share the same clock (CK).
1. Signal Configuration:
Fix B = 1 (FF2’s D = 1).
Toggle A (FF1’s D) between 0→1→0 with a periodic signal.
Set initial clock period large (e.g., 10 ns).
3. Failure Detection:
Identify the smallest period where output fails (setup/hold
violation).
Max Frequency = 1 / Min Valid Period.
1. Signal Configuration:
Fix A = 1 (FF1’s D = 1).
Toggle B (FF2’s D) between 0→1→0.
1. Compare Results:
o Take the lower max frequency from Steps 2 and 3 as the
system limit.
2. Validate Against Formula:
o Ensure the clock period T=1/fmax satisfies T>Tdk=0+TCLmax