throbber
PATENT DATE
`
`‘I
`
`IIVIAI
`
`.; :9 ZOOM
`
`EXAM INEFI
`
`/If’:
`,--2",
`I.
`“
`4'/1‘-3" '
`FILED WITH: |:| DISK (CFIF) EIFICHE
`(Attached in pauxat on tight Inside flap)
`
` ISSUING CLASSIFICATION
`I
`
`,3“
`
`CFIOSS FIEFEFI ENCEIS)
`
`
`
` SUBCLYASS
`
`I‘
`
`/{i/’
`
`SUBCLASS (ONE SUBCLASS PER BLOCK)
`
`
`
`
`
`
`D TERMINAL
`DISCLAIMER
`
`
`
`. sheets 9,
`Figs. Dyg.-" F'rintFig.
`Tota|C|ai
`-
`,9 M’;
`=2
`3
`NOTICE or ALLOWANCE. MAILED D 8.) The term of this patent
`_
`subsequent to ______ (date)
`has been disciairned.
`
`
`3 b)Tha1erm of this patent shall
`not extend beyond the expiration date
`of U.S Patent. No.
`
`
`
`
`-
`
` KEVIN.1.TESKA//
`. sureavasoiif
`Mam“ XAIIIIIVR / .. /
`TH
`
` I:I c) The terminal
`months of
`this patent have been disciaimed.
`
`
`
`WARNING:
`-- 1 -
`The Information disclosed herein may be restricted. U 5;‘
`
`Form PTO—43BA
`(Rev. INST)
`
`by the United States Code Title 35, Sections 122. 181 and 368.
`3-
`ractors only.
`
`
`
`' fiatnawvavanw-L.J_Lfi§a'?ux.L5”EA’
`
`‘WEE’
`1
`
`SYNOPSYS 1902
`TZOPQTZT 1002
`
`
`
`
`
`

`
`
`
`I
`
`I 4'?-ATENT 4r»1-3L134%71o§1 .;
`IWfl flWlW
`
`_
`
`_...
`
`*O9127584*
`
` AUG 79335;
`
`INITLALS __ _
`
`Dqtdrecelved
`(Incl. C. of M.)
`or
`_
`' Data Malled
`
`V
`
`Date reqelved
`(Incl. C. of M.)
`or
`Date Mallacl
`
`12123.9
`
`42.
`
`43.
`
`44.
`
`45.
`45.
`
`47.
`
`43.
`
`49.
`
`5o.
`
`51.
`
`~
`_. M 1.
`:
`5.
`
`.7 .LuI'_,
`3
`
`_
`
`V
`
`52.
`5
`_
`53.
`6735
`"
`-
`1/’/3 45 54.
`_,L2L/LED
`55.
`1-2.7.-Q!
`55.
`_3:&[;O_1
`57.
`
`W@”fi7Fagfim5fic;;§§f;% “
`/H593 raw 9
`’ :0“
`59.
`
`19. Q%_Q
`60.
`
`2o.,____________
`
`j__
`
`21.
`
`22.
`
`23.
`
`24.
`
`25.
`
`26.
`
`27.
`
`' 23.
`29.
`
`3o.
`
`31.
`
`32.
`
`33.
`
`34.
`
`35.
`
`'35.
`37.
`
`33.
`
`9
`
`39.
`
`_
`
`.40.
`‘ 41.
`
`
`
`
`
`51.
`
`52.
`
`ea.
`
`64.
`
`55.
`
`1 ea.
`
`57.
`
`ea.
`
`59.
`70.
`
`71.
`
`72.
`
`73.
`
`74.
`
`75.
`
`75.
`
`'77.
`73.
`
`79.
`
`so.
`
`31.
`32.
`
`éI=RoNT)
`2
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`PATENT Appucmon seam. NO.
`
`u.s.- DEPARTMENT OF COMMERCE '
`PATENT AND mmmanx OFFICE
`FEE RECORD SHEET
`
`
`
`PTO-I556
`(5/87)
`
`3
`3
`
`.
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`Aflflfflvadiotusuthrouqh O9/30/00. OMB oe5t.oo3;
`PTOISBIOS (12/97)
`D
`-
`‘
`d T d
`Pate t
`-it ~ t.
`‘
`Faoerwork Reduction Act at I995.‘rIo oen-.on:,are veouircd to resound to a cottecttgnlnnt intc':alfHaa|tni:r:"uE1)i’::s°-itl.;.l§t:i3saF9:-i?3%VJ9°:oEtg:mEficE
`
`02282-P055 E2
`
`-«M
`
`First Named Inventor or Apprication tdent/tier
`
`H
`Alain R-“mud
`
`Exp,-E55 Matt L559; Na_
`
`;;;‘;‘:‘:'f:m'=;i==~f"-rtor Palm
`ADDRESS ,0.
`
`‘ wflmngn E’; 232:?
`GB Microfiche campmer Program (Appendix)
`
`
`7. Nucieottoe andlor Amino Acid Sequence Submission
`(it applicable. all necessary)
`3‘ D computer Readable CODY
`
`o. D Paper Copy (identical to computer copy)
`c. '3 Statement veritying identity otabove copies
`
`ACCOMPANYING APPLICATION PAFITS
`
`
`
`_
`
`.1‘Pieasetyoe a gtus sign [.1 inside this no:
`‘Vi
`-1
`gfipneer the
`
`-—)
`
`
`
`P
`
`O N
`
`UTILITY
`A P P
`TRANSMITTAL
`ronty /or new nangrovisicnat applications under37 CFFI i.5J(.5
`See MFEP
`APPLICATION ELEMENTS
`cheater sao concerning uriiiiy patent application contents.
`1 E Fee Transmittal Fonn
`{Submit an ongtnal. and a duplicate for teeprotsessiny
`2.
`Specification
`(Total Paces I
`{Dfeferred arrangement set forth below)
`- Descriptive title ot the invention
`.Crcss Fiteierences to Related Applications
`' 5'3i9"“€"‘ R993“3“"9 Fed 5D0"5°f9d 9 3 D
`~ Reierence to Microtiche Appendix
`- Background of the invention
`- Eriet Summary oi the invention
`- Brief Description of the Drawings tiftiieo)
`- Detailed Description
`r Ctairntst
`- Abstract of the Disclosure
`
`-
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`B. D Assignment Papers [cover sheet 8. t:tocument(s))
`
`B 37 ct=n 3.73(b) Statement D P
`M
`(when there is an assignee)
`ow” O mmey
`[ratatsheetsl
`Drawingtst {.75 USC 11.1).
`3,
`to. B English Translation Document (it appticaote)
`
`
`
`
`1 1. E] Information Disclosure
`cog.-95 or 195
`4. Oath or DeciaratIon(“n5j-Sued) troraiflagesml
`Statement (IDSJIPTO-1.149
`citations
`
`3-
`Newly EXECUIEU (original 0|‘ CODY)
`12. E Preliminary Amendment
`
`U
`Copy trorn a prior application (37 CFR 1,6:t(ct))
`'
`{tor continuation/divisional with So! I fccmgleted}
`
`,1 [Q neturn Receipt Postcard (MPEP 50:)
`[Note Box 5 below]
`(Should be specifically itemized)
`
`M. E Smaii Entity
`Statement filed in prior application,
`
`
`N F iNV NT Ft
`Signed statement attached deteting
`Statementts)
`Status stilt proper and desired
`inventortst named in the prior application.
`see 37 CPR t.6.'3td)t2) and 1.J:i[bJ.
`.
`15_ Cl Certified Copy of Priority Docurnsnttst
`{if foreign priority is claimed)
`
`Incorporation By Heierence (useeoie I! So: -to is checked}
`The entire oisoiosure oi the prior application. irorrt which a
`‘5-
`Other?
`. . .(.I.e.r..t.i.£i.s:e.t.t=. .9.£. .I*,I;1..i.1.:.Leg
`
`copy of the oath or declaration is supplied under Box 4b.
`
`is considered as being part at the disclosure ot the
`
`accompanying application and is hereby incorporated by
`reference therein,
`It a CONTINUING APPLICATION. check appropriate oox and supply the requisite information.‘
`
`
`
`
`

`
`
`
`
`
`
`
`I
`
`[:1
`
`
`
`
`
`5.
`
`
`
`17.
`
`
`
`ofprtoraoottt:ationNo:'_____t
`D Continuation D Divisional D Continuation-in-part(ClP)
`18. CORRESPONDENCE ADDRESS
`
`
`
`E Customer Number or Bar Code Label
`
`(insert Customer No. or Attach bar code label hgi-g)E
`
`or m Correspondence address bgfqw ‘
`
`
`
`
`
`Blakely Sokoloff Taylor St Zafman, LLP
`12400 Wilshire Blvd.
`Seventh Floor
`
`
`
`
`
`
`90025
`California
`
`503-684-3245
`503-684-5200
`United States
`Suroen Hour Statement: this Iorrn is estimated to take 02 hours In complete. Time will vary oepenainq upon Ina needs at the individual can. My
`comments on the amount or time you are reouiled to comaleta this form should be sent to the Chiet tntormation Oiiicer, Patent and ‘trade:-nani oltica,
`Washington. DC 2023i. 00 NOT SEND FEES OH COMPLETED FORMS TO THIS I\00HESS. SEND TO: Assistant Commissioner in: Patents,
`Suit Patent Aoolication, Washington, DC 20231.
`
` 4
`
`4
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`
`
`iioonsss
`
`
`
`
`
`
`
`
`
`

`
`Express Mail Ho. : Etfi42801726IJS
`
`th
`
`ti
`
`Under the Paperwont Reduction Act of 199
`
`
`
`
`
`
`
`
`
`METHOD OF PAYMENT che kon
`
`
`
`FTOISB/17 (12.97,
`d to
`A
`canoes ‘.0032
`Patent and Tradereigzivsflicerl
`.
`um er.
`5, no persons are required to respond to a collection at inlurrnation unless it displays a valid OMB conlroAITEF:;CE
`Cam lete if Known
`
`FEE TRANSMIT-I-AL
`
`
`
`~
`-
`
`Note:E’I1et:tr've October I. r997.
`'
`-'
`'
`' ‘ "' -’
`'
`. ' ' -
`Patent fees are subiect to annual revision.
`_'E—
`mm mount as mum
`02282.]?
`
`
`
`
`FEE CALCULATION continuedi
`
`3. ADDITIONAL FEES
`
`"'
`
`'
`
`
`
`
`
`
`
`
`
`
`‘
`.
`Fee Description
`
`Surcharge - late tiling fee or oath
`Surcharge - late provisional iilin
`
`lea or
`
`J3”
`'Ei!’i'.'Vi!'.".:"'
`.'
`Code (5) Code (5)
`
`
`
`
`
`
`'05
`127
`
`13°
`so
`
`205
`227
`
`55
`25
`
`1
`Deposit
`
`The Commissioner is hereby authorized to charge
`indicated fees and credit any over payments to:
`
`,
`
`I
`
`-
`
`I
`
`DESOSH
`3
`
`6 C
`
`
`
`
`
`harge Any Additional
`Charge the Issue Fee Set in
`139
`I30
`I39 130
`N°n'E"Q"5h 59eCmC3fi°“
`37 CFR 1.13 at the Maiiinq OHM
`“T 2520 M7 1520 For “Hug a refines: far reexamination
`Fee Required Under
`
`
`
`37 CFR 1.16 and 1.17
`Notice at Ailowancu
`
`112
`920-
`112 930- Requesting publication ofSlFlpriorto
`Examiner action
`Payment Enclosed: M
`
`
`113 1_5ea- Requesting publication ofSlFl after
`113 t_a4o'
`Examiner action
`
`
`
`Check
`0%?’ D Other
`Extension tor reply within lire: month
`215
`55
`I15
`110
`
`Extension Ior reply within second month
`216 200
`116 A00
`FEE CALCULATION
`
`Extension tor reply within third month 1. FILING FEE
`217 475
`117
`950
`
`Extension lorreply within fourth month
`Ma 1510 213 755
`Large Entity Small Entity
`Extension torrepiy within filth month
`123 2,050 22s1_g:1q
`Fee Description
`Fee
`Fee
`Fee Fee
`
`
`Code (st
`Code (51
`"‘°“°“°”P9“'
`its 310
`219
`155
`101
`790
`201
`:95 Utiiityfiiinglee
`filing a one! in support of an appeal
`‘I20
`310
`220 155
`
`
`106 330
`206 165 Design filing lee
`Requestlororaihearing
`121
`270
`221
`135
`
`107 540
`207 270
`Plant Iifing fee
`Petition to institute a public use proceeding
`133 1,510 133 15”,
`last 790
`205 395 Reissue fiiingtee
`Petitlonto revive-unavoidable
`‘mg no 240
`55
`114 159
`21% 75
`Provisional tilin lee
`Petition to revive-unintentional
`141 1,320 241 E50
`SUBTOTAL (1)
`(3) 790.00
`Utility issue lee torreissue)
`1421_32g ztz 55°
`I43
`450
`2-ta 225 Designiseuelee
`144
`610
`244 335
`Flantissuelee
`122
`130
`I22 130
`Petitionstothe Commissioner
`123
`5°
`‘23
`50
`Petitions related to provisional applications
`126 2“ '25 24°
`Submission oflntormation Disclosure Slmt
`
`
`
`Fee Paid
`
`
`
`_2. Q
`
`
`
`
`
`
`
`
`
`2. cLAtMs
`Em F“ '""“ Fee Paid
`Total Claims i = III X
`s
`i§i‘Z.ii‘::"“"'
`-3 = — >;
`=
`Multiple Dependent Claims
`=
`
`-
`Large Entity Small Entity
`Fee Description
`Fee
`Fee
`Fee Fee
`Code (5)
`code (5)
`Claimsin excess 6120
`"03
`Z2
`203
`11
`lndgpendgnt claims in excess ofil
`102
`52
`202
`41
`1G4 270
`204 135 Mumpi, dgpgndgnfclaim
`109
`B2
`209
`41
`Reissueindeoendarltclaims
`over original patent
`
` Other tee (specify) ‘
`
`
`Other lee (speciiyi
`Reissue claimsinezcess-fl2O
`11
`210
`22
`tit]
`
`and over original patent
`
`SUBTOTAL (3)
`
`
`
`SUBTOTAL (2)
`(S) 778 .00
`' Reduced by Basic: I-‘iling Fee Paid
`
`
`SUBMITTED BY
`Fieg. Number
`TYPE‘ °"
`
`Printed Name
`
`
`Deposit Account
`_
`
`fin?
`Burden Hour Statement: This form is estimated to lake 0.2 hours to complete. Time will vary depending upon the needs of the individual case.
`lele this form should be sent to the Chiai Information Ollicer. Palent and Tradernalk CHI“-
`comments on the amount oi time you are required In comp
`_
`_
`_
`wash;,,gm,,_ Dc 292;” 00 No-r SEND FEES on COMPLETED FORMS TO THIS ADDRESS. SEND To: Assistant COi’|'IfTItSSlOI'Iel' tor Patents.
`Washington, DC 20231.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`‘O 55'
`58‘
`“'5 79°
`245
`
`‘°
`395
`
`“9 79°
`
`249
`
`395
`
`Recording each patent assignment per
`property (times number of properties)
`Finn asubmission aftertinal rejection
`(37 FFl1.129(a))
`For each additional invention to be
`examined (37 CFH I.129(b))
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`.
`
`Ii
`
`I
`
`I
`
`.
`
`‘
`
`-
`
`5
`5
`
`I
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`Our Reference: 02282.PO55
`
`Patent
`
`METHOD AND AEPARATUS FOR GATE-LEVEL SIMULATION OF SYNTHESIZED
`REGISTER TRANSFER LEVEL DES|GNS WITH SOURCE-LEVEL DEBUGGING
`inventors: Alain Raynaud and Luc M. Burgun
`A
`.
`.
`Respectfully submitted.
`.
`-
`LAKELY SOKOLOFF TAYLOR & ZAFMAN LLP
`Wzzaii.
`/0“...
`
`B
`
`E’ E
`''‘Q-- g
`513;
`H
`-'3':ԤS
`in E
`‘U 1 U
`
`a
`
`William D. Davis
`
`Reg. No. 38,428
`
`EM542801726US
`“Express
`Mail” mailing label number:
`ui
`31 1998
`Date of Deposit:
`
`I hereby certify thai_I am causing this paper or fee to be deposited with
`the Unite
`(1 States Postal Service "Express Mail Post Office to Addressee"
`service 0
`n the date indicated above and that this paper or fee has been
`addressed to the Assistant Commissioner for Patents, Washington, D. C.
`20231
`
`‘
`
`Michelle J. Turner
`
` l iJ
`
`'
`
`
`
`*i'***
`Docket Due Date:
`Date Mailed:
`ed hereon:
`llU.S.Pl-t3lTd
`'d'
`h
`ll
`Tltfii
`'
`k0t‘l'
`e 0 owing as am receive int :2
`aen
`:1Pmegtzt-H Nu
`flhlck No.2
`D Amendmentlflesponse (
`pp‘)
`AmL.$1§§_8__-_(_).Q-
`U Appeal Brief (_ pgs.) (in Iripiiclle)
`Montittai Extension of Time
`Ci
`XE Application - Utility(
`fi[|.pgs.. with cover Ind abstract)
`|1bm'nimlJsdosIle&a‘arutt&P'lOl449(._. PS5-3 D CHECK N“-
`El
`El Application - Rule [.60 Contintution 1: pgs.)
`D Issue Fete Tnmsmittal
`'
`Amt: ____T
`D Application - Rule 1.60 Division tj pgs.)
`El Notice of Appeal
`Cl Application - Rule I60 ctr (___ pix.)
`El Petition for Extension of Time
`l:l Application - Rule 1.62 Transmittal (___ pgs.)
`Petition for
`l
`D Application - Design tj pgs.)
`Postcard
`D Application - PCP (________ pgs.)
`U Power of Attorney (j pgs.)
`El Application - Provisional P P3!-3
`D Preliminary Amendment 9 Pee.)
`U Assignment and Cover Sheet
`El Reply Brief
`pga.)
`D ‘Response to Notice of Missing Pam
`XIX] Cenificute of Mailing
`C] Request to Incorporate Disclosure Document (_____ pga.)
`XE Declaration 6‘: ront 4 psi.) (unsigned)
`El
`Ilsdosuelha
`V D Small Emily Declaration for lrtdep. lnven!oIISrI1al1 Business
`if of sheets includes
`figure:
`XE Drawings:
`'g&&wdhmmb§ 9§)
`3 Transmittal Letter (original 6‘: copy)
`X 1 Page ea-ch
`
`Iflomcr,
`
`Fee transmittal (original li copl) x 1 page each
`
`‘
`
`6
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`UNITED STATES PATENT APPLICATION
`
`FOR
`
`METHOD AND APPARATUS FOR GATE—LEVEL SIMULATION OF
`
`SYNTHESIZED REGISTER TRANSFER LEVEL DESIGNS WITH SOURCE-
`LEVEL DEBUGGING
`
`:15:
`L22
`
`
`I.«....:'.L-""(rill
`
`INVE NTORS:
`
`ALAIN RAYNAUD
`LUC M. BURGUN
`
`Prepared by:
`
`BLAKELY, SOKOLOFF, TAYLOR & ZAFMAN, LLP
`12400 WILSHIRE BOULEVARD
`SEVENTH FLOOR
`
`Los ANGELES, CALIFORNIA 90025
`(503) 684-6200
`
`Attorney Docket No. O2282.P055
`
`EM 542801726 US
`"Express Mail" mailing label number
`
`July 31, 1993
`Date of Deposit
`
`I hereby certify that I am causing this paper or fee to be deposited with the United States Postal Service
`“Express Mail Post Office to Addressee" service on the date indicated above and that this paper or fee has
`been addressed to the Assistant Commissioner for Patents, Washington, D. C: 20231
`
`Michelle 4. Tgrngr
`(Typed or printed name of person mailing paper or fee)
`
`( Jgnature of
`
`mailing paper or fee)
`
`7
`7
`
`'
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`ME
`
`D AND APP
`
`T
`
`F R
`
`-LEVEL SIM
`
`TI N OF
`
`Y
`ESIZED RE I
`R TRA SFER L
`EL DE IGN WI H
`UR E-
`
`LEVEL DEBLJQQINQQ
`
`.12”
`
`FIELD F TH
`
`NTTON
`
`10
`
`15
`
`20
`
`This invention relates to the fields of simulation and prototyping
`
`when designing integrated circuits.
`
`In particular, this invention is drawn to
`
`debugging synthesizable code at the register transfer level during gate-level
`simulation.
`
`BAQEGRQUND QF TI-IE !NyENTI§ 2N
`
`Integrated circuit designers have adopted the use of high—level
`
`hardware description languages due in part to the size and complexity of
`
`modern integrated circuits. One such description language is Very High
`
`Speed Integrated Circuit (VHSIC) Description Language, or VHDL. Further
`
`information regarding VHDL may be found in the IEEE Standard VHDL
`
`Language Reference Manual (IEEE 1076-1987, IEEE 1076-1993). Another such
`
`description language is Verilog. These high level description languages are
`
`typically generically referred to as hardware description languages (I-lDLs).
`
`Synthesis is the process of generating a gate—level netlist from the
`
`high—leVel description languages. Presently, synthesis tools recognize a subset
`
`of the high-level description language source code referred to as Register
`
`1
`
`Transfer Level (RTL) source code. Further information regarding RTL source
`
`code may be found in the IEEE 1076.6 /D1.10 Draft Standard for VHDL Register
`
`Transfer Level Synthesis (1997).
`
`The RTL source code can be synthesized into a gate-level netlist. The
`
`gate-level netlist can be verified using gate-level simulation, The gate-level
`
`simulation can be performed using a software gate-level simulator.
`
`Express Mail No: EM 542801726 US
`(*7
`
`1
`
`8
`8
`
`Attorney Docket No: O2282.P055
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`
`
`E '
`
`5:
`i"~
`
`

`
`Alternatively, the gate-level simulation may be performed by converting the
`gate-level netlist into a format suitable for programming an emulator, a
`hardware accelerator, or a rapid-prototyping system so that the digital circuit
`/description can take an actual operating hardware form.
`
`Debugging environments for high—level hardware description _
`languages frequently include a number of functionalities for analyzing and
`verifying the design when performing simulation. For example, a designer
`can typically navigate the design hierarchy, View the RTL source code, and set
`breakpoints on a statement of RTL source code to stop the simulation.
`Statements are usually identified by their line number in the RTL source
`
`code. In addition, the debugging environment often supports viewing and
`tracing variables and signal values. The RTL simulation environment
`
`typically offers such RTL debugging functionalities.
`
`5
`
`10
`
`e
`
`15
`
`20
`
`RTL simulation is typically performed by using software RTL
`
`simulators which provide good flexibility. However, for complex designs, a
`very large number of test vectors may need to be applied in order to
`
`adequately verify the design. This can take a considerable amount of time
`
`using software RTL simulation as contrasted with hardware acceleration or
`
`emulation starting from a gate-level netlist representation (i.e., ”gate—level
`hardware acceleration,” or "gate—1evel emulation”). Furthermore, it may be
`useful to perform in-situ Verification, which consists of validating the design
`under test by connecting the emulator or hardware accelerator to the target
`system environment (where the design is to be inserted after the design is
`completed)-
`
`Express Mail No: EM 542301726 US
`
`2
`
`Attorney Docket No: 0228213055
`
`Ht
`
`9
`9
`
`r
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`One disadvantage with gate—level simulation, however, is that most of
`
`the high-level information from the RTL source code is lost. Without the
`
`high-level information, many of the debugging functionalities are
`
`unavailable.
`
`For example, the designer typically cannot set a breakpoint from ‘the
`
`source code during gate-level simulation. Although signals can be analyzed
`
`during gate-level simulation, mapping signal values to particular source code
`
`lines can be difficult, if not impossible.
`
`If the source code is translated into a
`
`combinatorial logic netlist, for example, the designer cannot ”step” through
`
`10
`
`' the source code to trace variable values. Instead, the designer is limited to
`
`analyzing the input Vector and resulting output vector values. Although the
`
`signals at the inputs and outputs of the various gates may be traced or
`
`modified, these values are determined concurrently in a combinatorial
`
`network and thus such analysis is not readily mappable to the RTL source
`
`15
`
`code.
`
`
`
`4;!
`
`5%
`
`A typical design flow will include creating a design at the RTL level,
`
`then synthesizing it into a gate-level netlist, Although simulation of this
`
`netlist can be performed at greater speeds using emulators or hardware
`
`accelerators, the ability to debug the design at the gate level is severely limited
`
`20
`
`in comparison with software RTL simulation.
`
`Express Mail No: EM 542801726 US
`F.
`‘N
`
`3
`
`10
`10
`
`Attorney Docket No: D2282.P055
`
`‘
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`SQ flMARY QF THE INVENTIQN
`
`Methods of instrurnenting synthesizable register transfer level (RTL)
`
`source code to enable debugging support akin to high-level language
`programming environments for gate-level simulation are provided.
`
`One method of facilitating gate-level simulation includes the step of
`generating cross-reference instrumentation data including instrumentation
`
`logic indicative of the execution status of at least one synthesizable statement
`
`within the RTL source code. A gate-level netlist is synthesized from the RTL
`
`source code. Evaluation of the instrumentation logic during simulation of
`
`the gate-level netlist enables RTL debugging by indicating the execution status
`
`of the cross~referenced synthesizable statement in the RTL source code.
`
`In one embodiment, the gate—leVel netlist is modified to provide
`
`instrumentation signals implementing the instrumentation logic and
`
`corresponding to synthesizable statements within the RTL source code.
`
`In
`
`various embodiments, this may be accomplished by modifying the RTL
`
`source code or by generating the modified gate-level netlist during synthesis
`
`as if the source code had been modified.
`
`10
`
`15
`
`Alternatively, the gate-level netlist is not modified but the
`
`instrumentation signals implementing the instrumentation logic are
`
`20
`
`contained in a cross-reference instrumentation database.
`
`In either case, the instrumentation signals indicate the execution status of the
`
`corresponding cross-referenced synthesizable statement. The
`
`instrumentation signals can be used to facilitate source code analysis,
`
`breakpoint debugging, and visual tracing of the source code execution path
`
`25
`
`during gate-level simulation.
`
`Express Mail No: EM 542801726 US
`/,/
`
`4
`
`11
`11
`
`Attorney Docket No: 02282.PO55
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`For example, a breakpoint can be set at a selected statement of the
`
`source code. A simulation breakpoint is set so that the simulation is halted at
`
`a simulation cycle where the value of the instrumentation signals indicate
`
`that the statement has become active .
`
`:
`
`5
`
`With respect to visually tracing the source code during execution, the
`
`instrumentation logic is evaluated during gate-level simulation to determine
`
`a list of at least one active statement. The active statement is displayed as a
`
`highlighted statement.
`
`10
`
`15
`
`With respect to source code analysis, cross-reference instrumentation
`data including the instrumentation signals can be used to count the number
`of times a corresponding statement is executed in the source code. For
`example, an execution count of the cross-referenced synthesizable statement
`is incremented when evaluation of the corresponding instrumentation logic
`indicates that the cross-referenced synthesizable statement is active.
`Other features and advantages of the present invention will be
`apparent from the accompanying drawings and from the detailed description
`
`that follows below.
`
`Elli
`
`Express Mail No: EM 542801726 US
`
`5
`
`Attorney Docket No: o22s2.r=o5s
`
`7
`
`12
`12
`
`'
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`I
`D
`PINF
`BED
`The present invention is illustrated by way of example and not
`limitation in the figures of the accompanying drawings, in which like
`references indicate similar elements and in which:
`Figure 1 illustrates the process of synthesizing RTL source code into a1
`
`5
`
`10
`
`
`
`15
`
`20
`
`gate-level design.
`Figure 2 illustrates one embodiment of a modified process for
`generating a gate-level design.
`Figure 3 illustrates one embodiment of a method for instrumenting
`level-sensitive RTL source code.
`Figure 4 illustrates VHDL source code.
`Figure 5 illustrates the gate-level design synthesized from the RTL
`source code of Figure 4.
`Figure 6 illustrates the VHDL source code of Figure 4 modified in
`accordance with the method of Figure 3.
`Figure 7 illustrates one embodiment of the gate-level logic synthesized
`from the modified RTL source code.
`Figure 8 illustrates sample Verilog source code before instrumentation.
`Figure 9 illustrates the Verilog source of Figure 8 instrumented in
`accordance with the method of Figure
`Figure 10 illustrates the gate—1evel logic synthesized from the
`instrumented Verilog source code of Figure 9.
`V H D ‘—
`Figure 11 illustrates ¥er-i-legsource code for a D flip-flop with
`A
`
`'
`
`.
`
`.
`
`asynchronous reset.
`
`Express MailNo: EM 542801725 Us
`
`6
`
`Attorney DocketNo: 02282.PD55
`
`13
`13
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`Figure 12 illustrates one method of instrumenting event-sensitive RTL
`source code.
`
`Figure 13 illustrates the source code of Figure 11 modified in
`
`accordance with the instrumentation process of Figure 12.
`
`5
`
`Figure 14 illustrates the gate—level logic synthesized for the
`
`instrumented source code of Figure 13.
`
`Figure 15 illustrates Verilog source code for a D flip-flop with
`
`asynchronous reset.
`
`
`
`Figure 16 illustrates the Verilog source code of Figure 15 after
`instrumentation in accordance with the method of Figure 12.
`
`10
`
`Figure 17 illustrates a method of instrumenting process activation.
`
`Figure 18 illustrates source code modified in accordance with the
`method of Figure 17.
`Figure 19 illustrates an instrumented ”case” statement.
`Figure 20 illustrates a process for decreasing the logic needed to
`instrument the source code,
`Figure 21 illustrates incorporating instrumentation within the
`
`15
`
`synthesis process.
`
`Figure 22 illustrates a method of setting a breakpoint in RTL source
`
`20
`
`code for use during gate-level simulation.
`
`Express Mail No: EM 542801726 US
`Ql
`
`7
`
`14
`14
`
`Attorney Docket No: 02282.PD55
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`DETAILED QESQRIPTIQN
`
`Figure 1 illustrates a typical RTL source code synthesis process. HDL
`
`code including synthesizable RTL source code (110) serves as input to a
`
`synthesis process 120. In one embodiment, the RTL source code 110 is
`
`synthesized in step 140 to produce a gate-level design 150. The gate-level
`
`design can be used for gate—level simulation as illustrated in step 160.
`
`Typically the gate-level design comprises a hierarchical or flattened
`
`"“H11T3
`
`gate-level netlist representing the circuit to be simulated. The various signals
`
`in a design are referred to as nets. A hierarchical netlist is made of a list of
`
`10
`
`blocks, whereas a flattened netlist comprises only one block. A block contains
`
`components and a description of their interconnection using nets.
`
`Components can be reduced to combinatorial or sequential logic gates, or they
`
`may be hierarchical blocks of lower level.
`For example, the component may be a primitive gate denoting a single
`
`15
`
`combinatorial logic function (e.g., AND, NAND, NOR, OR, XOR, NXOR, etc.)
`
`or a single storage element such as a flip-flop or latch for sequential logic.
`
`One example of a set of primitive gates is found in the generic library GTECH
`
`available from Synopsys, Inc. of Mountain View, California.
`
`Alternatively the component may be an application specific integrated
`
`20
`
`circuit (ASIC) library cell which can be represented by a set of primitive gates.
`
`One example of an ASIC library is the LCASOOK ASIC library developed by LSI
`
`Logic, Inc., Milpitas, California.
`
`A component may also be a programmable primitive that represents a
`
`set of logic functions and storage. One example of a programmable primitive
`
`I
`Express Mail No: EM 542801726 US
`f /.. _
`if r/
`
`8
`
`15
`15
`
`Attorney Docket No: 02282.P055
`
`A
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`is the configurable logic block (CLB) as described in The Programmable Gate
`
`Array Handbook, Xilinx Inc., San Iose, 1993.
`
`Another example of a component is a macro block denoting a complex
`
`logic function such as memories, counters, shifters, adders, multipliers, etc.
`
`Each of these can be further reduced to primitive gates forming combinatorial
`
`or sequential logic.
`
`Three major categories of tools are available to the designer to simulate
`
`and test the design. Software RTL simulators (such as ModelSimTM from
`
`Model Technology, Inc.) typically offer a high-level of abstraction for their
`
`debugging environment, but have limited performance in terms of speed and
`
`no in—situ capacity. Software gate—leve1 simulators (such as Quicl<SirnTM from
`
`Mentor Graphics Corporation) typically offer limited level of abstraction and
`
`speed as well as no in—situ capacity. Hardware gate—level simulators (such as
`
`Cobalt” and System Realizer‘-‘M from Quickturn Inc., Avatar” from Ikos,
`
`and fast-prototyping systems usually built from FPGAs) typically offer very
`
`good performance i.n terms of speed and in—situ capacity, but a limited
`
`debugging environment.
`
`When testing the design described by the HDL source code a designer
`
`may choose to simulate and validate the design at the RTL source code level
`
`(i.e., RTL simulation). RTL simulation typically permits the designer to set
`
`breakpoints in the source code, navigate the design hierarchy, View variables
`
`and signals and trace the value of these variables and signals.
`
`When testing complex designs, millions or billions of test vectors may
`
`need to be applied in order to adequately test the design. Hardware
`
`accelerators or emulators can be used with the gate-level design to test the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`‘E
`
`}.=‘;
`
`Express Mail No: EM
`
`f
`
`:
`
`v
`,,
`
`l
`
`A
`s
`.
`
`9
`
`16
`16
`
`Attorney Docket No: 9223113055
`
`'
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`design at a much greater speed than what is typically possible through
`
`software simulation (i.e. either software RTL simulation or software
`
`gate-level simulation). Unfortunately, the gate-level design generated in step
`
`150 typically includes none of the high-level information available in the
`
`5
`
`RTL source code 110. As a result, features available during RTL simulation
`such as setting breakpoints or analyzing the source code coverage are not
`
`available during gate-level simulation.
`
`Instrumentation is the process of preserving high—1evel information
`
`through the synthesis process.
`
`Instrumentation permits simulation of a gate-
`
`10
`
`15
`
`level netlist at the level of abstraction of RTL simulation by preserving some
`of the information available at the source code level through the synthesis
`process.
`Figure 2 illustrates one embodiment of the instrumentation process in
`which instrumentation is integrated with the synthesis process. RTL source
`code 210 is provided to the synthesis process 220. The synthesis process 120 of
`Figure 1 has been modified to include an instrumentation step 234. After
`instrumentation the instrumented code is then synthesized in step 240 as the
`
`original RTL source code was in step 140 of Figure 1.
`
`In one embodiment, instrumentation results in generating a modified
`gate-level design to permit reconstitution of the flow of execution of the
`
`20
`
`original RTL source code during gate—leve1 simulation. Generally
`
`instrumentation logic is created for a synthesizable statement in the RTL
`
`source code either by modifying the RTL source code or by analyzing the RTL
`
`source code during the synthesis process. The instrumentation logic provides
`
`25
`
`an output signal indicative of whether the corresponding synthesizable
`
`Express Mail No: EM 542801726 US
`;I
`,/
`54%.
`
`10
`
`17
`17
`
`Attorney Docket No: o22a2.1=o5s
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`l
`
`5
`
`10
`
`statement is active. A gate-level design including the instrumentation
`
`output signal is then synthesized. Referring to Figure 2, the resulting
`
`gate~leve1 design 250 contains additional logic to create the additional
`
`instrumentation output signals referenced in instrumentation data 238.
`
`In an alternative embodiment, the RTL source code is analyzed to’
`
`generate a cross-reference database as instrumentation data 238 without
`
`modifying the gate-level design. The cross-reference database indicates the
`
`combination of already existing signals in the form of instrumentation logic
`
`that can be evaluated during simulation to determine whether a particular
`line of the RTL source code is active. The cross-reference database contains a
`
`cross-reference between these instrumentation logic output signals and the
`
`position of the corresponding statement in the source code.
`
`The
`
`instrumentation data 238 is likely to contain considerably more complex logic
`to evaluate during simulation when the approach of not modifying the
`
`15
`
`gate-level design (i.e., ”pure" cross-reference database) is taken.
`
`The two approaches have tradeoffs. The gate-level design modification
`
`technique does not require special knowledge of the target simulation
`
`environment. Moreover, the gate—level design modification technique
`
`significantly reduces or eliminates the complexity of the logic to be evaluated
`
`during simulation to the extent that emulator or accelerator hardware
`
`triggering circuitry can be used to take an action when the corresponding
`
`statement is executed.
`
`For example, the hardware triggering circuitry may be used to halt the
`
`simulation at a particular statement or to count the number of times a
`
`particular statement is executed. The resulting gate-level design used during
`
`20
`
`25
`
`.5
`
`
`
`£35
`
`=rt__'§_
`
`gs.
`
`Express Mail N0:
`
`I
`
`/.7
`
`“W
`rxkfl.
`
`11
`
`18
`18
`
`Attorney Docket No: O2282.P055
`
`SYNOPSYS 1002
`TZOPQTZT 1002
`
`

`
`simulation, however, Will not be the design actually used for production thus
`
`simulation may not verify accurately the behavior of the gate-level design
`
`used for production. Furthermore, simulation of modified gate-level design
`
`may require more physical resources in hardware than the original design
`
`alone if gates have been added in order to implement the instrumentation
`
`logic.
`
`Alternatively, the pure cross—reference database technique typically
`
`results in greater complexity of instrumentation logic to evaluate during
`
`simulation, but does not otherwise affect the original gate-level design. The
`
`10
`
`greater complexity, however, may prevent the use of the hardware triggering
`
`circuitry to halt the simulation or to track source code coverage. Thus the
`
`pure cross-reference database technique may result in a significantly slower
`
`simulation time. Furthermore, since the evaluation may be performed by
`
`software, direct verification of the gate—level design in the target system
`
`15
`
`through in—situ verification may not be possible. The instrumentation data
`
`including the logic added for instrumentation purposes can be eliminated
`
`after testing, however, without disrupting the gate-level design.
`
`In essence the gate-level design modification technique greatly
`
`simplifies the analysis and the instrumentation logic required for
`cross—referencing by modifying the gate-level design to create unique signals
`
`20
`
`and therefore simpler logic to evaluate (

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