The ¡TAU ¡2014 ¡Contest ¡ Removing ¡Pessimism ¡during ¡Timing ¡Analysis ¡ Jin ¡Hu ¡ Debjit ¡Sinha ¡ Igor ¡Keller ¡ IBM ¡Corp. ¡ IBM ¡Corp. ¡ Cadence ¡ [Speaker] ¡ Sponsors: ¡ 1 ¡ TAU ¡2014 ¡Workshop ¡– ¡March ¡6 th -‑7 th , ¡2014 ¡
Past ¡and ¡Present ¡Timing ¡Contests ¡ Goal ¡of ¡Coordinated ¡Academic-‑Industry ¡Contests ¡ Guided ¡awareness ¡of ¡challenging ¡projects ¡at ¡earlier ¡academic ¡stages ¡ Encourage ¡novel ¡parallelizaEon ¡techniques ¡(including ¡mulE-‑threading) ¡ Facilitate ¡infrastructure/benchmarks ¡for ¡future ¡research ¡ Develop ¡Clever ¡Methods ¡for ¡Solving ¡Difficult ¡Problems ¡ Gain ¡insight ¡from ¡other ¡perspecEves ¡and ¡approaches ¡ Allow ¡algorithm ¡development ¡through ¡focused ¡problem ¡statement ¡ Previous ¡Contests ¡ 2 ¡
Focused ¡Problem ¡Statement ¡ Develop ¡an ¡algorithm ¡to ¡perform ¡ ¡ ¡ Common ¡Path ¡Pessimism ¡Removal ¡(CPPR) ¡ ¡ during ¡Eming ¡analysis ¡ CPPR: ¡the ¡process ¡of ¡removing ¡inherent ¡but ¡arJficial ¡pessimism ¡from ¡Jming ¡tests ¡and ¡paths ¡ 3 ¡
CPPR ¡Relevance ¡ Variability ¡causes ¡many ¡sources ¡of ¡Oming ¡uncertainty ¡ Manufacturing ¡VariaEons ¡ Metal ¡thickness ¡(CMP) ¡ Random ¡dopant ¡effects ¡( V t ) ¡ Line-‑edge ¡roughness ¡ Voltage ¡& ¡Temperature ¡VariaEons ¡ Sinha ¡et ¡al. ¡[TAU ¡2013] ¡ Across ¡surface ¡of ¡chip ¡ From ¡cycle ¡to ¡cycle ¡ Difficult ¡to ¡ accurately ¡and ¡quickly ¡model ¡for ¡all ¡variaJon ¡sources ¡ Electrical ¡Effects ¡ Create ¡ lower ¡( early ) ¡and ¡ upper ¡( late ) ¡delay ¡bounds ¡[ lb , ¡ ub ] ¡ PotenEal ¡coupling ¡noise ¡ Commonly ¡found ¡by ¡deraEng ¡original ¡delay, ¡e.g., ¡ ± 5% ¡ Simultaneous ¡signal ¡switching ¡ Any ¡unknown, ¡difficult-‑to-‑model ¡effect ¡can ¡be ¡accounted ¡for ¡ *Global ¡chip-‑to-‑chip ¡variaJons ¡ Good ¡news: ¡addiEonal ¡ pessimism ¡introduced ¡(desirable ¡for ¡safe ¡chip ¡operaEon) ¡ Bad ¡ ¡ ¡ ¡news: ¡addiEonal ¡ pessimism ¡introduced ¡(unnecessary) ¡ CPPR ¡prevents ¡over-‑opEmizaEon ¡of ¡design ¡due ¡to ¡ false ¡ Oming ¡fails ¡ 4 ¡
SequenEal ¡Timing ¡Analysis ¡ Details ¡provided ¡in contest_education.pdf Hold ¡ ¡ ¡Tests ¡( Same ¡Cycle) ¡ [ data ¡must ¡be ¡stable ¡t HOLD ¡ ¡Jme ¡ ¡a^er ¡ ¡clock ¡arrives ] ¡ slack HOLD = at ( D ) – at ( CK ) – t HOLD arrival ¡ arrival ¡ pre-‑CPPR ¡slack ¡ hold ¡Jme ¡ Jme ¡at ¡D ¡ Jme ¡at ¡CK ¡ Timing ¡tests ¡are ¡checked ¡against ¡data ¡pin ¡ D ¡and ¡clock ¡pin ¡ CK ¡of ¡FF ¡ IN ¡ Launching ¡FF 1 ¡ Capturing ¡FF 2 ¡ OUT ¡ D ¡ Test ¡ CombinaJonal ¡Logic ¡ CK ¡ Data ¡Path ¡ ( DP ) ¡ CLOCK ¡ Clock ¡Path ¡ ( CP ) ¡ 5 ¡
SequenEal ¡Timing ¡Analysis ¡ Details ¡provided ¡in contest_education.pdf Hold ¡ ¡ ¡Tests ¡( Same ¡Cycle) ¡ [ data ¡must ¡be ¡stable ¡t HOLD ¡ ¡Jme ¡ ¡a^er ¡ ¡clock ¡arrives ] ¡ E L slack HOLD = at ( D ) – at ( CK ) – t HOLD pre-‑CPPR ¡slack ¡ early ¡arrival ¡ late ¡arrival ¡ hold ¡Jme ¡ Jme ¡at ¡D ¡ Jme ¡at ¡CK ¡ Timing ¡tests ¡are ¡checked ¡against ¡data ¡pin ¡ D ¡and ¡clock ¡pin ¡ CK ¡of ¡FF ¡ at ¡opposite ¡modes ¡ IN ¡ Launching ¡FF 1 ¡ Capturing ¡FF 2 ¡ OUT ¡ D ¡ Test ¡ CombinaJonal ¡Logic ¡ CK ¡ Data ¡Path ¡ ( DP ) ¡ CLOCK ¡ Clock ¡Path ¡ ( CP ) ¡ 6 ¡
SequenEal ¡Timing ¡Analysis ¡ Details ¡provided ¡in contest_education.pdf Hold ¡ ¡ ¡Tests ¡( Same ¡Cycle) ¡ [ data ¡must ¡be ¡stable ¡t HOLD ¡ ¡Jme ¡ ¡a^er ¡ ¡clock ¡arrives ] ¡ E L slack HOLD = at ( D ) – at ( CK ) – t HOLD pre-‑CPPR ¡slack ¡ early ¡arrival ¡ late ¡arrival ¡ hold ¡Jme ¡ Jme ¡at ¡D ¡ Jme ¡at ¡CK ¡ Timing ¡tests ¡are ¡checked ¡against ¡data ¡pin ¡ D ¡and ¡clock ¡pin ¡ CK ¡of ¡FF ¡ at ¡opposite ¡modes ¡ IN ¡ Launching ¡FF 1 ¡ Capturing ¡FF 2 ¡ OUT ¡ D ¡ Test ¡ CombinaJonal ¡Logic ¡ CK ¡ Data ¡Path ¡ ( DP ) ¡ Data ¡Path ¡ ( DP ) ¡ CLOCK ¡ Clock ¡Path ¡ ( CP ) ¡ Clock ¡Path ¡ ( CP ) ¡ Signal ¡cannot ¡be ¡both ¡early ¡and ¡late ¡in ¡common ¡porJon ¡ à ¡This ¡is ¡inherent ¡but ¡arEficial ¡pessimism ¡ 7 ¡
Common ¡Path ¡Pessimism ¡Removal ¡ Details ¡provided ¡in contest_education.pdf Hold ¡ ¡ ¡Tests ¡( Same ¡Cycle) ¡ [ data ¡must ¡be ¡stable ¡t HOLD ¡ ¡Jme ¡ ¡a^er ¡ ¡clock ¡arrives ] ¡ E L L E slack HOLD = at ( D ) – at ( CK ) – t HOLD + [at ( cp ) – at ( cp )] Apply ¡ [Hold ¡ ¡ CPPR ¡credit ] ¡ post -‑CPPR ¡slack ¡early ¡arrival ¡ late ¡arrival ¡ late ¡arrival ¡ early ¡arrival ¡ hold ¡Jme ¡ Jme ¡at ¡D ¡ Jme ¡at ¡CK ¡ Jme ¡at ¡cp ¡ Jme ¡at ¡cp ¡ Timing ¡tests ¡are ¡checked ¡against ¡data ¡pin ¡ D ¡and ¡clock ¡pin ¡ CK ¡of ¡FF ¡ at ¡opposite ¡modes ¡ IN ¡ Launching ¡FF 1 ¡ Capturing ¡FF 2 ¡ OUT ¡ D ¡ Test ¡ CombinaJonal ¡Logic ¡ CK ¡ Data ¡Path ¡ ( DP ) ¡ CLOCK ¡ Clock ¡Path ¡ ( CP ) ¡ common ¡point ¡(cp) ¡ Signal ¡cannot ¡be ¡both ¡early ¡and ¡late ¡in ¡common ¡porJon ¡ à ¡This ¡is ¡inherent ¡but ¡arEficial ¡pessimism ¡ 8 ¡
Common ¡Path ¡Pessimism ¡Removal ¡ Details ¡provided ¡in contest_education.pdf Hold ¡ ¡ ¡Tests ¡( Same ¡Cycle) ¡ [ data ¡must ¡be ¡stable ¡t HOLD ¡ ¡Jme ¡ ¡a^er ¡ ¡clock ¡arrives ] ¡ E L L E slack HOLD = at ( D ) – at ( CK ) – t HOLD + [at ( cp ) – at ( cp )] Apply ¡ [Hold ¡ ¡ CPPR ¡credit ] ¡ post-‑CPPR ¡slack ¡early ¡arrival ¡ late ¡arrival ¡ late ¡arrival ¡ early ¡arrival ¡ hold ¡Jme ¡ Jme ¡at ¡D ¡ Jme ¡at ¡CK ¡ Jme ¡at ¡cp ¡ Jme ¡at ¡cp ¡ Setup ¡Tests ¡( Next ¡Cycle ¡with ¡clock ¡period ¡ P ) ¡ [ data ¡must ¡be ¡stable ¡t SETUP ¡Jme ¡before ¡clock ¡arrives ] ¡ L E E L slack SETUP = at ( CK ) + P – at ( D ) – t SETUP + [delay ( OL ) – delay ( OL )] Apply ¡ [Setup ¡ CPPR ¡credit ] ¡ OL = CP ∩ DP early ¡arrival ¡ clock ¡ ¡ late ¡arrival ¡ late ¡delays ¡of ¡ ¡ early ¡delays ¡of ¡ post -‑CPPR ¡slack ¡ setup ¡Jme ¡ Jme ¡at ¡CK ¡ period ¡ Jme ¡at ¡D ¡ CP ¡and ¡DP ¡overlap ¡ CP ¡and ¡DP ¡overlap ¡ Timing ¡tests ¡are ¡checked ¡against ¡data ¡pin ¡ D ¡and ¡clock ¡pin ¡ CK ¡of ¡FF ¡ at ¡opposite ¡modes ¡ IN ¡ Launching ¡FF 1 ¡ Capturing ¡FF 2 ¡ OUT ¡ D ¡ Test ¡ CombinaJonal ¡Logic ¡ CK ¡ Data ¡Path ¡ ( DP ) ¡ CLOCK ¡ Clock ¡Path ¡ ( CP ) ¡ common ¡point ¡(cp) ¡ Signal ¡cannot ¡be ¡both ¡early ¡and ¡late ¡in ¡common ¡porJon ¡ à ¡This ¡is ¡inherent ¡but ¡arEficial ¡pessimism ¡ 9 ¡
PotenEal ¡Impact ¡of ¡CPPR ¡ *if ¡done ¡correctly ¡ CPPR ¡can ¡only ¡improve ¡test ¡slacks ¡(never ¡overly ¡opOmisOc) ¡ Pre-‑CPPR ¡ ¡ ¡slack ¡ ≈ ¡ ¡ ¡ ¡-‑55 ¡ Post-‑CPPR ¡slack ¡ ≈ ¡+275 ¡ Post-‑CPPR ¡Test ¡Slack ¡ Pre-‑CPPR ¡Test ¡Slack ¡ pre-‑CPPR ¡slack ¡= ¡post-‑CPPR ¡slack ¡ no ¡post-‑CPPR ¡slack ¡worse ¡ ¡ than ¡its ¡pre-‑CPPR ¡slack ¡ 10 ¡
Recommend
More recommend