throbber
Case 6:21-cv-00263-ADA Document 1-1 Filed 03/16/21 Page 1 of 24
`
`
`
`
`
`
` 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

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