Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Use of Slack as a Measurement of Being On Time and the Procedure for Calculating Slack

IP.com Disclosure Number: IPCOM000050518D
Original Publication Date: 1982-Nov-01
Included in the Prior Art Database: 2005-Feb-10
Document File: 4 page(s) / 56K

Publishing Venue

IBM

Related People

Cheng, DD: AUTHOR [+5]

Abstract

This article is related to information contained in other articles on Pages 2831-2839 of this issue.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 70% of the total text.

Page 1 of 4

Use of Slack as a Measurement of Being On Time and the Procedure for Calculating Slack

This article is related to information contained in other articles on Pages 2831-2839 of this issue.

This invention provides to the block-oriented design verification tool known as Timing Analysis a measure for determining whether signal arrivals are on time or not. Such a measure is indicated by the term slack and represents the amount of deviations of the calculated arrival time (made by Timing Analysis) from the required arrival time (made by the designer). A negative slack value shall denote the amount of lateness (earliness) in the late (early) mode calculation.

"Slack" gives the designer an indication about the "tightness or "looseness" of logic path with respect to its timing. This information is essential in the design of high performance computers. Also, the "slack" measure will serve as an aid in the EC (Engineering Change) design cycle, helping in reducing EC cost. The procedure for calculating slack follows:

(II) Computing the Slack at a Block Output Given the

Required Arrival Time at a Primary Output

For each non-null required arrival time edge,

we are given:

REQD TIME

INDEX

EDGE (1=rise. 2=fall)

where INDEX points to the arrival time. and EDGE

specifies which edge we are to make the slack

computation for:

OUT * * flags working

storage

OUT N AT. VALID SLACK

OUT DS

OUT CS SLACK VALID

OUT R

OUT F *for the output edge

OUT O in question

OUT X

Note: To make the definition of variables for this

computation consistent with the other

definitions, the last one or two characters

for the arrival time variables have

the following meaning:

N - Nominal value

W - Worst-case (extreme) value

DS - Data Slack

CS - Clock Slack

R - On-chip sum of rising sigmas

F - On-chip sum of falling sigmas

O - Off-chip sum of effective sigmas

1

Page 2 of 4

X - Off-chip sum of effective Sigma cross prod.

Step 1 Be sure the arrival time has been set. If the

arrival time of this edge has not been set,

skip the following steps.

Step 2 Compute the slack

Early Mode:

SLACK=WORST(OUT)-REQDTIME

Late Mode:

SLACK=REQDTIME-WORST(OUT)

Step 3 Conditionally store the slack:

SLACK.VALID='1' Y or N

OUTDS>SLACK )

N - (OUTDS=SLACK

and

(SLACK.VALID='1' )

Y Y OUTDS=SLACK

Y N No Action Required

(II) Computing the Slack at a Block Input Given the Slack at the

Output of the Block

Two arrival times are given: the value at the net

connected to the input pin, and the value for the

output net. The slack is known for the output net.

The object is to compute the relative slack for

the net connected to the input pin.

Given

(IN) (OUT)

INN OUTN

IND

INDS OUTDS

INCS OUTCS

INR 1 INCHIP OUTR OUTCHIP

INF OUTF

INC OUTC

INX OUTX

Global Parameters Intermediate Values

T

RHO.CHP.CHP TR

RHO.ON.OFF TN OUTW

USER.BETA TR

TF

Results TO

TX

CSLA CK

DSLACK

Note: In addition to the meanings of N. DS. CS. R. F. 0

and X as suffix characters- we also define:

INCHIP - the value indicating the physical location

of the dri...