
Introduces part two of static timing analysis, focusing on practical storage analysis and interface checks using an open source tool; guides Linux on Windows setup and tool installation.
Explore opentimer basics, define a netlist with flip-flops and clocks, and create a my_run.tcl script to drive static timing analysis in a linux opentimer workflow.
Learn clock creation and clock arrival time definitions in static timing analysis, exploring clock constraints, duty cycle, rise and fall edges, and setup and hold considerations.
Explore the arrival time constraint for input delay in interface setup and hold analysis, linking clock edges to 50 ps and 100 ps delays at input and output ports.
Analyze clock and data slew constraints in static timing analysis, interpreting 70 picosecond early rise, 50 picosecond early fall, and 20–80 percent points for accurate delay calculations.
Explore output load and output delay constraints within static timing analysis, applying setup and hold considerations, clock period, and constraint constants to assess chip design behavior.
Perform static timing analysis to compute the actual arrival time (AAT) and required arrival time (RAT) across flops, assess slack, and study setup and capture timing with clock delays.
Explore slack computation, pessimism, CPR points, common paths, setup and hold constraints, and engineering change orders within static timing analysis.
Analyze interface analysis by modeling input and output interfaces for macro blocks and external drivers, including clocks and signals, to understand timing and data flow.
Case 1 analyzes c2q and known input combinational delay, modeling clock cycles and setup/hold windows to show how timing impacts flip-flop data, and demonstrates fixing negative slack by resizing gates.
Examine input waveform specifications for static timing analysis, detailing setup and hold windows before clock edges and how input delays influence timing constraints.
Analyze setup time, hold time, and the combinational delay for the output using timing diagrams and open timing constraints.
Analyze hold fixing eco and case 4 output waveform specifications, detailing timing constraints, rise and fall behavior, delays, and inserting buffers or inverters to meet setup and hold requirements.
Explains source-synchronous interface setup analysis by modeling launch and capture flops, 470 picosecond windows before and after the clock edge, and using generic logs and MCP to evaluate timing.
Explore source synchronous interface setup analysis in OpenTimer to model launch and capture clocks, compute arrival times, and assess slack through setup and timing reports.
Analyze hold time for a source-synchronous interface, focusing on clock edge shifts, launch and capture blocks, and constraint updates to ensure reliable timing.
Explore why clock gating analysis is needed, how gating controls with muxes and flip-flops affect timing, and how static timing analysis guides power-saving clock gating strategies.
Explore active high clock gating analysis to prevent glitches by removing feedback loops, enforcing setup time, and validating enable and data stability before clock edges.
apply static timing analysis to active low clock gating, examining setup and hold time, slack, and enable signals to ensure reliable gate timing.
Explore how a latch-based clock gating technique eliminates glitches by inserting a latch in the clock gate path, enabling clean edges and robust integrated clock gating (ICG).
Learn about the integrated clock gating (ICG) cell, its latch-based clock edge behavior, and essential setup and hold timing plus library parameters that drive clock gating in static timing analysis.
Explore the inception of asynchronous reset design, its clock independence, and how it enables flip-flops to reach a known state while examining metastability, reset recovery, and synchronizers.
Explore how reset synchronizers resolve reset deassertion and metastability using two flip-flops, and learn about recovery and removal timing with library models.
Explore data-to-data setup and hold checks in static timing analysis, comparing launch pads, captures, and constants while modeling timing paths between flip-flops and clocks.
Explore how clock tree and sequential elements enforce minimum pulse width, ensuring reliable launch and capture in flip-flops and latches, including setup, hold, and metastability considerations.
Analyze negative and positive latch behavior, showing how clock low or high levels control transmission gates, and contrast with edge-triggered flip-flops in latch-based timing.
Explain reg2latch timing and how data can borrow time from the next clock cycle or be given time, affecting slack in static timing analysis.
Explore the three power types in digital circuits—dynamic power, short-circuit power, and static power (leakage)—and how latency, transitions, and capacitance drive energy consumption.
Explore how output and load capacitance affect slew and short-circuit current, revealing a trade-off between performance and power and guiding optimal capacitance and clock transition.
Conclude static timing analysis II by outlining next topics: timing libraries and the systemin library construct, SPICE simulations, and the stimuli needed to analyze gates and values.
In static timing analysis - part 1 course, we introduced you to basic and essential timing checks, like cppr, gba, pba, etc. In this course, we are focusing on application of these concepts on real chip using opensource sta tool called 'Opentimer'. There is an amount of homework needed to make this tool work, but you know what, looking and feeling the power of this opensource tool, you will find the effort is worth taking
Why its worth? Because, you can now analyze your chip at $0 right from your home. Isn't that FREEdom that we have been looking for? In my advanced courses, including this one, the prime focus is on how to analyze complex chips like USB controller or DDR using Opentimer.
Opentimer has been developed by Tsung-Wei Huang and Prof. Martin D. F. Wong in the University of Illinios at Urbana-Champaign (UIUC), IL, USA. It supports important features like PBA, CPPR, block based analysis, and many more.
I am using this tool in this course for explaining the concepts from STA-part 1 and also for some interface analysis that we will be looking in this course.
So, hope you enjoy learning this course in the same way we enjoyed making them.
Happy Learning !!