`
`‘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 (