`
`
`
`
`
`
` Exhibit 1
`
`
`
`
`
`case 6:21-cv-oozas-ADA DocumeHIIlllllllllHlIlllflIlllllllllllllllllllvllllflllllillflllllllllll||||||||
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 2 of 24
`US006317804B1
`
`(12) United States Patent
`US 6,317,804 B1
`(10) Patent N0.:
`(45) Date of Patent:
`Nov. 13, 2001
`Levy et al.
`
`(54)
`
`(75)
`
`(73)
`
`CONCURRENT SERIAL INTERCONNECT
`
`FOR INTEGRATING FUNCTIONAL BLOCKS
`IN AN INTEGRATED CIRCUIT DEVICE
`
`Inventors: Paul S. Levy, Chandler; Judson Alan
`Lehman Scottsdale both OfAZ (US)
`’
`’
`.
`.
`.
`.
`ASSIgnee~ Phlhps semlc‘mducwrs Inc” New
`York, NY (US)
`
`5,754,828 *
`
`5/1998 Adan et a1.
`.......................... 395/500
`
`5,838,937 * 11/1998 Lee et a1.
`.. 710/131
`5,870,310
`2/1999 Malladl
`..
`364/490
`3/2000 Lee ................
`6,035,345 *
`710/8
`
`
`6’035’414 *
`714/7
`3/2000 Okaz‘lwa et al'
`‘
`
`6,041,400
`3/2000 Ozcellk et a1. ............. 712/35
`6,094,436 *
`................... 370/420
`7/2000 Runaldue et a1.
`6,112,241 *
`8/2000 Abdelnour et a1.
`.................. 709/224
`
`6,138,185 * 10/2000 Nelson etal. .............. 710/33
`6,145,024 * 11/2000 Maezawa et al.
`..................... 710/14
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent ls extended or adjusted under 35
`U~S~C~ 154(b) by 0 days
`
`FOREIGN PATENT DOCUMENTS
`0 308 890 A2
`3/1989 (EP) .
`0 653 896 A2
`5/1995 (EP) .
`
`(21)
`
`Appl. N0.: 09/201,450
`
`(22)
`
`Filed:
`
`NOV_ 30, 1998
`
`(51)
`(52)
`(58)
`
`(56)
`
`Int. Cl.7 ............................. G06F 13/00; G06F 13/14
`US. Cl.
`............................................. 710/129; 710/126
`Field of Search ..................................... 710/129—132,
`71038; 709/252—253; 370/360_385’ 498—545
`.
`References Cited
`
`* cited by examiner
`
`Primary Examiner—Sumati Lefkowitz
`(74) Attorney, Agent, or Firm—Wood, Herron & Evans,
`L.L.P.
`
`ABSTRACT
`(57)
`A circuit arrangement and method interface multiple func-
`tional blocks Within an integrated circuit device via a
`.
`.
`.
`concurrent serlal lnterconnect capable of routlng separate
`serial command, data and clock signals between functional
`blocks in the device. The concurrent serial interconnect
`utilizes a plurality of serial ports that are selectively coupled
`-
`to on: “.101?” by an.ln:8rfacflc°m1r°tl)letr to difine one or
`more oglca communlca 1011C annes eween vvo or more
`of the serlal ports. Each serlal port ls coupled Vla a pomt-
`to-point interconnection With a port interface in a functional
`block. In addition, the concurrent serial interconnect facili-
`tates the design of an integrated circuit device by supporting
`the addition of a serial interconnect to an assemblage of
`functional blocks, With each functional block associated
`With one of a plurality of serial ports in the serial intercon-
`nect
`'
`
`us. PATENT DOCUMENTS
`.
`13133: 120mm? ““““““““““““““““ 333/322
`3922113923:
`grawa ...............................
`,
`,
`2/1993 Niehaus et al.
`...................... 370/248
`5,189,665 *
`.. 710/132
`5,261,059 * “/1993 Hedberg et a1.
`
`.
`.. 364/754
`5 311 459
`5/1994 D’Luna et a1.
`...... 710/129
`5,428,750 4
`6/1995 Hsieh et a1.
`
`..... 340/825.79
`5,430,442 *
`7/1995 Kaiser et a1.
`
`11/1995 Vanbuskirk et a1.
`..... 395/200.01
`5,469,545
`
`...... 395/800
`5,513,369
`4/1996 Patel et a1.
`
`55377583 :
`7/1996 Truong
`713/500
`
`575557540
`9/1996 Radke ‘1""""""
`370/462
`
`.. 709/209
`5,555,543 *
`9/1996 Grohoskl et a1.
`...... 370/360
`5,604,735 *
`2/1997 Levinson et a1.
`
`
`5,655,142
`8/1997 Gephardt et a1.
`. 395/800.32
`5,680,402 * 10/1997 Olnowich et a1.
`................... 370/498
`
`
`40 Claims, 9 Drawing Sheets
`
`24
`
`/
`
`
`
`32
`
`,
`
`
`
`,
`
`.
`
`1
`
`
`
`‘
`
`1
`
`14/
`
`
`FB 1
`FB 2
`
`
`
`
`34
`
`
`
`
`For: UP
`\22
`Port I/FA
`
`CIT/ID ‘ ch\
`ChtlD T ch 54
`12
`
`
`
`i DATA ‘
`l DATAi / /
`52
`
`
`T
`v 1
`9
`50
`/20
`Port1
`42 44,, Port 2
`C4,”)
`Host
`
`
`
`Interface Controller 40 %%:f:%r DATA’fizgt
`*rCLK»
`46 48
`Port 3
`Port n
`\
`l
`T
`30
`56 \1 DATA]
`1 DATA 1/ 58
`CMD J CLK
`CMD l CLK
`l
`1
`l
`l
`l
`l
`”\ 38
`Port UP
`Port I/F
`FB n
`
`‘
`'
`
`28
`
`,/+
`60 EXTERNAL
`l/O PORT
`
`\
`10
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 3 of 24
`Case 6:21-cv-00263-ADA Document 1—1 Filed 03/16/21 Page 3 of 24
`
`US. Patent
`
`Nov. 13, 2001
`
`Sheet 1 0f 9
`
`US 6,317,804 B1
`
`
`
`80:95
`
`5:0:000
`
`
`
`
`sN.9"./fittom7OOO
`
`
`
`
`0tom
`
`mm<
`
`
`vw
`
`/
`
`mo
`
`x505.
`
`6:000
`
`x252
`
`5:05:000
`
`050
`
`ow
`
`
`
`5602a7NtOn.
`
`
`
`5650000
`
`
`
`
`x255.
`
`\_\©m
`
`
`
`
`om
`
`om
`
`
`mm
`
`mmon
`
`<T\\
`
`Eon.0:/._<zmm:xmo_..m_u_
`
`mm
`
`OO0
`
`
`
`“5:00“3:00+$0:0002
`
`
`
`Us501vo:00we
`omT0emIcE
`
`
`ten.<F<QI¥550_>_/ov5:05:005005::
`
`0.204
`
`
`
`
`
`3
`
` a;
`
`
`
`mm
`
`\\H»<F<D9mm
`v:E«0H0&0
`
`Vm\NmN0“.
`“Stom:“S:00
`
`
`
`
`
`
`
`\mv
`
`
`0:0001%
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 4 of 24
`Case 6:21-cv-00263-ADA Document 1—1 Filed 03/16/21 Page 4 of 24
`
`US. Patent
`
`Nov. 13, 2001
`
`Sheet 2 0f 9
`
`US 6,317,804 B1
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 5 of 24
`Case 6:21-cv-00263-ADA Document 1—1 Filed 03/16/21 Page 5 of 24
`
`US. Patent
`
`Nov. 13, 2001
`
`Sheet 3 0f 9
`
`US 6,317,804 B1
`
`
`
`
`
` \0:.
`
`mmzoammmflomzzoo
`namEEoo022v
`o_8:3>:8
`
`>tomOwUCNEEOO
`Ommln_m_zz<IO
`Ewoo<>ton.
`
`mszammmPOMZZOO
`
`
`
`meOmmm—EIHOmZZOO
`
`xten.929:68SEE
`
`mncmmO.
`
`wvw
`
`mm?o:
`
`
`
`wucwmw6::chmcwqoO_
`
`mszQmwmIFOmzzOO
`
`x:019ucmEEoo9:on.wv.03
`
`m_JMZZ<IO
`
`DMFOMZZOO
`
`>Q<mmDz<
`
`I»
`
`
`
`
`
`o:
`
`N:
`
`\
`
`
`
`Hmwmm_>_m_._.m>w
`
`
`
`9306O_
`
`
`
`Emacmco__m
`
`
`
`
`
`_m:cmcoo._.m_On_
`
`wywwscwm
`
`mg
`
`4V:
`
`ON_
`
`\
`
`
`
`moEmh69.829598
`
`
`
`wucmEEoooE>>m_>
`
`a
`
`
`0_$395$0:
`
`m_>wmoEmm
`
`
`
`EflmaomUcmEEoo
`
`m>_m_0m_mOP>Q<mm
`
`
`
`wDZ<EEOOHmOm
`
`q.9".
`
`
`
`
`
`mm<wbmoanu“mo:
`
`mucmmo_
`
`NVF
`
` /
`
`03:518x93ucmEEooAxten:
`3865
`OMIIJMZZ<IO
`88:890:
`.m:8tomm_n_m3uxa@m“.
`ofwara
`
`
`
`>tomL2vcmEEoo
`0mmldzz<xo
`
`mmw
`
`Eccmco
`
`mw_om__m><
`
`30$ng0.
`
`
`
`UcmEEOQOmmIJMZZ<IO
`
`mmooowvnewxtomE0:
`
`Crton:699
`
`
`
`
`
`mwrHOMZZOO
`
`moszOmm
`
`02m
`
`.vmw
`
`3593>tom
`
`wvwfiomccoo
`
`3:30.
`
`HmOm<I4mZZ<IO
`
`XtomOwUCMEEOO
`
`scozooccoo
`
`0—mucwm>ten.
`
`vcmEEooQ03
`
`mvcwm0_E:
` a
`
`oFEOn.E0:0econ.96:530:30
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 6 of 24
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 6 of 24
`
`US. Patent
`
`Nov. 13, 2001
`
`Sheet 4 0f 9
`
`US 6,317,804 B1
`
`mm:
`
`Ntom8vcwEEoo
`
`
`
`meOQmmmhOwZZOOm828O_
`
`
`
`:5:955560Q<Zv
`
`
`
`ten.mczmcazo8Ntom
`
`
`
`6::chof2
`
`Emmoumoem
`
`0.:N:01w.
`
`$085020
`
`mm;
`
`208%o_e.@.m_n_O.2ucmEEoo
`
`
`FmOm<szz<Io
`
`EOm<szz<Io
`
`
`
`NtomE0:UcmEEoo
`
`9.:
`
`vmw
`
`MOZMDOmm
`
`FOMZZOOmE4/
`
`omw
`
`
`
`
`
`mucowNten.©mu.mmw
`
`kmOm<I._m_zz<IONton.omvcmEEoo:m8@8888
`
`
`
`
`
`22.30_.Eom<._mzz<Io._.m_Om_<._mzz<Io
`
`
` :019:22:9598wtomumgowccoo
`macmmo.22.30.mm:
`
`
`
`
`
`flam-E8322244X:830me6:52003
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 7 of 24
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 7 of 24
`
`US. Patent
`
`N0v.13,2001
`
`Sheets 0f9
`
`US 6,317,804 B1
`
`
`
`
`
`
`
` awmmlkomzzoo
`Ao_A-m:oav
`Omml4mzz<10
`Ao_A-xtomv
`
`
`
`
`
`
`
`awmmIFomzzoo
`
`0mmI4m22<Io
`
`IIIIIIIIIIIIIxxIIIIIIIIIIx\IIIIIIIIIIIIxxoaooooooHo:Iz_n__>_ofto;A-o:8tomA-o:
`
`
`
`
`
`.............xx-IIIIIIIIIxx-IIIIIIIIIIIxxIIIIIIIIHOOHIz_<k<o
`
` IIIOoHooaIIooaooaoOOHooHoooxxuuuuuuuuuuuuuuuuuuuuuuuuIZ_n:>_omkmOa
`
`
`...........................xxIIIIIIIIIIIoHoooooooooooIz_<._.<o
`
`
`
`./xLANtomA-ma_omvAx.:omA-mw.omvAmfi_omA-xe_omv
`
`
`
`IIIIIIIIIIIIIIIIIIIIIIIIIIIx\ooooaooaoooaaaooaooaaooaIZ_n:>_0NFEOn.
`
`
`
`
`
`IIIIIIIIIIIII\\ooooo.n.no.n.n\IIIIIIIIIIII\\IIIIIIIIIIIII2—0—20
`
`
`
`.............xxIIIIIIIIIIxQIIIIIIIIIIIIxxIIIIIIIIIIIIIz_<k<o
`
`$303333:..........x............xx............I50020
`
`
`
`IIIIIIIIIIIII\xIIIIIIIIII\\o.n.n.noooo.nc.n.n\\IIIIIIIIIIIIII_IDODS_O
`
`IIIIIIIIIIIII\\IIIIIIIIII\\IIIIIIIIIIII\\IIIIIIIIIIIII._.DO<._.<D
`
`
`
`<F<oImtm2,mmmmoo<IW:m3OmmIo<mm
`
`
`
`.............xxII-II-II--xg-IIII-IIIIIIxx--II-I-II--IIHanv<k<o.
`
`
`
`
`
`Ioflooooooaooooooo.......cooxxIIIIIIIIIIIIIIIIIIIIIIIIIz_<k<o
`
`|_m».9".
`
`NFmOa
`
`ll|l|<5.9".
`
`memo;
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 8 of 24
`Case 6:21-cv-00263-ADA Document 1—1 Filed 03/16/21 Page 8 of 24
`
`US. Patent
`
`Nov. 13, 2001
`
`Sheet 6 0f 9
`
`US 6,317,804 B1
`
`
`
`ZO_._.n_S_m_m:n—n_._._O_._n_xwmm;
`
`A
`
`Pm0m<ll_m_ZZ<IOmg35mA-o:
`
`
`
`FmOm<4m22<IO
`
`Ntom0“
`
`m9»
`
`Exam5.ages22
`.O.m_>Xtom3
`
`
`
`
`
`>to;9bcmEEoomm?uuuuuuuxxuuuuuuIn.50<55
`
`wccmetoa©mE.6033:III[500—20m9".NEon.
`omml>mmmfiz_\Oh.m_n_ii-
`
`888:8>ton:uuuuuuu:oooaaafiu2F
`
`mozmaomakr8.A-nten:
`A.......\\IIIIIII-z_<55
`
`
`mm:mucmm>tom09'33::IIIIIII-hDO05.0
`
`mav,e.ammm>mmmPz_/.....I:So<20Hmoon>to.m.EOn.
`
`
`
`
`
`0_m_>Xt18mm:N2.+BEES90$
`mwmml>mmwlkz_ANton.9Dmfiowccoo>ton:#mucmw>tomourmOZMDme
`
`ZO_._.n:>_mwmn_._._O_._n__>:
`
`oOMIIJMZZ<IOwacmwxtom©mu.
`
`
`
`
`
`FmOm<I._m_ZZ<IO
`
`wncmm>tomwm_n_>tom.2ucmEEoo
`
`$53>tom
`
`Ommll_m_zz<_._0
`
`.xtomL2UcmEEOO
`
`
`
`.wccméo_mE‘_oc
`
`
`
`mhzoooEmEcmanmw
`
`mm;
`
`
`
`Omml4mzz<IOmncmmO_
`
`m0>_0ow\_.>ton—owUCMEEOO
`
`
`
`@5332;_mE._oz
`
`905mmmeOmzzoo
`
`mwmmfiomzzoo28mmo:
`
`
`
`>tomEot98:58
`
`32812namEEooGEE
`
`
`
`
`
`mmmmlhmzzoo£580_
`
`xten.82.2.5806$
`
`
`
`EOm<szz<Io£589558%$8293:25$59;
`
`
`0.E0:UCMEEOOm@Nton.ENEmNr
`
`mm:xtom/.O_2ncmEEoov2.EOm<._m_zz<I0355O_v:
`«.335:28Nw>Imtom295:58
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 9 of 24
`0
`a
`
`
`c1com\mMN5mom\.ouowccoo560::006ch
`.ofifizomom\85:5v.86w5SNm:m\Eamomcmt.
`
`
`
`A2,0—..m_n_EN$2mm:6260SN
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`8m\051x80wowS._momSP\hoaowccoo53580FNNmvow
`
`
`
`
`rmf.._>_<mom5:05:00
`
`1n—.Fm_n_E9w>wm8_mmwmm<
`
`%OFNNFN_On_
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`ADn1V.>m_am_n_Loyomccoo.mZmowEwC.womt953o8..{0sz86:5«3?.mmw6Nomm\m\92m
`
`3
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`tS
`
`
`
`1HLoyomccoohoaomccooBaummom\\.m//1..m5082>2:.6:80omvmayomv0—._n_Evmmv
`
`d9\o:wowoOdowimowm:Emcmt.mM3%o5Eu<55<20
`
`0:mm88805825mmommmmmomwm
`
`
`
`
`
`
`
`
`1BM
`
`
`
`
`
`
`.oHowccoom59.NE»mU«mm50%;=<$2/50E0:6282m282m6S\.ofiomccoo
`,mME82>$9/m9.96,o;woww;mowm53vwow
`M0%,86050058230cow%063mu.
`
`
`
`
`52QOxwwmmmfimomv\22“.SSEobmwscmm8mm9:;mom9202E33<20.3moo<mEm56:806:228ONE9:“.m.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`U
`
`e
`42,m01e
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 10 of 24
`
`._H8||1a_vmmHmIonn_\«mmmSI.oE0;Je$532_NFEon.50‘mEel_mfw1\+_+_\\+_
`525“SEOm%Nx86
`ommum5<o5<omam55.D2,v30owo500.8Lv30_:98AD.“BiI;Z:ZmamAm.”EE0;
`6.m“./++\+5
`
`
`2\20m280220280220m.wmm/Nvmwt5<oomm8N5<om.mmumE5:mag98E5:moo<
`
`
`
`
`
`
`
`
`
`
`xP3%AL.:1005..55282<><1CS.me8N
`
`
`
`
`d|bMBzobcoo835E.
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`m:55W53:537:55:53:53_+_+_+_+._+_+m.IEon.SEon.5mgQEOQ7NEE_oEOmaIv\,/r1K\1lslN/3cum09Ionn.\vmmvmm
`
`
`
`
`US 6,317,804 B1
`
`_7_7v30Odov30Owov30
`_i_______33:098500.850
`
`me
`
`Ewes).
`
`EEmfim
`
`
`
`\ommmw
`
`O_n_0
`
`NF.9".
`
`4/
`
`mom
`
`5.3m“S
`mmm/
`0.8omm<pn.
`
`
`Sm
`
`v30“S
`
`oaoa
`
`5306n.
`
`mumV
`
`550m“S
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`waC
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 11 of 24
`1
`42,mn
`6
`
`US. Patent
`
`omm
`
`
`
`
`
`
`
`
`
`
`
`
`
`mom
`
`
`
`
`O_:603%wI
`
`
`moPmOEm5552FEon.NEon.mm\I\x::DM.van<29mum<55<20{mm
`p.“.VFEa,a/4a/1<._.<Ome<._.<DNvm2mmm450ka?E59can:
`
`mm85.9”.£982.23x853.35wwwsam
`
`3M“SEon.u:Eon.UsEon.
`
`
`MDMmm,8mvfio4Romsx_._oATwo\omm/Hfiw_Romeo
`6+++4/
`
`
`/+3%.Duoozmo3m
`
`
`
`
`._H98:92.00M|<h<o$=EE00835::
`
`H.%
`
`t52QO1wo|owo8m_an
`
`US 6,317,804 B1
`
`
`
`mmm82>moEQSOtoamcmc.
`9350gmlm'm
`
`E290OMEN2anGuns.
`
`
`
`wmmv
`
`x5.—
`
`d9bpm|v_._o|
`%KemmL
`
`maommA___mmv:_o0L0v:_oowox.__o0L0x.__oowox.__o
`
`
`
`0.8v3098\RES5A953—.<56:537:53:53mmmm._+_+_el_+ammm
`Swan.7TE010Eon.mEon.AEcon.AmEon.
`
`
`
`
`
`
`
`
`
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 12 of 24
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 12 of 24
`
`US 6,317,804 B1
`
`1
`CONCURRENT SERIAL INTERCONNECT
`FOR INTEGRATING FUNCTIONAL BLOCKS
`IN AN INTEGRATED CIRCUIT DEVICE
`
`FIELD OF THE INVENTION
`
`The invention is generally related to integrated circuit
`device design and architecture, and in particular,
`to an
`interface for interconnecting multiple functional blocks
`together in an integrated circuit device.
`BACKGROUND OF THE INVENTION
`
`Computer technology has advanced a great deal over the
`last several decades. Whereas computers once filled entire
`rooms, and were constructed using individually packaged
`transistors and/or vacuum tubes to perform different logical
`functions,
`innovations in semiconductor manufacturing
`techniques have enabled multiple transistors, or logic gates,
`to be integrated together on a single integrated circuit
`device, or “chip” to perform a greater number of logical
`functions. The size and number of logic gates that can be
`integrated together on a chip continues to improve, and
`whereas early chips had at most only a few hundred gates,
`more recent chips have been developed that incorporate
`more on the order of millions of gates. Furthermore,
`advances in integration have permitted designs that were at
`one time implemented using multiple chips to be imple-
`mented in a single chip.
`the
`As chip designs become more complex, however,
`design and development process becomes more expensive
`and time consuming. To alleviate this difficulty, design tools
`have been developed that enable developers to build custom
`chips by assembling together smaller, generic components
`that perform basic functions required for the design. By
`using generic components, design time and effort are
`reduced, since circuits do not need to be designed gate by
`gate. Moreover, the components usually can be tested and
`optimized prior to assembly in a particular design, so that the
`testing effort placed on the developer of an overall design is
`substantially reduced.
`The ability to integrate greater numbers of gates onto a
`chip has also permitted the complexity of the generic
`components used by design tools to increase. Whereas early
`generic components replicated basic functions such as
`multiplexers, registers, counters, etc., more advanced com-
`ponents typically replicate higher level functions such as
`that of microprocessors, memory controllers, communica-
`tions interface controllers, etc. These more advanced com-
`ponents are referred to herein as functional blocks, insofar as
`they are configured to perform one or more high level
`functions in a design. Functional blocks typically are por-
`table to the extent that they are reusable in different designs.
`Moreover, they are often autonomous, and thus capable of
`operating independently and concurrently with other com-
`ponents in a design.
`One difficulty associated with the use of components such
`as functional blocks arises from the need for the various
`
`components in a design to communicate with and transfer
`information among one another. Each component typically
`has one or more interfaces defined therefor through which
`communication with other components, or with other
`devices external to a chip, is handled. These interfaces are
`typically interconnected with one another over an intercon-
`nect system such as a bus to support communication
`between the different components.
`For example, one common manner of interconnecting
`multiple components is through the use of a multidrop bus.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`With a multi-drop bus, each component is coupled to a
`common set of lines, so that each component is capable of
`receiving every communication passed over the bus. Infor-
`mation passed over a bus is usually associated with a
`particular address or other identifier so that, only the com-
`ponent that is the target of the information actually receives
`and processes that information. The other components that
`are not targeted for the information ignore the information.
`Typically, a bus is parallel, incorporating multiple lines so
`that multiple bits of information can be transmitted simul-
`taneously. Moreover, both control information, used by one
`component to control the operation of another component,
`and data, representing the information being manipulated by
`the components, are typically sent over the same lines in the
`bus. For example, one bus architecture used in integrating
`multiple functional blocks in a chip is the Peripheral Com-
`ponent Interconnect (PCI) bus architecture, which is more
`conventionally used at
`the board level to interconnect a
`microprocessor with different peripheral devices in a com-
`puter.
`However, bus-type interconnections suffer from a number
`of drawbacks that limit their usefulness in interconnecting
`multiple functional blocks in a chip. First, parallel bus
`architectures require a relatively large number of lines, or
`wires, to run between the various components connected to
`the bus. Routing wires between components can take up
`valuable space in a design and reduce the number of
`components that can fit into the design. Many parallel buses,
`for example, transmit data in 32- or 64-bit words, requiring
`at a minimum 32 or 64 lines to be routed to each component,
`not counting any additional control signals that may be
`required.
`Second, typically only one component can transmit infor-
`mation over a parallel bus at a time. Therefore, other
`components that desire to transmit information typically
`must wait until
`that component
`is done transmitting its
`information, or in the alternative, each component must
`share the bus and transmit pieces of information one after
`another, which slows down the transmission rate for all
`components. Also, control information and data typically
`share the same lines in a parallel bus, and as a result, control
`operations that might otherwise be capable of being per-
`formed within a particular component without requiring
`access to the bus may have to wait until a data transmission,
`started prior to the desired control operation, is complete.
`Third, the overall speed of a parallel bus may be limited,
`and thus limit the potential bandwidth of information that
`can be communicated between components. Bandwidth in a
`parallel bus is typically improved by increasing the width of
`the bus or increasing the clock speed of the bus. Increasing
`the width, however, adds additional lines to the bus, thus
`adding to the routing density of the design. Increasing the
`clock speed, on the other hand, may limit the number of
`components that can be attached to the bus, since the number
`of components can affect the amount of load and routing
`parasitics on the bus, each of which limits permissible clock
`speed.
`Therefore, a significant need exists in the art for an
`improved manner of interconnecting components such as
`functional blocks and the like in an integrated circuit design,
`and in particular, for a manner of interconnecting compo-
`nents that is more flexible, compact, fast, reusable, and
`expandible than conventional designs.
`SUMMARY OF THE INVENTION
`
`The invention addresses these and other problems asso-
`ciated with the prior art by providing a circuit arrangement
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 13 of 24
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 13 of 24
`
`US 6,317,804 B1
`
`3
`and method that interface multiple functional blocks within
`an integrated circuit device via a concurrent serial intercon-
`nect that is capable of routing separate serial command, data
`and clock signals between functional blocks in the device. A
`concurrent serial interconnect consistent with the invention
`
`utilizes a plurality of serial ports that are selectively coupled
`to one another by an interface controller to define one or
`more logical communication channels between two or more
`of the serial ports. The logical communication channels in
`essence function as point-to-point serial interconnections
`between functional blocks, so that direct communications
`between logically connected functional blocks can occur.
`Through the use of serial interconnects, the number of
`lines required to be routed to and from individual functional
`blocks is reduced, thereby simplifying the integration of
`functional blocks into a design and reducing the routing
`congestion associated with inter-block communication. In
`addition, by communicating via separate serial command,
`data and clock signals, high speed data throughput can be
`supported. Furthermore, should more than one logical com-
`munication channel be supported by an interface controller
`consistent with the invention, multiple communication ses-
`sions can occur in parallel, thereby further increasing overall
`data throughput.
`Another benefit of a concurrent serial interconnect con-
`
`sistent with the invention is that the design of integrated
`circuit devices and the like is substantially simplified. Func-
`tional blocks may be assembled together through the addi-
`tion of a serial interconnect, with each functional block
`associated with one of a plurality of serial ports in the serial
`interconnect by routing separate serial command, data and
`clock wires therebetween. Design and development is sim-
`plified as the addition of new functional blocks to a design
`typically affects only the design of the serial interconnect,
`and specifically,
`the interface controller used therein.
`Moreover, modular testing and verification is facilitated
`insofar as communications between functional blocks pri-
`marily passes through the serial interconnect, and the need
`for
`testing and verifying individual
`interconnections
`between functional blocks is often reduced or eliminated.
`
`These and other advantages and features, which charac-
`terize the invention, are set forth in the claims annexed
`hereto and forming a further part hereof However, for a
`better understanding of the invention, and of the advantages
`and objectives attained through its use, reference should be
`made to the Drawings, and to the accompanying descriptive
`matter, in which there is described exemplary embodiments
`of the invention.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a block diagram of a circuit arrangement for an
`integrated circuit device consistent with the invention.
`FIG. 2 is a block diagram of the interface controller in the
`circuit arrangement of FIG. 1.
`FIG. 3 is a block diagram of a three channel implemen-
`tation of the interface controller of FIG. 2.
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`FIG. 4 is a flowchart illustrating the sequence of opera-
`tions performed during a system reset by the interface
`controller of FIG. 2.
`
`60
`
`FIG. 5 is a flowchart illustrating a sequence of operations
`performed when establishing a logical communication chan-
`nel in the circuit arrangement of FIG. 1.
`FIG. 6 is a flowchart illustrating a sequence of operations
`performed when releasing a logical communication channel
`in the circuit arrangement of FIG. 1.
`
`65
`
`4
`FIGS. 7A, 7B and 7C are timing diagrams respectively
`illustrating exemplary data stream transmissions between
`two ports during establishment of a logical channel, pro-
`cessing of a read request over the established channel, and
`release of the channel.
`
`FIG. 8 is a flowchart illustrating a sequence of operations
`performed during an implicit preemption operation for the
`circuit arrangement of FIG. 1.
`FIG. 9 is a flowchart illustrating a sequence of operations
`performed during an explicit preemption operation for the
`circuit arrangement of FIG. 1.
`FIG. 10 is a block diagram of the primary logic compo-
`nents in a functional block circuit arrangement consistent
`with the invention.
`
`FIG. 11 is a block diagram of a development environment
`data processing system consistent with the invention.
`FIG. 12 is a block diagram of the system controller in the
`development environment data processing system of FIG.
`11.
`
`FIG. 13 is a block diagram of a set top box data processing
`system consistent with the invention.
`FIG. 14 is a block diagram of the set top box controller in
`the set top box data processing system of FIG. 13.
`
`DETAILED DESCRIPTION
`
`The illustrated embodiments of the invention generally
`rely on a concurrent serial interconnect to interface a plu-
`rality of functional blocks together in an integrated circuit
`device circuit arrangement. A concurrent serial interconnect
`consistent with the invention includes a plurality of serial
`ports under the control of an interface controller, and
`coupled via a plurality of direct point-to-point serial inter-
`connects to different functional blocks in the circuit arrange-
`ment. The interface controller selectively couples serial
`ports together to define one or more logical communications
`channels through which information is passed by the func-
`tional blocks associated with the coupled serial ports.
`Afunctional block may be considered to include any logic
`circuitry configured to perform one or more high level
`functions in an integrated circuit device design. Most func-
`tional blocks are “portable”, whereby they are reusable in
`different designs. Moreover, many functional blocks are also
`“autonomous”, and thus capable of operating independently
`and concurrently with other components in a design.
`Examples of functional blocks include, but are not limited to
`processors, controllers, external
`interfaces, encoders,
`decoders, signal processors, and any other analog and/or
`digital circuitry performing a particular function or set of
`functions. Often, functional blocks are designed, developed
`and verified as independent entities, and may even be
`obtained from third parties, rather than the designers of the
`overall integrated circuit device.
`The integration of multiple functional blocks via a con-
`current serial interconnect consistent with the invention is
`
`typically implemented in a circuit arrangement for a pro-
`cessor or other programmable integrated circuit device, and
`it should be appreciated that a wide variety of programmable
`devices may utilize the various features disclosed herein.
`Moreover, as is well known in the art, integrated circuit
`devices are typically designed and fabricated using one or
`more computer data files, referred to herein as hardware
`definition programs, that define the layout of the circuit
`arrangements on the devices. The programs are typically
`generated by a design tool and are subsequently used during
`manufacturing to create the layout masks that define the
`
`
`
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 14 of 24
`Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 14 of 24
`
`US 6,317,804 B1
`
`5
`circuit arrangements applied to a semiconductor wafer.
`Typically, the programs are provided in a predefined format
`using a hardware definition language (HDL) such as VHDL,
`verilog, EDIF, etc. While the invention has and hereinafter
`will be described in the context of circuit arrangements
`implemented in fully functioning integrated circuit devices
`and data processing systems utilizing such devices, those
`skilled in the art will appreciate that circuit arrangements
`consistent with the invention are capable of being distributed
`as program products in a variety of forms, and that the
`invention applies equally regardless of the particular type of
`signal bearing media used to actually carry out the distri-
`bution. Examples of signal bearing media include but are not
`limited to recordable type media such as volatile and non-
`volatile memory devices, floppy disks, hard disk drives,
`CD-ROM’s, and DVD’s, among others and transmission
`type media such as digital and analog communications links.
`Turning now to the Drawings, wherein like numbers
`denote like parts throughout
`the several views, FIG. 1
`illustrates a representative integrated circuit device circuit
`arrangement 10 consistent with the invention. A concurrent
`serial interconnect 12, including an interface controller 14,
`is used to interface a host 20 with a plurality of functional
`blocks 22, 24, 26 and 28 (also denoted as FB 1 .
`.
`. n). Host
`20 may also be considered as a functional block that has, in
`addition to any other high level functionality defined
`therefor, further logic circuitry to operate as a master device
`for concurrent serial interconnect 12.
`
`Each functional block 20, 22, 24, 26 and 28 includes a
`respective port interface 30, 32, 34, 26 and 38 that interfaces
`with a plurality of serial ports 40, 42, 44, 46 and 48 (also
`denoted as Ports 0.
`.
`. n) over direct point-to-point serial
`interconnections 50, 52, 54, 56 and 58. Each serial port
`40—48 is under the control of interface controller 14 to
`
`selectively define one or more logical communication chan-
`nels between two or more functional blocks 20—28.
`
`Moreover, with host 20 functioning as the master for inter-
`connect 12, port 40 defines a master port
`for
`the
`interconnect,
`through which initialization information is
`provided by the host.
`Each serial interconnection 50—58 includes separate serial
`command, data and clock lines. The serial command lines
`are used to transmit serial encoded command & control
`information between functional blocks or between the inter-
`face controller and a functional block. The serial data lines
`are used to transmit serial encoded data between functional
`blocks or between the interface controller and a functional
`
`block, with the data lines further used to provide additional
`information for the various commands transmitted over the
`
`serial command lines, as will be outlined in greater detail
`below. The serial data is framed by the serial command
`information.
`
`The serial clock lines are used to transmit clock signals to
`synchronize the command and data lines, thereby permitting
`the functional blocks to operate substantially asynchro-
`nously from one another and/or from the interface controller,
`if desired. In the alternative, the functional blocks may be
`synchronized by the same distributed clock signal. The
`command and data lines may be double edge or single edge
`clocked as desired.
`
`Each such line may be implemented in a number of
`manners. For example, each line may be implemented using
`a bidirectional wire, or a pair of unidirectional wires may be
`provided to support concurrent communication in both
`directions between a serial port and its associated functional
`block. In addition, lines may be implemented with single-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`ended wires, or may be implemented by differential pairs of
`wires to improve performance. In the implementation dis-
`cussed hereinafter, for example, differential wire pairs are
`provided for each of command in, data in and clock in
`signals (from a functional block to a serial port), as well as
`for each of command out, data out, and clock out signals
`(from a serial port to a functional block), resulting in a total
`of only 12 lines for each serial interconnection 50—58.
`In addition, as shown by line 60, each functional block
`may or may not provide external input and/or output for the
`integrated circuit device, as dictated by the particular design
`of the functional block.
`
`As shown in FIG. 2, interface controller 14 includes a
`matrix controller 64 interfaced with a connector matrix 66.
`
`The matrix controller is also interfaced with a memory
`storage device 67 within which arbitration data, defining an
`arbitration scheme for the controller,
`is stored. A set of
`matrix control lines 68 are output by controller 64 to control
`the configuration of matrix 66 based upon the defined
`arbitration scheme for the controller. In addition, matrix 66
`receives the command/data/clock signals from each of serial
`ports 40, 42, 44, 46 and 48, represented by lines 70, 72, 74,
`76 and 78, respectively. The serial lines for each serial port
`are also provided to matrix controller 64 to permit
`the
`controller to decode commands passed thereto over the
`respective serial lines from a particular port so that the
`matrix controller can reconfigure the matrix as necessary to
`establish the desired logical communications channel(s)
`between selected ports.
`The configuration of both matrix controller 64 and con-
`nector matrix 66 can vary significantly based upon the
`desired connectivity between the various functional blocks.
`Any number of known switch matrix implementations may
`be used, including cross-bar switches, tree structures, etc.
`Furthermore, a connector matrix may be developed to sup-
`port any number of concurrent
`logical communications
`channels. Moreover, in some implementations,
`it may be
`desirable to split the input and output lines between ports to
`permit one port to receive information from one channel, yet
`transmit information on another channel.
`
`For example, FIG. 3 illustrates one suitable implementa-
`tion of connector matrix 66 as a three channel cross-bar
`
`interconnect for in connecting five serial ports 40—48 (Ports
`0 .
`.
`. 4). To control matrix 66, matrix controller 64 includes
`three logic blocks: a route command & control block 80; a
`route request block 82; and a channel matrix control block
`84.
`
`Connector matrix 66 has three channels 86, 88, 90 defined
`therein for selectively coupling together ports 40—48. For
`illustrative purposes, each port 40—48 is represented at two
`positions in the figure, with the left representation repre-
`sent