throbber
United States Patent
`
`[19]
`
`_
`
`[11] Patent Number:
`
`5,452,239
`
`Dai et al.
`
`[45] Date of Patent:
`
`Sep. 19, 1995
`
`USOOS452239A
`
`[54] METHOD OF REMOVING GATED CLOCKS
`FROM THE CLOCK NETS OF A NETLIST
`FOR TIMING SENSITIVE
`MPLEMENTATION OF THE NETLIST IN A
`HARDWARE EMULATION SYSTEM
`
`[58] Field of Search ................................ 364/578-580,
`364/232.3, 927.81; 371/162, 22.1, 22.2, 23, 27;
`340/825.22, 825.06, 825.88, 825.89, 825.83,
`825.84; 307/465, 468, 219, 303; 357/45;
`395/500; 365/201; 370/13, 14, 17
`
`[75]
`
`Inventors: Wei-Jin Dai, Cupertino; Louis
`Galbiafi, III, Mountain View; Joseph
`Varghese, Sunnyvale; Dam V. Bui,
`Milpitas; Stephen P. Sample,
`Mountain View, all of Calif.
`
`[73] Assignee:
`
`Quickturn Design Systems, Inc.,
`Mountain View, Calif.
`
`[21] Appl. No.-: 844
`
`[22] Filed:
`
`Feb. 26, 1993
`
`Related US. Application Data
`
`[63]
`
`Continuation-impart of Ser. No. 13,025, Jan. 29, 1993,
`abandoned.
`
`Int. Cl.6 ........................ G06G 7/48; G06F 17/00
`[51]
`[52] US. Cl. .................................... 364/578; 364/580;
`371/222
`
`[56]
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`4,306,286 12/1981 Cooke et al.
`........................ 364/200
`
`4,578,761
`3/1986 Gray ................................... 364/481
`4,656,580 4/1987 Hitchcock, Sr. et al.
`.......... 364/200
`5,109,353 4/1992 Sample et al.
`...................... 364/578
`
`Primary Examiner—Ellis B. Ramirez
`Assistant Examiner—Craig Steven Miller
`Attorney, Agent, or Firm—Lyon & Lyon
`
`ABSTRACI
`.
`[57]
`An emulation system and method that reduces or elimi-
`nates the number of timing errors such as hold time
`violations when implementing a netlist description of an
`integrated circuit. The emulation system comprises a
`plurality of reprogrammable logic circuits and a plural-
`ity of reprogrammable interconnect circuits. The netlist
`description is optimized to reduce the number of timing
`violations by removing the occurences of gated clocks
`from the netlist, partitioning the netlist description by
`taking into account the occurence of timing violations
`and ensuring that retain state nets are implemented
`properly.
`
`2 Claims, 78 Drawing Sheets
`
`\
`:4:~~~~~~\
`I
`/
`”-5 \
`,_a_‘
`\
`CLOCKED \
`KCLOCK "a?
`K BLOCKS ,I
`‘7-7—1
`\7—1—7
`/’ l _]_-/’
`‘
`I
`I
`l
`I
`’
`,1
`I
`I,II
`1
`
`[I
`l
`1
`,’
`/
`
`[I
`[
`I
`’1
`
`I
`
`l
`
`I
`
`/
`
`l/
`
`l l
`
`I
`
`/
`
`/
`
`REMOVE
`I
`CADIDATES/l
`
`mm
`
`II
`
`CLOCK TREE ANALYSIS
`
`USER SPECIFICAITON
`Mfifi
`keen/orx
`‘
`
`\
`
`I1
`
`\
`l ,__-
`\
`CLOCKS
`I
`‘1’ DMDED w—
`o
`9
`9‘1"“
`\
`]
`\
`\
`\
`\\
`
`\
`
`\
`
`\
`
`/
`
`\ \\
`\\ \
`\:a
`‘
`
`,—’
`
`_~__\
`AU. CLOCK ‘r’
`SOURCES
`l
`INCLUDING }
`COMBINED
`CLOCKS /1\\
`
`
`
`CREATE OPT AREA
`
`FIND AU. CLOCK SOURCES
`
`DESIGN ANALYSIS
`
`CLOCK NET ADJUSIMENTS
`
`
`
`:1 I
`GATED CLOCK REMOVE
`247V
`
`CONTROL AND DATA FLOW DIAGRAM
`
`CONFIGIT 1042
`
`CONFIGIT 1042
`
`1
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 1 of 78
`
`5,452,239
`
`
`
`PROENG LOCK
`
`
`
`
` LOGIC ANALYZER PAUERN GENERATOR“
`
`
`USER’S
`
`
`EXTERNAL
`
`SYSTEM
`
`30
`
`
`\L.
`
`
`
`12
`
`2
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 2 of 78
`
`5,452,239
`
`CONNECTIONS TO EXTERNAL SIGNALS
`
`INTERCONNECT
`CHIP
`
`20A
`
`INTERCONNECT
`CHIP
`
`INTERCONNECT
`CHIP
`
`18A
`
`3
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 3 of 78
`
`5,452,239
`
`
`
`4
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 4 of 78
`
`5,452,239
`
`Ima?
`
`_
`
`VMN
`
`amxm30..
`
`m:gxx<o._w—
`
`
`Elxx<o._oolxx<o._P
`
`m
`
`m-m—m
`
`mm‘mmm
`
`_
`UEee_ll mm
`
`_
`
`n
`
`on
`
`
`
`muom
`
`mm
`
`II|_33I.Q5032ooooExxxafiso505288_:88
`
`oEmod
`
`o.203
`
`5
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 5 of 78
`
`5,452,239
`
`\
`'l - 3
`
`.
`
`\\V
`\\\
`“
`
`té®%§%. Wm
`
`was ‘55!“
`‘
`$®Mwi
`L‘ i’IAL
`.37 V. \\VI \\\.‘Vw’
`‘
`&%@%&%,
`' {45%; ‘7'! ' ‘V/ \
`$ng f?
`’24; ‘V
`iIA.\\ i] ,.\
`k\
`'l. - 3"]! .\ wzxxzqw
`%&%@%&é&
`Q
`9. V a - j
`‘5”. my",
`
`.
`
`'1
`
`®%&II%§%E“
`"A . V'C’ll
`I. \.
`9&%
`£@
`$§§%§%§%
`@%%»%gfi§
`§@§%§%§%
`%@%&%§Q@
`&»
`
`NV, NW] . V714
`
`6
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 6 of 78
`
`5,452,239
`
`I/0 PINS
`
`EXTERNAL
`
`[[2]. 7 MIDPLANE CONNECIING
`
`ONE MUX BOARD CUTS ACROSS 88 EM BOARD SIGNAL PINS
`
`EM PIN ONLY
`‘ °
`0 MUX PIN ONLY
`. SHARED EM/MUX PIN
`«m- VCC PIN
`:
`GND PIN
`
`EM SLOT
`
`
`
`
`
`EM PIGGYBACK
`
`NEI EM SLOT
`
`MUX BOARD
`
`7
`
`

`

`US. Patent
`
`m.eS
`
`5991
`
`87f07aehS
`
`5,452,239
`
`
`
`
`
`
`
`om<omzmpm>m50mmIIlIQxxmmm
`
`w,92855%8330
`
`on
`
`newER:
`
`92%x3:
`
`—om<omx22
`
`35m:N_
`
`mm
`
`m
`
`
`
`on————
`
`zwkm>m
`
`ox<om
`
`ooz>mo
`
`Foz>mo
`
`Noz>mo
`
`mm—mo_
`
`mm—mo_
`
`moxu>m
`
`oomozz<>
`
`_om0|m<>
`
`ononoumlxxum.am
`
`
`
`zocszHmE4<m040
`
`————————m“—————_
`
`8
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 8 of 78
`
`5,452,239
`
`14.9
`
`Q’vio—QVXMEIMSO‘I
`
`
`
`
`—IIII
`v‘xxmaxsm III
`Q‘XXMaxsm II
`z—xxMaXSO-I I
`
`_x
`
`,
`
`g
`
`_ _
`V_X SS 8019
`
`<
`3
`
`46LCAs
`
`ON
`001
`z‘xxfivom 2° Z‘X‘ss‘eme
`
`z‘xxmxsm 2
`
`
`
`
`
`
`
`
`—IIII
`< —III
`
`I—XXMHMSO'I
`3 —II
`MU
`—I
`
`|._XXMEI)ISO‘I
`
`
`0"XXM3)ISO'|
`
`
`O—XXMEIMSOW
`
`
`6GLOB_XX_S_0:5T0SYSBRD6GLOB_S_XX_0:5FROMSYSBRD
`
`
`
`
`
`
`
` LOWSKEWDISTRIBUTION0NEMBOARD
`OVXMHMSOI|
`
`L’xx‘wom
`L‘x‘ss‘amsl
`
`
`
`
`o .—
`
`.
`
`gzo‘xx‘S'ema
`
`o‘xx‘1voo1
`
`g o
`° o‘X’ss‘ems
`
`910_XX_S—EO'IS
`
`XD
`
`
`
`9
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 9 of 78
`
`5,452,239
`
`EM LOW SKEW O DBTMBUWON CURCUHRY
`
`12 COLS
`
`
`F;
`'_O3:.
`UF;>
`ABUF
`llllii
`
`
`I"O3:.
`
`12 COLS.
`
`-—-——->
`
`53>
`ABUF
`
`o
`l
`I\
`E
`o'
`LIJ
`x
`E
`8
`x
`_.
`8
`..-.. A
`
`
`
`1
`LOSKEWO_EN
`FOR TESTING
`~H———J"ACZ44
`
`LOSKEWO
`
`O RP1
`
`
`1xACT11151
`
`LOSKEWO_SELOZ _—1 MUX
`
`
`I11] LOCALXXo
`:11FCT805
`
`
` RP2
`GLOB_XX_S_O
`GLOB_S_XX_N
`TTL 2XFCT805
`
`EM
`
`
`
`
`GLOBAL_OUTn
`
`
`[E10
`
`10
`
`10
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 10 of 78
`
`5,452,239
`
`awzomx22aEo:
`
`nxxlmnmao
`
`2mm—:o<x
`woz>mo
`
`5259
`
`mm59
`
`mm59
`
`molm>m
`
`
`
`Eczema295915550.6920m355
`
`NMNW
`
`mtmgomémi
`
`zlmlxxlmogo
`
`zlmlxxlmgo
`
`mlmgoS/Eé
`
`czmISOIQZm
`
`11
`
`11
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 11 of 78
`
`5,452,239
`
`4<zocommz=m
`
`x004mO\_
`
`4<zocommz=m
`
`x004mO\_
`
`4<zocommz=m
`
`x004mO\_
`
`IoEsmHz_ommmomo
`
`><mm<
`
`
`
`2<mo<5xogm22952:...
`
`NNNNN
`
`4420:0mngm
`
`x004mO\_
`
`4<zopomm2=m
`
`x004mo\_
`
`2295555
`
`XOOJmo\_
`
`12
`
`12
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 12 of 78
`
`5,452,239
`
`STEP 1:
`pREVEN‘nVE
`MEASURE
`
`‘
`TIMING OPTIMIZATION
`
`104
`
`STEP 2
`INFLUENCING
`
`TIMI
`OP
`
`D NETI
`LST
`
`ZE
`
`CLOCK TREE ANALYSIS
`
`MEASURE
`TIMING DRIVEN
`
`CONFIGURATION
`ENGINE
`
`
`CONFIGURATION
`CONSTRAINTS
`
`INCREMENTAL CONFIGURATION
`
`PHYSICAL
`IMPLEMENTATION
`
`-
`
`STEP 5:
`FIXING
`MEASURE
`
`TIMING ANALYSIS
`
`‘20
`
`COENFSTTTUCTIVE
`MEASURE
`
`STEP 4:
`VERIFICATION
`MEASURE
`
`
`- H4
`
`
`
`AUTO DELAY INSERTION
`
`
`ANY HOLD
`VIOLATIONS
`
`
`
`HOLD VIOLATION
`
`LOCATIONS
`
`NO
`
`EMULATION
`
`SPEED
`
`DONE
`
`TIMING IN CONFIGURATION PROCESS
`
`[12.13
`
`13
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 13 of 78
`
`5,452,239
`
`INITIAL OPEN
`
`I NCREMENTAL
`
`PARSE
`
`100
`
`PARSE
`
`100
`
`LINK 8c EXPAND
`
`102
`
`NETLIST COMPARE
`
`118
`
`CHANGE RECORDS
`
`CHANGE RECORDS
`
`OPTIMIZE
`
`104
`
`LINK & EXPAND
`
`102
`
`CLOCK ANALYSIS
`
`105
`
`OPTIMIZE
`
`104
`
`CHANGE RECORDS
`
`CHANGE RECORDS
`
`PARTITION
`
`108
`
`CLOCK ANALYSIS
`
`106
`
`CHANGE RECORDS
`
`CHANGE RECORDS
`
`SYSTEM ROUTE
`
`1 1 0
`
`PARTITION
`
`108
`
`CHANGE RECORDS
`
`CHIP PLACE & ROUTE
`
`112
`
`SYSTEM ROUTE
`
`110
`
`CHANGE RECORDS
`
`TIMING ANALYSISopt
`
`114
`
`CHIP PLACE & ROUTE
`
`112
`
`DELAY INSERTIONopt
`
`TIMING ANALYSISopt
`
`114
`
`116
`
`CHANGE RECORDS
`
`READY FOR EMULATION
`
`-CONFIGURATION CONTROL FLOW
`
`[122.11
`
`14
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 14 of 7s
`
`5,452,239
`
`USER
`
`CAE DB
`
`NETUST OR
`
`.
`
`100
`
`PARSE
`
`CREATE
`
`NEWST
`
`' 124
`
`102
`
`CREATE - 122
`
`CREME lliilll
`
`NAME
`
`QUERY
`
`.
`
`USER
`
`INTERFACE
`
`108
`
`SPR
`
`125
`
`ANNOTATE
`
`“2 CHIP PLACE & ROUTE
`CREATE -
`114
`TIMING ANALYSISopt’
`
`CHIP
`DB
`
`128
`
`ANNOTATE
`
`CONHGURAWON DAJABASEINTERACUONS
`
`[12.15
`
`15
`
`15
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 15 of 78
`
`5,452,239
`
`F’§Y§IEII"T
`I" """"" 1 QBIC
`r """ I
`I
`PLACE 3:
`|
`I
`E
`I TREE
`QUICKTURN I ELO DATA
`PARSER
`I——-———I
`I—-——-—-—I
`R0 TE
`I
`I
`o
`(pAR)
`| STRUCTURE I
`I CHANGE
`I
`U
`I
`I
`|
`|
`REC
`I
`(SPR)
`I
`I
`L. ______ _|
`L. ______ _|
`L. ______ _|
`
`L
`
`I|
`
`SYSTEM CONFIGURATION FLOW
`
`[2.15A
`
`r——""I
`
`F"_1
`
`|"—'—'—1
`
`I'“—_1
`
`IBLK AI—- -IrBLK BI'“-'I BLK CI—- —ILBLK DJF—— .0000
`
`L___J
`
`L___J
`
`L___J
`
`._.__
`
`ELO STRUCTURE
`
`F—“'"l
`
`I
`I TOP
`L_T__J
`
`Iv
`
`r'""‘"l
`F——"‘1
`IBLK AI—- -IBLK BI--"—-ooooo
`L_T_J
`L___J
`I
`
`r—__'l
`F“_-‘I
`IBLKBI-— -IBLKD|
`L___J
`L___J
`
`I'_“_‘I
`“‘4 BLK [DP—-
`L__T_J
`I
`I
`
`"“
`r'"-—'l
`IBLKCI—— —IBLKCI
`L___J
`L___J
`
`
`
`QBIC TREE
`
`[12.158
`
`16
`
`16
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 16 of 78
`
`5,452,239
`
`
`
`SIMPLE CLOCK TREE
`
`[gm
`
`
`
`PARSER INTERFACE
`
`PIPE
`(BINARY DATA)
`
`
`
`
`CONFIGURATION SERVER
`
`
`
`FORMAT INDEPENDENT INTERFACE
`
`FORMAT DEPENDENT PARSER
`
`A PROCEDURE
`
`PARSER PROGRAM
`
`
`
`
`
`FORMAT INDEPENDENT MAIN
`
`PARSER INTERFACE
`
`[2.17
`
`17
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 17 of 73
`
`5,452,239
`
`lOPT
`
`"Wire—AND”
`
`
`
`LOGIC CHIP 1
`
`lSPR
`
`
`
`[12.18
`
`STEPS IN AND—tree
`OPTIMIZATION
`
`
`AND[[2,2.1]](DRIV[2, NULL](C), DRIV[2. NULL](D))
`DRIV 3,3.2 (E)))
`
`
`
`OPT(SPECIAL MODE)
`
`
`ITICJOWZD
`
`———>
`
`SPR
`(SPECIAL MODE)
`
`18
`
`
`3.2
`
`
`LOGIC CHIP 2
`LOGIC CHIP 3
`lAND—finder
`
`
`w AND[1, NULL](
`
`
`DRIV 1, NULL] EAg
`
`DRIVI, NULL
`AND 4,4.2](
`
`B
`
`18
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 18 of 78
`
`5,452,239
`
`UNOPTIMIZED
`
`OPTIMIZED
`
`BUFFER BLASTING
`
`—>—
`
`
`[12.19A
`
`DOUBLE—INVERTER BLASTING
`
`——>o—I>o—
`
`
`[2.198
`
`BUBBLE PUSHING
`
`K C:
`
`
`
`[2.190
`
`CLB CLOCK INVERSION
`
`D
`
`>0 K
`
`D
`
`KNOT
`
`
`
`[12.190
`
`ELIMINATING UNUSED LOGIC
`
`DWLEAD) IE. 19E
`
`19
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 19 of 78
`
`5,452,239
`
`GROUND SPLITTING
`
`<
`
`2‘
`
`
`
`[12.19 F
`mm = X
`:D— _
`
`
`
`PULLUP BUS
`
`AND(O,X) = x
`
`[12.190
`
`
`
`[12.1911
`
`PULLDOWN BUS
`
`
`
`REfAlN—STATE BUS
`
`
`
`[2.1.91
`
`AUTOMATIC DELAY INSERTION
`
`
`
`
`
`[122. 2109K
`
`20
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 20 of 78
`
`5,452,239
`
`LOW SKEW CLOCK SPLITTING
`
`
`
`
`
`[125.1%
`
`COMMON SUBEXPRESSION ELIMINATION
`
`g:
`
`::<
`
`
`
`[2. 19 M
`
`LOGIC DUPLICATION
`
`:CK @
`
`
`
`AND EXPANSION
`
`[:4]- 19 N
`
`
`
`
`
`OR DEMORGANIZATION IE. 19 P
`:D— m
`
`
`
`[(2.190
`
`21
`
`

`

`US. Patent
`
`Sep.19,1995
`
`Sheet 21 of 78
`
`5,452,239
`
`WIRE AND GENERATION
`
`3 WIRE AND»
`
`
`
`£12:- 19 R
`WIRE AND REMOVAL
`
`
`
`”WIRE AND"
`
`
`
`REMOVAL GATED CLOCK
`
`[12.]. .19 S
`
`D E b
`
`
`
`F. 19T
`
`BIDIRECTIONAL UMBILICAL (SINGLE DRIVER)
`
`’
`
`0 DS
`
`(L A
`
`)
`
`>
`
`OADS
`
`)
`
`(L
`
`
`
`[12.1%
`
`BIDIRECTIONAL UMBILICAL (MULTIPLE DRIVERS)
`
`(LOADS)
`
`(LOADS)
`
`
`
`
`
`22
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 22 of 78
`
`5,452,239
`
`
`
`CLOCK DRIVER CIRCUITRY
`
`
`
`
`
`ENTERPRBE
`
`
`
`
`TA COMPUTE
`QBm
`
`
`
`
`PROCESS -l PROCESS
`U' PROCESS
`SERVER
`REC/FEE
`SERVER
`
`
`
`
`
`
`RPC HL/
`PIPE/FILE
`E
`
`
`
`
`MOTIVE
`TIMING ALNALYZER
`
`
`PROCESS
`
`
`ACROSS NETWORKED HEIEROGENOUS
`WORKSTATIONS
`'
`
`TIMING ANALYSIS SUB—SYSTEM PROCESS ARCHITECTURE
`
`[122. 21
`
`23
`
`23
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 23 of 78
`
`5,452,239
`
`
`
`<DES|GN>.QTD
`
`
`
`TIMING FILE FOR
`THE DESIGN
`
`
`TIMING FILE FOR
`MNG Fl E F R
`PARTITION 1
`F’IARITITIONLN O
`O — DENOTES DIRECTORY
`Cl — DENOTES FILES
`
`THE FILE DIRECTORY STRUCTURE FOR THE TIMING SUBSYSTEM
`
`[12. 22
`
`INTERMEDIATE
`LEVEL
`
`TOP LEVEL
`
`
`
`INTERMEDIATE
`LEVEL
`
`
`
`LEAF LEVEL
`
`PHYSICAL HIERARCHY
`
`[12. 23A
`
`24
`
`24
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 24 of 78
`
`5,452,239
`
`FUNCTION GENERATOR
`
`APR DELAY BACK ANNOTATION
`
`[E 238
`
`INST_1
`
`|NST_2
`
`
`
`[123. 21
`
`ON—CHIP ROUTINE DELAY BACK ANNOTATION
`
`
`
`@ - ROUTING DELAYS IN THE PHYSICAL IMPLEMENTATION. [12125
`
`MISSING RE—CONVERGENCE POINT EXAMPLE
`
`25
`
`25
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 25 of 78
`
`$452,239
`
`QBIC SERVER (TIMING ANALYSIS)
`
`TA COMPUTE SERVER
`
`TIMING ANALYSIS
`PARTITION
`
`INITTATE SPLATTER RUN
`
`BROADCASTLNG TA SERVICE
`NEEDED MESSAGE
`
`
`
`PROCESS TA SERVER’S-
`
`
`REQUESTS .HALT OR
`
`DONE?
`
`YES
`
`PROCESSING TA RESULTS
`
`CONTROL FLOW-TIMING ANALYSIS
`
`
` TA
`
`COMPUTE
`SERVER
`
`
`
`
` TA
`
`COMPUTE
`SERVER
`
`
`
`
`
`TA
`
`COMPUTE
`SERVER
`
`
`
`[12. 2(5
`
`26
`
`26
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 26 of 78
`
`5,452,239
`
`EaazooE
`
`
`
`mm>mmmmSnEooE
`
`Ezmm2mg
`
`
`
` mm>xmm 550mmxmfioz_>_m_om_w_ a_mz<z<@235
`
`kmNW
`
`
`
`
`
`x030magma;
`
`moomdsozx
`
` Jomhzoo MES:ohmSmZmgzmamm mSnE.#2;me mzoEzzmo
`
`
`
`hmmzcmmxmfiEI30.:
`
`
`
`
`
`m¢<mmmz5<_._oz:m<oo<omm
`
`
`
`mafim5<I2x351
`
`
`
`m¢<mmm2mzoocz:m<oo<omm
`
`
`
`mEEmmzoozmzbm
`
`295%;me2Bo
`
`
`
`5:52ZOEEE.zm_o
`
`27
`
`
`
`
`
`EMT—m2:mxmfiwtmzmmaze
`
`27
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 27 of 78
`
`5,452,239
`
`QBIC SERVER
`(TIMING ANALYSIS)
`
`‘
`
`
`
`QBIC SERVER
`PROCESS
`
`
`TA COMPUTE SERVER
`
`SEND TA TASK REQUEST
`
`RECIEVE TA TASK REQUEST
`RECIEVE TA DATA
`
`YES W
`
`<W>
`
`NO
`
`NO
`
`GENERATE MOTIVE INPUT FILES
`
`
`
`
`
`
`
`COMMANDS
`ESTABLISH TO/FROM PIPES- MOTIVE PROCESS
`
`INVOKE MOTIVE PROCESS
`
`INITIALIZE MOTIVE
`
`RETURN CODE
`
`CAL. SETUP/HOLD MARGINS
`
`
`
`
` CRITICAL
`NO
`PATH REQUESTED
`
`
`
`CAL. CRITICAL PATHS
`
`
` CLOCK
`NO
`SPEED REQUESTED
`
`
`
`
`TERMINATING MOTIVE PROC.
`
`CAL. CLOCK SPEED
`
`CONTROL FLOW — TIMING ANALYSIS ON A PARTITION
`
`28
`
`E7 N03
`
`28
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 28 of 78
`
`5,452,239
`
`mm.NNN
`
`
`
` Emmavm;z_om<_2QDEm
`
`Hmm._._<2mE0
`
`
`
`25%:QDEm
`
`
`
`25%.:QDEm
`
`OA
`
`
`
`x0040mmfimoz
`
`Swim
`
`
`
`x0040538m
`
`ommmm
`
`29
`
`MT:20mo<EnSEm
`
`
`
`mE/E.ZEmo
`
`mm<ovie;
`
`
`
`.mzo:.<y_:o._<ooHEmx0040520Hzmozmmmomz_om<§135m
`
`
`
`
`
`29
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 29 of 78
`
`5,452,239
`
`zofiésoizooHE;
`
`20:50530:
`
`ozanEozEs
`
`SmmmeEzm
`
`
`
`m><._m_oEmmz.
`
`“292N355
`
`060..
`
`295mm;
`
`Ede
`
`5:
`
`zofimmmz.
`
`Eda
`
`m3:
`
`EHEEKOL
`
`
`8.3So:98:50;
`
`
`mmoz_ago:
`
`m05<Exm
`
`Saw2238
`
`
`
`205mmommsozzoo
`
`95%$8\2,
`
`épzmfita\;
`
`QHEm
`
`m_m>._<z<
`
`02:2:
`
`03
`
`
`
`Sm..Nq
`
`
`
`5:902zQEmmz.Edam5“.030.:MT:
`
`30
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 30 of 78
`
`5,452,239
`
`DE$GN ROOT
` DE$GN
`
`PREPROCESSOR
`
`
`
`MODULE
`MODULE
`
`PREPROCESSOR
`PREPROCESSOR
`
`
`
`
` SOFT
`
`MODULE
`
`
`--F ___________ T__-_
`ICONTROL
`
`
`DEflGN
`
`UNKER
`
` HARD MODULE
`
`DUMP &
`
`
`
`
`HNAL
`LCAs &
`
`
`RESULT
`MUXes
`
`TOP—LEVEL ARCHHECTURE OF MODULE CONHGURAHON
`
`[12.31
`
`31
`
`31
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 31 of 78
`
`5,452,239
`
`Ul WITH CALLTNG BACK
`
`
`I COMMUNICATION
`THE MODUIAR QB SERVER
`: CHANNEL
`
`
`CONFIGURATION CONTROLLER
`
`MODULE PREPROCESSOR MODULE PREPROCESSOR
`
`
`
`
`
`
`MODULE P&R
`
`MODULE P&R
`
`THE PROCESS STRUCTURE OF MODULE CONFIGURATION
`
`[12. 6’2
`
`32
`
`32
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 32 of 78
`
`5,452,239
`
`A
`E1
`
`F
`
`E2
`
`'
`
`52
`
`50
`
`.
`
`A
`E1
`
`F
`E2
`
`USER’S TRl—STATE NET
`
`SYSTEM IMPLEMENTATION
`
`
`
`[12. 3’3
`
`TARGET SYSTEM
`
`A .
`E1
`
`.
`
`;
`
`TARGET SYSTEM
`OR
`
`COMPONENT ADAPTOR E;
`
`A
`E1
`
`F
`
`E2
`
`,
`
`>
`
`OR
`COMPONENT ADAPTOR
`
`
`
`USER'S TRT-STATE
`
`SYSTEM IMPLEMENTATION
`
`
`
`IE. 6’1
`
`33
`
`33
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 33 of 78
`
`5,452,239
`
`IMPLEMENTATION
`SYSTEM
`
`[12.35
`
`TRl—STATE
`USER’S.
`
`34
`
`34
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 34 of 78
`
`5,452,239
`
`mmmEmmEzm
`
`Buzzoommfiz
`
`5802
`
`_mmEmmEzm
`
`
`
` _______.llllll.__|lllll|_mZOEEE_zoEE/E
`
`Gm.NNN
`
`
`
`zoEfizmzufié259mH.553:
`
`EfimiEmkmm:
`
`35
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 35 of 78
`
`5,452,239
`
`NmmEnEmfizM
`
`#8228152 _,mmEmmEzm
`
`“.3390:
`
`
`
`NZOEEE._29:52;
`
`aaeVA<
`
`Em
`
`36
`
`
`
`km..Nq
`
`zo:<_.zm2m._m2_355WEED:
`
`
`
`HEMLE.mkwm:
`
`36
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 36 of 78
`
`5,452,239
`
`HARDWARE UNDER TIMING ANALYSIS
`
`DATA INPUTS
`
`DATA OUTPUTS
`
`SYSTEM
`
`DATA IOPUTS
`
`TARGET
`
`CONFIGURATION TECHNOLOGY MAPPING
`
`DATA INPUTS
`
`QUICKTURN'S
`EMULATION
`MODULE
`
`DATA IOPUTS
`
`INMODE-LEDBY 0—OUT
`.OMPONENT
`
`ADAPTOR
`
`DATA OUTPUTS
`
`
`
`—
`
`TARGET
`
`SYSTEM
`
`ICOMPONENTk
`'ADAPTOR
`
`LOGIC
`ANALYZER
`
`EXTERNAL CONNECTIONS AND CONSIDERATIONS IN TIMING ANALYSIS
`
`[12. 6’8
`
`37
`
`37
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 37 of 78
`
`5,452,239
`
`
`
`
`
`<QN..E20.25835:5:52
`
`29%.onuse8%;25650
`
`5:52053.
`85:50.2228
`
`
`
`,%\WW/U2220amum:
`
`55200252.
`
`>53
`
`2Em>m
`
`Esozummofim
`
`259m
`
`Ezomummofim
`
`n=Io
`
`BEEEO
`
`
`
`EN>._<2<02.2:
`
`mama/‘2m2<2
`
`5352.2291;
`
`m><._m_oHEB
`
`n=Io
`
`252200252.
`
`avg/Ema
`
`38
`
`
`
`mEonEzown—mban—ZHZEEOQ”Em:
`
`
`
`
`
`38
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 38 of 78
`
`5,452,239
`
`TIMING ANALYSIS DATA FLOW
`
`% SPECIFICATIONS
`
`EXTERNAL - USER
`
`DESIGN DATA
`
`KNOWLEDGE
`
`
`DESIGN
`
`TOPOLOGY
`
`ANALYZER
`
`
` KNOWLEDGE INPUTS:
`DESIGN INFO:
`
`- NET EXCLUSIONS
`— NETLIST
`
`
`— NET GROUPINGS
`— TIMING MODELS
`
`
`-— PATH EXCLUSIONS
`- CLOCK PATH LOGIC
`
`
`- CLOCK DEFENITIONS
`- MOTIVE ENV.
`
`
`SEITINGS
`I/O DATA TIMING
`
`
`
`HIERARCHY
`
`MANAGER
`
`TA PARTITIONS
`
`CLOCK TREE
`
`ANALYSIS
`
`.
`
`
`
`
`
`
`
`
` MOTIVE
`TIMING
`
`
`ANALYZER
`
`
`
`
`
`SETUP MARGINS
`
`HOLD MARGINS
`
`LIMITED PATHS
`
`I
`
`T
`
`CRITICAL PA HS
`
`CLOCK SPEED
`CALCULATOR
`
`DERIAATIC
`INSERTION
`
`PATH DELAY
`
`QUERY RESULTS
`
`DATA SYNC
`T
`PULSE WID H
`
`EMULATION
`SPEED
`
`FIXED HOLD
`VIOLATIONS
`
`[12. 398
`
`39
`
`39
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 39 of 78
`
`5,452,239
`
`
`
`EMULATION
`SYSTEM
`
`
`
`EMULATION
`MODULE
`
`
`
`
`
`
`SYSTEM INTERCONNECT TIMING MODELLING
`
`[12. 10
`
`SYSTEM
`
`SYSTEM
`
`POD TIMING MODELLING
`
`ADAPTER
`
`COMPONENT
`
`COMPONENT ADAPTER TIMING MODELLING
`
`[12. 12
`
`4O
`
`40
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 40 of 78
`
`5,452,239
`
`_|
`
`IIIII|IIIl
`
`[EMBEAfiSN‘EA‘RfiwA§E‘—"1 DATA PATH DELAY
`
`FCDITEDNETITAEARTER__—_
`
`..I
`
`CASE 1
`
`-— STORAGE—TO—STORAGE FROM EMULATION HARDWARE TO COMPONENT ADAPTER
`
`[12.13
`
`r- ——————————————— '1
`EMULATION HARDWARE
`
`r- ——————————————— '1
`
`I IIIIIlI
`
`CLOCK
`
`
` EXTERNAL
`
`
`TIMING
`SPEC
`
`
`
`HIERARCHY 0F EXTERNAL TIMING INFORMATION
`
`[12.45
`
`41
`
`41
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 41 of 78
`
`5,452,239
`
`r-——BUT_PLTT§“'
`r ________ 1
`
`EMULATION
`MODULE
`
`
`
`/\
`
` EMULATED
`DESIGN
`
`CLK_|N
`
`
`WHERE THE DELAYS FOR:
`BUFFER: MIN 3N8, MAX 6N8
`AND GATE: MIN 5N8, MAX 7N8
`FF(CLK->Q): MIN 2N8, MAX 5N8
`
`AN EXAMPLE OF EXTERNAL INPUT SIGNALS
`
`[12. 47
`
`42
`
`42
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 42 of 78
`
`5,452,239
`
`
` OUT
`EMULATED
`
`DESIGN
`
`CLK_IN
`
`
`
`CONSTRAINING
`COMPONENT
`FLIP—FLOP
`SETUP = IONS
`HOLD = 5NS
`TRIGGER = RISING
`
`FRAME OF REFERENCE
`
`PERIOD =. IOONS
`
`
`S/H CONSTRAINTS ________.I;;'Q____________________.__;I;I_______
`IHOLD FOR
`SETUP FOR
`I HOLD FOR
`AT TnHE" HYPOTHEHCAL SETUP FOR
`PIN D
`THE pREwous: THE CURRENT
`THE CURRENT {THE NEXT
`CYCLE(TONS)
`I CYCLE(5NS)
`CYCLE(TONS)
`:CYCLE(5NS)
`I
`I
`
`S/H CONSTRAINTS
`
`TRANHSLATED TO OUTPUT I:I] I
`PIN x"
`SETUP = 3ONS
`HOLD = 5NS
`
`I
`
`I
`
`I::I]_I
`SETUP = 3ONS
`HOLD = 5NS
`
`_
`
`CALCULATING EXTERNAL SETUP AND HOLD TIME
`
`[V 18
`
`lg.
`
`
`
`NEI' EXCLUSION EXAMPLES - PATH ELIMINATION
`
`[12.19
`
`43
`
`43
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 43 of 78
`
`5,452,239
`
`
`
`NET EXCLUSION EXAMPLE - FEEDBACK LOOP BREAKING
`
`[12.50
`
`
`
`>I..-
`
`A NET GROUPING EXAMPLE
`
`[12.51
`
`44
`
`44
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 44 of 78
`
`5,452,239
`
` CLOCK
`
`ICYCLE 0
`51
`
`I CYCLE 1
`E3
`
`CLOCK.
`E4:
`521
`DELAYED,CLOCK ,
`DATA $2:
`
`ICYCLE 2
`
`T=ONS
`
`T=1000NS
`
`ZERO CYCLE SETUP PATH
`
`[12. 52
`
`DELAYED_CLOCK
`
` CLOCK
`DELAYED_CLOCK1 ; E2
`; E4-
`E6
`
`ICYCLE O
`E1
`
`ICYCLE 1
`E3
`
`1
`
`ICYCLE 2
`E5
`
`I
`
`DATA
`
`T=sz
`
`I
`T=1ob0Ns
`
`I
`T=2000
`
`MULTI—CYCLE SETUP PATH
`
`[12.53
`
`45
`
`45
`
`

`

`US. Patent
`
`Sep. 19,1995
`
`Sheet 45 of 78
`
`5,452,239
`
`A CIRCUIT WITH A GATED LOCK
`
`
`
`FLIPFLOP WITH CLOCK ENABLE
`
`
`
`GATED-CLOCK OPTIMIZATION
`
`46
`
`46
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 46 of 78
`
`5,452,239
`
`A. ORIGINAL CIRCUIT
`
`
`
`CLOCK
`
`B. TRANSFORMED CIRCUIT
`
`
`
`CLOCK
`
`ORIGINAL CIRCUIT
`CK
`__.I
`I——————
`112’155'3 o::><:s‘::
`
`TRANSFORMED CIRCUIT
`
`[(27.1.55E 0m
`
`EXAMPLE OF CLOCK-GATING LOGIC
`
`47
`
`47
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 47 of 78
`
`5,452,239
`
`A. ORIGINAL CIRCUIT
`
` CLOCK
`
`B. TRANSFORMED CIRCUIT (NON-EQUIVALENT)
`
`
`
`CLOCK
`
`[(2.5%)
`
`_I—_‘L_____
`§A
`
`ORIGINAL CIRCUIT:
`
`[12,“. 5m 4 LI I———_
`
`CK
`
`TRANSFORMED CIRCUIT;
`
`[12”;ng o:><:::::
`
`EXAMPLE OF CLOCK—GENERATION LOGIC
`
`48
`
`48
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 48 of 78
`
`5,452,239
`
`A. ORIGINAL CIRCUIT
`
`[12.57A
`
`B. NOMALIZED CIRCUIT
`
`[2" 57B
`
`QI...QN
`
`QI ...QN CLOCK
`
`QI...QN
`
`C. TRANSFORMED CIRCUIT
`
`A1...NM
`
`QI ...QN
`
`[2]. 57C Q‘l...QN
`
`QI ...QN
`
`CLOCK
`
`GATED CLOCK TRANSFORMATION
`
`49
`
`49
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 49 of 78
`
`5,452,239
`
`ENZ
`
`ENS
`
`EN4
`
`ENS
`
`CLOCK
`
`DATA
`
`EN1
`
`EN2
`
`
`ENS
`
`[12: $0 EN3
`
`EN4
`
`CLOCK
`
`5O
`
`50
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 50 of 78
`
`5,452,239
`
`DETERMINE SET S
`
`OF CLOCK SOURCES
`
`
`
`
`Ci = FIRST CLOCK
`
`SOURCE IN S
`
`
`
`CI = NEXT CLOCK
`
`SOURCE IN S
`
`
`
`
`FOR ALL FLIPFLOPS Fk IN
`INITIALIZE FLAG Fk
`NEILIST,
`
`
`(E0, 1) = TRUE
`
`
`
`
`
`FOR EACH FLIPFLOP WHICH
`CANNOT BE TRANSFORMED WITH
`
`
`Ci, SET FLAG Fk(EQ, I) = FALSE
`
`
`
`
`
`CLOCKS ?
`
` MORE
`
`[12. (ZIA
`
`51
`
`51
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 51 of 78
`
`5,452,239
`
`STARTING FROM ALL USER—DESIGNATED CLOCK
`NETS IN U, TRACE FORWARD THROUGH
`COMBINATIONAL LOGIC, MARKING ALL
`FLIPFLOP AND LATCH CLOCK INPUTS REACHED.
`
`
`
`
`
` STARTING FROM ALL FLIPFLOP AND LATCH CLOCK
`INPUTS NOT MARKED IN PREVIOUS STEP, TRACE
`
`BACKWARD THROUGH COMBINATIONAL LOGIC,
`MARKING FLIPFLOP AND LATCH OUTPUTS REACHED.
`
`
`
`
`
`
`
`
`THE SET D OF NETS MARKED IN THIS STEP ARE
`
`THE DIVIDED CLOCKS.
`
`
`
`
`
`STARTING FROM ALL NETS IN SETS U OR D, TRACE
`FORWARD THROUGH COMBINATIONAL LOGIC,
`MARKING ALL NETS REACHED.
`DURING THIS
`
`PROCESS ACCUMULATE THE SET C OF COMBINED
`
`CLOCKS; THOSE NETS WHOSE DRIVER BLOCKS
`HAVE TWO DIFFERENT INPUTS REACHABLE FROM
`
`
`
`
`
`
`
`NETS IN U OR D.
`
`
`
`COMPUTE THE SETS OF CLOCK SOURCES AS
`
`THE UNION OF SETS U, D, AND C.
`
`[12. $13
`
`52
`
`52
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 52 of 78
`
`5,452,239
`
`CLOCK STATE = STATE ‘I
`
`INITIALIZE ALL NETS IN THE
`NETLIST TO STATE P
`
`
`
`
`
`
`
`ASSIGN CLOCK STATE TO
`CLOCK SOURCE Ci
`
`PROPAGATE VALUES
`
`
`
`CLOCK STATE = STATE 0
`
`
`
`
`
`
`
`
`
`IN THIS STATE, THE
`DETERMINE,
`FLIPFLOPS WHOSE CLOCK INPUTS CAN
`BE REACHED VIA PATHS EITHER FROM
`PRIMARY INPUTS NOT GOING THROUGH
`Ci, OR VIA PATHS WHICH GO THROUGH
`FLIPFLOPS BETWEEN Ci AND THE GIVEN
`CLOCK PIN.
`ASSIGN STATE C TO SUCH
`
`
`
`
`
`
`
`
`FLIPFLOP CLOCK INPUTS.
`
`
`
`
`
`
`
`
`FOR EACH FLIPFLOP Fk WITH STATE C
`ON ITS CLOCK INPUT, SET
`Fk(EQ, I) = FALSE
`
`
`
`
`
`
`STATE 0
`
`[121(ch
`
`53
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 53 of 78
`
`5,452,239
`
` FOR EACH PRIMARY INPUT NET Im
`
`WHICH IS A DIFFERENT NET FROM
`CI, ASSIGN STATE C TO Im
`
`
`
`
`
`FOR EACH FLIPFLOP Fk WHOSE
`
`CLOCK INPUT STATE IS EITHER STATE
`
`
`
`
`
`C OR THE STATE ENTERED WHEN Fk
`IS TRIGGERED, ASSIGN STATE C TO
`THE 0 OUTPUT OF Fk
`
`
`
`
`PROPAGATE VALUES
`
`STABLE
`
`
`
`CONDITION
`
`REACHED?
`
`
`
`[1221510
`
`54
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 54 of 78
`
`5,452,239
`
` FOR EACH PRIMARY INPUT NET Im
`
`
`WHICH IS A DIFFERENT NET FROM
`
`
`
`Ci, ASSIGN STATE C TO Irn
`
`
`
`
`
`
`
`FOR EACH FLIPFLOP Fk WHOSE
`CLOCK INPUT STATE IS EITHER STATE
`
`
`
`
`
`
`
`C OR THE STATE ENTERED WHEN Fk
`IS TRIGGERED, ASSIGN STATE C TO
`THE Q OUTPUT OF Fk
`
`
`
`
`
`
`
`
`
`FOR EACH LATCH Lk WHOSE GATE
`
`INPUT STATE IS EITHER STATE C OR
`
`THE STATE IN WHICH Lk lS
`
`TRANSPARENT, ASSIGN STATE C TO
`THE Q OUTPUT OF Lk
`
`PROPAGATE VALUES
`
`
`
`
`
`
`CONDITION
`
`STABLE
`
`REACHED?
`
`[12. QIE
`
`55
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 55 of 78
`
`5,452,239
`
`THE ORIGINAL DESIGN:
`
`CLK
`
`SI
`
`SN
`
`
`
`[12. (52A
`
`THE TRANSFORMED DESIGN:
`
`
`
`DIN
`
`QOUT
`
`
`
`51
`
`SN
`
`CLK '
`
`TRANSFERRING CLOCK PATH LOGIC TO CLOCK ENABLE
`
`[12. $28
`
`56
`
`56
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 56 of 78
`
`5,452,239
`
`
`
`D CLOCK GAHNGIMPLEMENTAHON:
`
`ENABLE
`
`
`
`CLOCK
`
`CLOCK ENABLE TRANSFORMAHON:
`
`
`
`ENABLE
`
`
`CLOCK MENABLE
`
`CLOCK
`
`D
`
`UNDER CLOCK GAflNG
`
`D_CLOCK
`
`Q
`
`A
`
`A
`
`UNDER CLOCK ENABLE:
`
`“KC
`
`‘
`
`|
`
`><
`
`B
`
`Q
`
`A
`
`><
`
`B
`
`FUNCTIONALLY EQUIVALENT TRANSFORMATION EXAMPLE
`
`[122. Q?
`
`57
`
`57
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 57 of 78
`
`5,452,239
`
`CLOCK GATING IMPLEMENTATION
`
`ENABLE
`
`CLOCK
`
`CLOCK ENABLE TRANSFORMATION:
`ENABLE
`
`
`
`
`CLOCK
`
`CLOCK
`
`ENABLE
`
`
`
`
`D
`
`A
`
`{IIIEIIIIVCIIIIIIIIII
`
`D
`
`UNDER CLOCK GATING
`
`D_CLOCK
`
`I
`
`I
`
`I
`
`I
`
`Q
`
`A
`
`‘1IEIIID'
`
`C
`
`UNDER CLOCK CAONC
`
`Q
`
`A
`
`:3:
`
`C
`
`FUNCTIONALLY NON—EQUIVALENT TRANSFORMATION EXAMPLE
`
`[12. $1
`
`58
`
`58
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 58 of 78
`
`5,452,239
`
`
`
`CLK 1
`
`CLK 2
`
`ANDED MULTIPLE CLOCKS
`
`[V 5
`lfi—L. Q
`
`CLK1
`
`CLK2
`
`MODE
`
`MUXED MULTIPLE CLOCKS
`
`[12/- fig
`
`CLOCK
`
` D_CLOCK
`SIMPLE CASE OF USING DATA AS CLOCK [’ g7
`
`14.
`
`59
`
`59
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 59 of 78
`
`5,452,239
`
`
`
`
`D_CLOCK
`
`COMBINATIONAL
`LOGIC F
`
`CLOCK
`
`GENERAL CASE OF USING DATA AS CLOCK
`
`
`
`
`D_CLOCK
`
`COMBINATIONAL
`LOGIC F
`
`CLOCK
`
`A GENERAL FORM OF CLOCK PATH
`
`60
`
`[IE—4’. g9
`
`60
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 60'of 7s
`
`' 5,452,239
`
`THE ORIGINAL DESIGN:
`
`
`
`ENI
`
`ENZ
`
`CLOCK
`
`,THE TRANSFORMED DESIGN:
`
`
`
`EN‘I
`
`EN2
`
`1
`
`CLOCK ——-
`
`PERFORMING LOGIC TRANSFORMATION
`
`[12. ’70
`
`61
`
`61
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 61 of 78
`
`5,452,239
`
`
`
`ENABLE
`
`
`
`
`D_CLOCK
`
`EXAMPLE 1 OF SYMBOLIC SIMULATION
`
`[12. 71
`
`
`
`ENABLE
`
`
`
`
`D_CLOCK
`
`EXAMPLE 2 OF SYMBOLIC SIMULATION
`
`[122.72
`
`62
`
`62
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 62 of 78
`
`5,452,239
`
`USER SPECIFICATION
`
`\
`
`{’EXIERNAL‘I_
`\ CLOCKS /I ‘\
`fi~.__—/
`
`II
`
`
`
`.—
`
`I
`\ //——“\
`\( Dthfg Ir
`\
`CL C
`I
`\\ _/
`\\ ‘T
`I
`I
`\\
`
`\\
`
`\
`
`\
`
`\
`
`\
`
`\
`\
`\ \
`\\ \
`\\\\
`\\
`
`,_._—.——\
`
`/
`
`\
`ALL CLOCK r’
`SOURCES
`I
`INCLUDING
`I
`COMBINED
`I
`CLOCKS
`/ \
`___./
`
`,———-’
`
`“_
`
`\\
`,1“\
`x’
`CLOCKED \
`‘\\BLOCKS ,I
`771
`I
`I
`,
`l
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`,
`I
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`:: ~~~~~~~~
`\
`_3‘\
`x’
`\
`{LOCK WEI
`777T
`I___J_,,//
`/
`—“"I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`/
`I
`I
`I
`I
`I//
`/,i
`-’
`I
`__-__'_“
`I
`I,
`I
`,
`/
`__/__-”
`_ I
`/
`/
`
`,’
`___
`/
`//’—
`\I
`FUNCT.
`\‘\\l
`|
`//\
`EQUIV.
`GATED CLK I
`REMOVE
`I
`CADIDATES ,
`/
`_,___
`’
`
`\
`
`/
`
`/
`
`///
`
`/
`///
`,,,J
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`,’
`
`/
`
`/
`
`63
`
`63
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 63 of 78
`
`5,452,239
`
`
`
`[12.71
`
`DIVIDED_CLOCK
`
`
`
`
`CLOCK
`
`A DIVIDED CLOCK EXAMPLE
`
`[12. ’75
`
`CASE 1: GENERATING NEW CLOCKS
`
`
`
`
`CLK_I
`
`CLK__2
`
`COMBINED CLK
`
`
`
`CASE 2: SELECTING CLOCKS
`
`COMBINED CLK
`
`
`
`
`CLK__1
`
`CLK_2
`
`
`
`SELECT
`
`EXAMPLE OF COMBINED CLOCKS
`
`64
`
`64
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 64 of 78
`
`5,452,239
`
`THE ORIGINAL DESIGN:
`
` EN‘I
`
`ENZ
`
`CLOCK
`
`THE TRANSFORMED DESIGN:
`
`
`
`PERFORMING LOGIC TRANSFORMATION
`
`fig. 7g
`
`65
`
`65
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`‘ Sheet 65 of 78
`
`5,452,239
`
`BEFORE GATED CLOCK REMOVE:
`
`AFTER GATED CLOCK REMOVE AND
`CLOCK NET ADJUSTMENTS
`
`CLOCK
`
` 82
`
`
`AN EXAMPLE OF CLOCK NET ADJUSTMENTS
`
`[12. 77
`
`66
`
`66
`
`

`

`
`
`67
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 67 of 78
`
`5,452,239
`
`
`
`
`
`
`OPTIMIZER
`
`OPTIMIZED
`
`NEILIST
`
`CLUSTER STEP 1:
`
`GATES TO CLUSTERS
`
`CLUSTER STEP 2:
`
`CLUSTERS TO CHIPS
`
`
`
`
`
`CLUSTER STEP 3:
`
`CHIPS TO BOARDS
`
`IMPROVEMENT
`
`ITERATIONS
`
`
`
`
`
`
`BOARD IMPROVEMENTS
`
`SYSTEM IMPROVEMENTS
`
`68
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 68 of 78
`
`5,452,239
`
`OPTIMIZER
`
`
`
`PATH TIMING
`ESTIMATO R/CALCULATOR
`
` _
`
`PATH CONSTRAINTS
`GENERATOR
`
`TIMING
`CONSTRAINTS
`
`OPTIMIZED
`
`NETLIST
`GATES TO CLUSTERS
`
`CLUSTER STEP 1:
`CONE PARTITIONING
`AND PATH CLUSTERING
`
`CLUSTER STEP 2:
`CLUSTERS TO CHIPS
`
`CLUSTER STEP 3:
`CHIPS TO BOARDS
`
`IMPROVEMENT
`ITERATIONS
`
`
`
`
`BOARD IMPROVEMENTS
`
`
`
`SYSTEM IMPROVEMENTS
`
`
`
`69
`
`69
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 69 of 78
`
`5,452,239
`
` l
`
`i 1
`
`” CONE OF INFLUENCE FOR A FLIP—FLOP INPUT
`
`[V 81
`14.
`
`C
`
`0 o 0
`BEFORE PATH-BASED CLUSTERING: PATH LENGTH = 3
`
`[12.82 STEPS IN FIRST LEVEL CLUSTERING
`
`7O
`
`70
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 70 of 78
`
`5,452,239
`
`REGISTER READ WRITE CYCLE
`
`PTCKW
`PSYNC—
`I._|
`
`PA[O:15]
`
`PTD'
`
`PTDO
`
`VAL”)
`
`TNPUT DATA ananaana
`
`OUTPUT DATA anannana
`
`pms W:>_C
`
`[12.83
`
`LCA PROGRAMZ READBACK
`
`LI LEW
`pm
`PSYNC- —l__1
`
`PA[O:15]
`VAL'D
`
`—————/
`INPUT DATA
`————/
`OUTPUT DATA
`
`PTD'
`
`PTDO
`
`453------
`
`(53------
`
`[12.81
`
`UUUl—ll—IL—JUUUL—ll
`
`VAL'D
`
`JTAG FORMAT
`
`PTCK
`
`PA[O:15]
`
`PTD'
`
`INPUT DATA
`
`PTDO
`
`OUTPUT DATA
`
`[12,“. 85
`
`71
`
`71
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 71 of 78
`
`5,452,239
`
`
`
`
`
`.LCA AND .SCP FILES, AND
`.BIT AND .PIP FOR INCR.
`PARENT
`
`APRERV
`
`
`QBS PROCESS
`
`
`PROCESS
`
`
`QBC and SPL
`
`
`
`RPM
`PROCESS
`
`
`
` CBLKs, PINS, AND
`CONFIG RECORDS
`
`
`L________~_L______~,____J
`
`
`.BIT AND .PIP FILES, AND
`.LCA AND .SCP FOR DEBUG ONLY
`.RPT FILE, AND
`CHIP LEVEL DELAY FILE.
`
`1. CLB DELAYS ARE
`GENERATED BY
`M20 FROM CBLKS
`
`2. ROUTING DELAYS ARE
`INSTALLED IN THE
`DELAY.DEFAULT FILE BY
`A CALL TO M20.
`
`CLBSMDL : CONTAINS CLB GENERATED DELAYS
`DELAY.DEFAULT : CONTAINS ROUTING DELAYS.
`
`[128$
`
`72
`
`:— ““““cfigREN‘T“““
`IARCHITECHTURE + SPLATTER
`I CONTROL
`
`NOTES:
`1. CMS AND 03A ARE SEPA—
`RATE SUBSYSTEMS.
`2. CMS OUTPUTS ARE CON—
`
`SUMED BY 03A, BUT STORED
`IN GLOP FOR INCREMENTAL
`TIME.
`3. CBLKS ARE CONSUMED BY
`M20 TO RECONCILE DELAYS
`WITH LOGICAL NETLIST.
`4. CHIP PLACE AND ROUTE
`IS INTEGRAL WITH QBS,
`SERVER. AND QBIC.
`
`I I I
`
`III I
`
`IIIIIII I|
`
`72
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 72 of 78
`
`5,452,239
`
`F.PARENT/MONITOR
`COMM.
`
`D.PARENT/
`SCAVANGER
`
` PARENT
`
`PROCESS
`
`
`
`
`
`
`SCAVANGER
`MONITOR
`E.MONITOR/
`
`PROCESS
`PROCESS
`SCAVANGER
`
`
`
`A.SCAVANGER
`CONTROL &
`
`
`
`
`
`RPM
`PROCESS
`
`
`
`
`BS
`ROCESS
`
`FEEDBACK
`
`
`
` ENGINE
`PROCESS
`
`
`B.SCAVANGER
`
`G.MONITOR/ENGINE
`COMM.
`DISK IO
`
`H.LICENSE MANAGER
`
`COMMUNICATION
`
`C.QBS
`DISK IO
`
`
`
`
`III I I
`
`II
`
`1.NEI'LISTS
`
`2.CONSTRA|NTS
`
`
`3.CHIPDB
`4.DELAYS
`I
`5.IOB swaps
`
`
`
`.1
`
`IIIIIIII| I
`
`IIII II|I|
`
`IARCHITECTURE + SPLATTER
`I CONTROL
`INOTES:
`I1. SEPERATE CPrScR PROCESS
`I
`,CALLED SCAVANGER AT 088
`IHOST.
`I2. NOW’CHIP ENGINE" PRO— I
`ICESS CONTAINS VENDOR
`ISPECIFIC CODE.
`{3. NO CHIP CONFIG DATA
`lSTORED IN THE GLOP.
`I4.
`INTERFACES ARE WELL
`I DEFINED
`
`_I
`
`73
`
`73
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 73 of 78
`
`5,452,239
`
`E1.5 PROCESS, COMMUNICATIONS, CONTROL, AND DATA
`A. SCAVANGER CONTROL AND FEEDBACK TO QBS.
`'
`THE DIRECT COMMUNICATION TO/FROM QBS WITH SCAVANGER WILL BE
`NAMED PIPES.
`THESE CAN BE FOUND AND OPENED BY THE
`
`QBS PROCESS ONCE THE SCAVANGER PROCESS IS RUNNING.
`DIRECT COMMUNICATION WILL BE LIMITED TO 088 HANDING OFF CHIP
`
`NAMES AS THEY BECOME AVAILABLE, OR A CONTROL FILE.
`FEEDBACK. MAYBE THERE SHOULD NOT BE ANY DIRECT FEEDBACK FOR
`SIMPLICITY.
`SCAVANGER CAN WRITE STATUS TO A FILE.
`STATUS
`MAY BE ERRORS,
`I’M—ALIVE, AND CHIP COMPLETION/
`DISCONNECTS
`
`B. SCAVANGER DISK IO.
`
`EXPECTED INPUTS:
`OTHER INPUTS:
`
`OUTPUTS:
`
`NETLIST, CONSTRAINTS, AND POSSIBLY CONTROL
`SIDE FILES TO DEFINE PACKAGE, AND
`ARCHITECTURE, SPEED INFORMATION
`PHYSICAL DATABASE, BACK—ANNOTATION FILE(S) FOR
`DELAYS, CHIP PIN SWAPS.STATUS.
`
`C. 088 DISK IO
`WILL POLL INFORMATION IN THE CHIPS DIRECTORY TO GAIN ADDITIONAL
`STATUS, AND TO EVALUATE RESULTS AS THEY BECOME AVAILABLE (IF
`NECESSARY).
`
`D. PARENT/SCAVANGER COMM.
`LEVERAGE EXISTING SPLATTER COMMUNICATION BETWEEN APRSERV/QBS BY
`MIMICING CODE RIGHT DOWN TO THE ASV AND 03A ENTRY POINTS.
`SCAVANGER WILL ASSUME THE ROLE OF QBS WHILE COMMUNICATING WITH
`THE CH|P SERVERS.
`
`E. MONITOR/SCAVANGER COMM.
`SAME AS D ABOVE.
`
`F. PARENT/MONITOR COMMUNICATION.
`SAME AS D ABOVE.
`LEVERAGE THIS CODE COMPLETELY.
`
`C. MONITOR/ENGINE COMM.
`THE ENGINE PROCESS IS A NEw PROCESS THAT IS EXEC ED BY THE MONITOR
`PROCESS
`IT WILL HANDLE A COMPLETE PLACE AND ROUTE TASK AND THEN
`EXIT (EXIT IS STILL TBD)
`
`H. LICENSE MANAGER CONTROL.
`THE SOLUTION HERE IS TBD.
`
`[12.88
`
`74
`
`74
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 74 of 78
`
`5,452,239
`
`ANOTHER VIEW OF THE DATA
`(FILES) BEING COMMUNICATED.
`
` CHIP
`SPECIFIC
`
`DATA
`
`
`
`
`SCAVANGER:
`
`033, 028
`
`
`
`ICUTPUT
`NETLISTS AND
`-
`CONSTRAINTS
`2.FEEDBACK
`CHIP COMPLETION,
`
`
`
`
`
`QBIC
`DATA
`
`STRUCTURES
`
`
`
`II
`
`I
`
`CHIP SPECIFIC DATA
`I
`I I. ALL CHIP SPECIFIC
`I DATA WILL BE COMMUNICATED I
`I To SCAVANGER VIA FILES.
`I
`I NETLISTS AND CONSTRAINTS
`I
`I ARE CREATED BY
`I
`I QBS(02C).
`I
`I 2. SCAVANGER WILL COMMU— I
`I
`I
`NICATE THE NETLISTS AND
`I
`I
`CONSTRAINTS TO A CP&R
`I
`|
`I
`|
`SERVER.
`I
`I
`3. CP&R SERVERS WILL RE—
`I
`I
`TURN A PHYSICAL DATA—
`I
`I
`I
`I
`BASE, ROUTING AND GATE
`I
`|
`DELAYS, AND IOB SWAPS.
`|
`I
`4. 088 WILL BACK—ANNO—
`I
`I
`I
`I
`TATE DATA AS NECESSARY.
`
`CP&R
`SERVER
`
`CP&R
`SERVER
`
`CP&R
`SERVER
`
`CP&R
`SERVER
`
`CP&R
`SERVER
`
`DATA
`
`ANY BACK—
`ANNOTATION
`
`I
`|
`
`1
`AND HANDLE
`
` CHIP
`SPECIFIC
`
`
`DATA
`
`
`
` CHIP
`SPECIFIC
`
`
`DATA
`
`
`
`
`
` CHIP
`SPECIFIC
`
`
`DATA
`
`
`
` CHIP
`SPECIFIC
`
`
`
`
`
`75
`
`75
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 75 of 78
`
`5,452,239
`
`NETWORK COMMUNICATIONS (SPLATTER)
`CHIP PLACE AND ROUTE FRAMEWORK (ASV)
`
`VENDOR #1
`TRANSLANON
`
`VENDOR #2
`TRANSLATION
`
`VENDOR #3
`TRANSLATION
`
`VENDOR #N
`TRANSLAHON
`
`VENDOR #N
`CONTROL
`
`(NEOCAD)
`
`VENDOR #1
`CONTROL
`(e.g. PPR)
`
`VENDOR #2
`CONTROL
`(e.g. APR)
`
`VENDOR #3
`CONTROL
`
`
`
`QT
`
`INTERPRET
`CONTROL
`
`CONTROL
`FILE
`
`
`
`VENDOR
`
`VENDOR
`ENGINE
`
`
`
`N ETLI ST
`PROCESS
`
`
`
`
`
`QT PRO
`FORMAT
`
`TRANSLATE
`
`PRIETARY
`
`
`
`N ETLIST
`VENDOR
`
`
`NETLIST
`CONSTRAINT
`
`FORMAT
`
`
`
`
`FILTER
`
`
`
`QT DLY
`DELAYS 8:
` VENDOR DB
`
`
`FORMAT
`
`PIN SWAPS
`
`
`76
`
`76
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 76 of 78
`
`5,452,239
`
`THE VENDOR LIBRARIES AND CUSTOM LI-
`BRARIES WILL DESCRIBE THE FUNCTIONAL
`LEAF LEVEL OF THE CUSTOMER’S TARGET
`TECHNOLOGY.
`THE QT LIBRARY MAPS LOG—
`IC INTO PIECES WHICH CAN BE TREATED IN
`AS TECHNOLOGY INDEPENDENT, AND
`BEARS ATTRIBUTES TO ASSIST IN PACKING.
`
`
`
`
`CUSTOMER
`NEILIST(S)
`
`
` VENDOR
`
`
`LIBRARY
`PARSE &
`LINK
`
`WT
`
`FUNCTIONS
`LIBRARY
`
`LEAF LEVEL FUNCTIONS IN THE
`
`QT LIBRARY WILL BE GENERIC.
`THE QT LEAF LEVEL DOES NOT
`DEPEND ON ANY VENDOR’S
`FUNCIONALITY.
` NET LISTING
`
`& CHIP
`
`SCHEDULING
`
`SYNTHESIS
`
`QT MACRO
`LIBRARY
`
`CHIP P & R
`VENDOR
`ENGINE
`
`CHIP LEVEL
`TIMING
`MODEL
`
`LEAF LEVEL FUNCTIONS IN THE
`
`QT LIBRARY ARE LINKED WITH
`
`PRIMITIVES AND MACROS IN
`THE VENDOR’S MODELING
`LANGUAGE.
`
`1
`
`IN THE QT
`MACROS (NON—PRIMITIVES)
`MACRO LIBRARY NEED TO HAVE A TIMING
`MODEL CREATED THAT DESCRIBES THE
`TIMING BEHAVIOR OF THE MACROS TO
`
`
`
`QT TIMING
`MODELS
`
`TIMING
`ANALYSIS
`(MOTIVE)
`
`ALL TIMING MODELS WHICH
`ARE FIXED IN STRUCTURE ARE
`CONTAINED HERE.
`THESE
`MODELS MAY BE PARAME—
`TERIZED
`
`______________________ 1
`I
`I TECHNOLOGY LIBRARIES AND WHERE THEY ARE CON— I
`'SUMED
`'
`
`77
`
`77
`
`

`

`US. Patent
`
`Sep. 19, 1995
`
`Sheet 77 of 78
`
`5,452,239
`
`C

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket