Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • Logic Synthesis Glossary
  • Logic Synthesis Cheatsheet
  • Synthesis Foundations14
  • Logic Optimisation and Mapping20
    • Boolean Optimisation
    • Technology Mapping
    • Cell Libraries and Liberty
      • What a Library Contains
      • Reading the Teaching Library
      • Delay Tables and Interpolation
      • Flops, Power, and Variants
      • Mapping Against the Library
    • Structuring and Buffering
  • Constraints and Timing15
  • Sequential, FSM and Memory19
  • Datapath Synthesis14
  • Area, Power and Test14
  • Verification, ECO and Handoff15
  • Flows and Debugging15
  • Interview and Judgment11
Loading lesson

‹Cell Libraries and Liberty
  1. Topics
  2. Logic Synthesis
  3. Logic Optimisation and Mapping
  4. Cell Libraries and Liberty
  5. Flops, Power, and Variants

Part 2 · Logic Optimisation and Mapping · Intermediate

Flops, Power, and Variants

Flop setup and hold, drive strength, Vt flavours, and library power data.

On this page

    Flop constraints

    A flop entry replaces output arcs with three groups: setup and hold limits on D against CLK, and clock-to-output delay. Each group carries its own two-index table.

    The teaching DFF uses EXAMPLE setup values near 0.06 and hold values near 0.01. Clock to output sits near 0.18 EXAMPLE ns.

    Entry

    Corner values (EXAMPLE ns)

    Setup, rising

    0.05, 0.06 on the first row and 0.06, 0.07 on the second.

    Hold, rising

    0.0, 0.01 on the first row and 0.01, 0.02 on the second.

    Clock to Q

    0.15, 0.17 on the first row and 0.18, 0.21 on the second.

    Diagram
    EXAMPLE parameters: clock period = 1.0 ns, data arrival = 0.60 ns, setup = 0.06 ns
    required = period - setup = 1.0 - 0.06 = 0.94 ns
    slack = required - arrival = 0.94 - 0.60 = 0.34 ns

    Drive strength and Vt flavours

    Drive strength is the same function in a larger size: more drive at more area and power. The teaching library lists one size per function, so it offers no strength choice.

    A Vt flavour is a process option that trades speed for leakage: low Vt is faster and leakier, high Vt is slower and tighter. The teaching library carries no Vt split, and real libraries vary in what they offer.

    Choice

    Faster side

    Cheaper side

    Drive strength

    A larger cell drives more load sooner.

    A smaller cell costs less area and power.

    Vt flavour

    Low Vt switches faster.

    High Vt leaks less.

    Power data

    Library power data has two parts: leakage per cell and switching energy per arc. Both move with the same choices as delay: size, Vt flavour, slew, and load.

    The teaching library omits power tables. Power arithmetic below therefore uses stated EXAMPLE parameters, not library data.

    Diagram
    EXAMPLE parameters (not library data): activity = 0.2, C = 10 fF, V = 1.0 V, f = 100 MHz
    P = activity x C x V^2 x f
      = 0.2 x 10e-15 F x (1.0 V)^2 x 100e6 Hz
      = 0.2 x 10e-15 x 1.0 x 1e8 W
      = 0.2 x 1e-6 W = 0.2 uW

    Common pitfall

    Low Vt everywhere buys speed at a leakage bill that never sleeps. Reserve fast flavours for paths that miss timing and leave the rest tight.

    Interview

    Likely probes: which number constrains the flop, and which choice burns power.

    • Setup and clock to Q come from the library tables; the period and arrival close the slack.

    • Drive strength trades load drive against area and switching energy.

    • Vt flavour trades speed against leakage, and offerings vary by library.

    Check yourself Period is 1.0 ns, arrival is 0.60 ns, and setup is 0.06 ns. What is the setup slack?

    Required is 0.94 ns. Slack is 0.94 - 0.60 = 0.34 ns.

    Check yourself Activity is 0.2 with C 10 fF at 1.0 V and 100 MHz. What is the switching power?

    0.2 uW: 0.2 x 10e-15 x 1.0 x 1e8 = 0.2e-6 W.

    Related topics

    • Mapping against the library

    • Delay Models and Slack

    Previous

    30 / 139

    Next: Mapping Against the Library

    Up next

    Up nextMapping Against the Library

    Sign in to save progress

    Practice this lessonReport an error

    See also

    • What a Library Contains
    • Reading the Teaching Library