The majority of digital designs are Synchronous and constructed with Sequential Elements.
Synchronous design eliminates races (like a traffic light).
Pipelining increases throughput.
The timing arc means a path from each input to each output of the cell. Every combinational logic cell has multiple timing arcs. Basically, it represents how much time one input takes to reach up to output (eg. A to Y and B to Y). Like if we see AND, OR, NAND, and NOR cell as shown in the figure. In sequential cells such as flip flop have timing arcs from clock to the outputs and clock to data input.
Timing arcs can be further divided into two categories – cell arcs and net arcs
Cell arcs: This arc is between an input pin and an output pin of a cell i.e. source pin is an input pin of a cell and sink pin is the output pin of the same cell. Cell arcs can be further divided into sequential and combinational arcs.
Combinational arcs are between an input and output pin of a combinational cell or block.
Sequential arcs are between the clock pin and either input or output pin. Setup and hold timing arcs are between the input data pin and clock pin of flip flop and are termed as timing check arcs as they constrain a form of the timing relationship between a set of signals. Sequential delay arc is between clock pin and output Q pin of FF. An example of a sequential delay arc is clk to q is called delay arc and clk to D input is called timing check arcs in sequential circuits
Tcq is the time from the clock edge until the data appears at the output.
The Tcq for rising and falling outputs is different.
The propagation delay of the cell is defined with respect to some measurement points (typically 50% threshold) on the switching waveforms.
For example, the propagation delays of an inverter cell are represented as:
Output fall delay (Tf)
Output rise delay (Tr)
The slew is typically measured in terms of the transition time, that is, the time it takes for a signal to transition between two specific levels.
Setup time is the time the data has to arrive before the clock to ensure correct sampling.
Hold time is the time the data has to be stable after the clock to ensure correct sampling.
Since digital logic tends to be synchronous circuitry, the precise timing of all logic blocks is crucial to proper system behavior. When you consider scaling the setup in Figure 1 from one data path to millions of data paths (as it exists in real chip design), it quickly becomes obvious that keeping everything synchronized is a non-trivial challenge.
In practice, clock signals are often generated by a crystal oscillator, fed into a phase-locked loop (PLL), and distributed throughout the IC to each logic block and transistor within the system. One of the biggest challenges in this pursuit is known as clock skew, which can be defined as the difference between the clock signal arrival time of sequentially adjacent registers.
This situation can be defined mathematically as:
Clock Skew = Receiving Register Clock Delay – Transmitting Register Clock Delay
Skew can be defined as positive if the receiving register receives the clock later than the transmitting register or negative in the opposite case. Clock skew becomes a serious problem in digital design as it can violate the timing constraints that the synchronous circuits rely on.
For example, given a constant clock frequency and negative skew, as shown in Figure below, the clock arrives at the receiving register B much earlier than the transmitting register A. In this case, the data sent out from the transmitting register will arrive at the receiving register after the clock arrives. Here, the data does not meet the setup and hold requirements of the receiving register (i.e., the data was not readily available at the receiving register at the time of clock arrival). Due to this, data will be lost since the receiving register cannot latch the data securely. This concept would then have a compounding effect, as future logical operations that rely on the lost data would also fail.
Quick intuition:
Positive skew: the clock arrives later at the receiving register than at the transmitting register.
Negative skew: the clock arrives earlier at the receiving register than at the transmitting register.
Impact on timing constraints (with this definition):
Setup (max path):
Tclk-q(max) + Tcomb(max) + Tsetup -skew ≤ Tclk
→ Positive skew helps setup (reduces the left-hand side), negative skew makes setup harder.
Hold (min path):
Tclk-q(min)+Tcomb(min) ≥ Thold + skew
→ Positive skew makes hold harder (increases the right-hand side), negative skew helps hold.
Quick example:
Tclk-q(max) = 120ps, Tcomb(max)=380ps, Tsetup=50ps.
Negative skew: 120+380+50=550 ps ⇒ need Tclk≥550ps ⇒ need Tclk ≥ 550ps (≈1.82 GHz).
Positive skew +80+80+80 ps: need Tclk ≥ 470 ps (≈2.13 GHz) ⇒ easier to meet setup.
For hold: tclk-q(min)= 60 ps, Tcomb(min)= 40 ps, thold= 30 ps.
No skew: 100 ≥ 30(OK).
Positive skew +80+80+80 ps: require 100 ≥ 110 ⇒ hold violation.
👉 Rule of thumb: Positive skew helps setup but hurts hold (under your definition).
There are two main problems that can arise in synchronous logic:
Max Delay : The data doesn’t have enough time to pass from one register to the next before the next clock edge.
Min Delay : The data path is so short that it passes through several registers during the same clock cycle.
Max delay violations are a result of a slow data path, including the registers’ tsetup, therefore it is often called the “Setup” path.
Min delay violations are a result of a short data path, causing the data to change before the thold has passed, therefore it is often called the “Hold” path.
Let’s see what makes up our clock cycle:
After the clock rises, it takes Tcq for the data to propagate to point A.
Then the data goes through the delay of the logic to get to point B.
The data has to arrive at point B, Tsetup before the next clock.
In general, our timing path is a race:
Between the Data Arrival, starting with the launching clock edge.
And the Data Capture, one clock period later.
Adding in clock skew and other guardbands:
Hold problems occur due to the logic changing before thold has passed.
This is not a function of cycle time – it is relative to a single clock edge!
Let’s see how this can happen:
The clock rises and the data at A changes after Tcq.
The data at B changes Tpd(logic) later.
Since the data at B had to stay stable for Thold after the clock (for the second register), the change at B has to be at least thold after the clock edge.
Adding in clock skew and other guardbands:
A path is a route from a Startpoint to an Endpoint.
Startpoint: The start of a timing path where data is launched by a clock edge or where the data must be available at a specific time. Every startpoint must be either an input port or a register clock pin.
Combinational logic network: Elements that have no memory or internal state. Combinational logic can contain AND, OR, XOR, and inverter elements, but cannot contain flip-flops, latches, registers, or RAM.
Endpoint: The end of a timing path where data is captured by a clock edge or where the data must be available at a specific time. Every endpoint must be either a register data input pin or an output port.
There are four categories of timing paths:
https://asic-soc.blogspot.com/2013/08/fundamentals-of-timing.html
https://www.takshila-vlsi.com/the-basics-of-timing-analysis-in-vlsi-design/
https://www.youtube.com/watch?v=Y-tP22Z6aLw&ab_channel=CadenceDesignSystems
Timing Analysis by Dr. Adam Teman
Static Timing Analysis for Nanometer Designs by J. Bhasker and Rakesh Chadha