diff --git a/alliance/share/doc/overview.ps b/alliance/share/doc/overview.ps index be0f6b18..3e57c188 100644 --- a/alliance/share/doc/overview.ps +++ b/alliance/share/doc/overview.ps @@ -1,75 +1,83 @@ %!PS-Adobe-2.0 -%%Creator: dvipsk 5.58f Copyright 1986, 1994 Radical Eye Software +%%Creator: dvips(k) 5.85 Copyright 1999 Radical Eye Software %%Title: overview.dvi %%Pages: 13 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: Palatino-Bold Palatino-Roman Courier Palatino-Italic %%+ Palatino-BoldItalic Courier-Oblique -%%DocumentPaperSizes: A4 %%EndComments -%DVIPSCommandLine: dvips overview.dvi -%DVIPSParameters: dpi=400, comments removed -%DVIPSSource: TeX output 1997.10.01:1825 -%%BeginProcSet: tex.pro -/TeXDict 250 dict def TeXDict begin /N{def}def /B{bind def}N /S{exch}N -/X{S N}B /TR{translate}N /isls false N /vsize 11 72 mul N /hsize 8.5 72 -mul N /landplus90{false}def /@rigin{isls{[0 landplus90{1 -1}{-1 1} -ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale -isls{landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div -hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul -TR[matrix currentmatrix{dup dup round sub abs 0.00001 lt{round}if} -forall round exch round exch]setmatrix}N /@landscape{/isls true N}B -/@manualfeed{statusdict /manualfeed true put}B /@copies{/#copies X}B -/FMat[1 0 0 -1 0 0]N /FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{ -/nn 8 dict N nn begin /FontType 3 N /FontMatrix fntrx N /FontBBox FBB N -string /base X array /BitMaps X /BuildChar{CharBuilder}N /Encoding IE N -end dup{/foo setfont}2 array copy cvx N load 0 nn put /ctr 0 N[}B /df{ -/sf 1 N /fntrx FMat N df-tail}B /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0] -N df-tail}B /E{pop nn dup definefont setfont}B /ch-width{ch-data dup -length 5 sub get}B /ch-height{ch-data dup length 4 sub get}B /ch-xoff{ -128 ch-data dup length 3 sub get sub}B /ch-yoff{ch-data dup length 2 sub -get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B /ch-image{ch-data -dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0 N /rw 0 N -/rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S dup -/base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx -0 ch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff -setcachedevice ch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff -.1 sub]{ch-image}imagemask restore}B /D{/cc X dup type /stringtype ne{]} -if nn /base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{dup dup -length 1 sub dup 2 index S get sf div put}if put /ctr ctr 1 add N}B /I{ -cc 1 add D}B /bop{userdict /bop-hook known{bop-hook}if /SI save N @rigin -0 0 moveto /V matrix currentmatrix dup 1 get dup mul exch 0 get dup mul -add .99 lt{/QV}{/RV}ifelse load def pop pop}N /eop{SI restore userdict -/eop-hook known{eop-hook}if showpage}N /@start{userdict /start-hook -known{start-hook}if pop /VResolution X /Resolution X 1000 div /DVImag X -/IE 256 array N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for -65781.76 div /vsize X 65781.76 div /hsize X}N /p{show}N /RMat[1 0 0 -1 0 -0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X /rulex X V}B /V -{}B /RV statusdict begin /product where{pop product dup length 7 ge{0 7 -getinterval dup(Display)eq exch 0 4 getinterval(NeXT)eq or}{pop false} -ifelse}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale rulex ruley false -RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR rulex ruley scale 1 1 -false RMat{BDot}imagemask grestore}}ifelse B /QV{gsave newpath transform -round exch round exch itransform moveto rulex 0 rlineto 0 ruley neg -rlineto rulex neg 0 rlineto fill grestore}B /a{moveto}B /delta 0 N /tail -{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{S p tail}B /c{-4 M} -B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B /j{3 M}B /k{ -4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w}B /q{ -p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p -a}B /bos{/SS save N}B /eos{SS restore}B end +%DVIPSWebPage: (www.radicaleye.com) +%DVIPSCommandLine: dvips overview.dvi -o overview.ps +%DVIPSParameters: dpi=600, compressed +%DVIPSSource: TeX output 2000.01.19:1920 +%%BeginProcSet: texc.pro +%! +/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S +N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 +mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 +0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ +landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize +mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ +matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round +exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ +statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] +N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin +/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array +/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 +array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N +df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A +definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get +}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} +B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr +1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3 +1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx +0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx +sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{ +rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp +gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B +/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{ +/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{ +A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy +get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse} +ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp +fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17 +{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add +chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{ +1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop} +forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn +/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put +}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ +bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A +mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ +SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ +userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X +1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 +index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N +/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ +/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) +(LaserWriter 16/600)]{A length product length le{A length product exch 0 +exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse +end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask +grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} +imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round +exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto +fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p +delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} +B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ +p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S +rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end + %%EndProcSet -%%BeginFont: Palatino-Bold +%%BeginProcSet: 8r.enc % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry", % version = "0.6", -% date = "22 June 1996", +% date = "1 July 1998", % filename = "8r.enc", -% email = "kb@@mail.tug.org", -% address = "135 Center Hill Rd. // Plymouth, MA 02360", -% codetable = "ISO/ASCII", -% checksum = "119 662 4424", -% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX." +% email = "tex-fonts@@tug.org", +% docstring = "Encoding for TrueType or Type 1 fonts +% to be used with TeX." % @} % % Idea is to have all the characters normally included in Type 1 fonts @@ -97,7 +105,8 @@ a}B /bos{/SS save N}B /eos{SS restore}B end % upward-compatible revisions, if someday more characters are generally % available. % -% (5) hyphen appears twice for compatibility with both ASCII and Windows. +% (5) hyphen appears twice for compatibility with both +% ASCII and Windows. % /TeXBase1Encoding [ % 0x00 (encoded characters from Adobe Standard not in Windows 3.1) @@ -115,7 +124,7 @@ a}B /bos{/SS save N}B /eos{SS restore}B end /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef % very contentious; it's so painful not having quoteleft and quoteright - % at 96 and 145 that we move the things normally found there down to here. + % at 96 and 145 that we move the things normally found there to here. /grave /quotesingle % 0x20 (ASCII begins) /space /exclam /quotedbl /numbersign @@ -179,467 +188,504 @@ a}B /bos{/SS save N}B /eos{SS restore}B end /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def -%%EndFont + +%%EndProcSet %%BeginProcSet: texps.pro -TeXDict begin /rf{findfont dup length 1 add dict begin{1 index /FID ne 2 -index /UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll +%! +TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 +index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics -exch def dict begin Encoding{exch dup type /integertype ne{pop pop 1 sub +exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def} -ifelse}forall Metrics /Metrics currentdict end def[2 index currentdict -end definefont 3 -1 roll makefont /setfont load]cvx def}def -/ObliqueSlant{dup sin S cos div neg}B /SlantFont{4 index mul add}def -/ExtendFont{3 -1 roll mul exch}def /ReEncodeFont{/Encoding exch def}def -end +ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict +end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{ +dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 +roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def +dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def} +if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def} +def end + %%EndProcSet %%BeginProcSet: special.pro -TeXDict begin /SDict 200 dict N SDict begin /@SpecialDefaults{/hs 612 N -/vs 792 N /ho 0 N /vo 0 N /hsc 1 N /vsc 1 N /ang 0 N /CLIP 0 N /rwiSeen -false N /rhiSeen false N /letter{}N /note{}N /a4{}N /legal{}N}B -/@scaleunit 100 N /@hscale{@scaleunit div /hsc X}B /@vscale{@scaleunit -div /vsc X}B /@hsize{/hs X /CLIP 1 N}B /@vsize{/vs X /CLIP 1 N}B /@clip{ -/CLIP 2 N}B /@hoffset{/ho X}B /@voffset{/vo X}B /@angle{/ang X}B /@rwi{ -10 div /rwi X /rwiSeen true N}B /@rhi{10 div /rhi X /rhiSeen true N}B -/@llx{/llx X}B /@lly{/lly X}B /@urx{/urx X}B /@ury{/ury X}B /magscale -true def end /@MacSetUp{userdict /md known{userdict /md get type -/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup -length 20 add dict copy def}if end md begin /letter{}N /note{}N /legal{} -N /od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath -clippath mark{transform{itransform moveto}}{transform{itransform lineto} -}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{ -itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{ -closepath}}pathforall newpath counttomark array astore /gc xdf pop ct 39 -0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}if}N -/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 -scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get -ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip -not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 -TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{noflips{TR -pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 --1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg -TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg -sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr -0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add -2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N /cp -{pop pop showpage pm restore}N end}if}if}N /normalscale{Resolution 72 -div VResolution 72 div neg scale magscale{DVImag dup scale}if 0 setgray} -N /psfts{S 65781.76 div N}N /startTexFig{/psf$SavedState save N userdict -maxlength dict begin /magscale true def normalscale currentpoint TR -/psf$ury psfts /psf$urx psfts /psf$lly psfts /psf$llx psfts /psf$y psfts -/psf$x psfts currentpoint /psf$cy X /psf$cx X /psf$sx psf$x psf$urx -psf$llx sub div N /psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy -scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR -/showpage{}N /erasepage{}N /copypage{}N /p 3 def @MacSetUp}N /doclip{ +%! +TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N +/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N +/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N +/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ +/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho +X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B +/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ +/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known +{userdict/md get type/dicttype eq{userdict begin md length 10 add md +maxlength ge{/md md dup length 20 add dict copy def}if end md begin +/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S +atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ +itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll +transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll +curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf +pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} +if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 +-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 +get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip +yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub +neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ +noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop +90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get +neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr +1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr +2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 +-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S +TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ +Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale +}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState +save N userdict maxlength dict begin/magscale true def normalscale +currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts +/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x +psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx +psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub +TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{ psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath -moveto}N /endTexFig{end psf$SavedState restore}N /@beginspecial{SDict -begin /SpecialSave save N gsave normalscale currentpoint TR -@SpecialDefaults count /ocount X /dcount countdictstack N}N /@setspecial -{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto +moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict +begin/SpecialSave save N gsave normalscale currentpoint TR +@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{ +CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR }{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury -lineto closepath clip}if /showpage{}N /erasepage{}N /copypage{}N newpath -}N /@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{ -end}repeat grestore SpecialSave restore end}N /@defspecial{SDict begin} -N /@fedspecial{end}B /li{lineto}B /rl{rlineto}B /rc{rcurveto}B /np{ -/SaveX currentpoint /SaveY X N 1 setlinecap newpath}N /st{stroke SaveX -SaveY moveto}N /fil{fill SaveX SaveY moveto}N /ellipse{/endangle X -/startangle X /yrad X /xrad X /savematrix matrix currentmatrix N TR xrad -yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end +lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N +/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end} +repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N +/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX +currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY +moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X +/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 +1 startangle endangle arc savematrix setmatrix}N end + %%EndProcSet -TeXDict begin 39158280 55380996 1000 400 400 (overview.dvi) -@start /Fa 4 122 df<0FE01FF8707C601EF81FF80FF80F700F000F000E001E001C0038 -0070006000C00180030006030C03100320067FFEFFFEFFFE10197E9816>50 -D110 D120 DI E /Fb 7 -117 df<003000300078007800F000F000F000F000F000F000F000F001E001E001E001E0 -01E001E001E001E003C003C003C003C003C003C003C003C0078007800780078607800786 -078007860F800F0C0F801F0C0F80170C0FC067181EE0C3101E3F01E01E0000001E000000 -3C0000003C0000003C0000003C00000078000000780000007800000078000000F0000000 -600000001F24809721>22 D<78FCFCFCFC7806067C850F>58 D<001F8000F06001C03007 -80180F00181E00183E00303C00307C00E07C0380FFFE00F80000F80000F80000F80000F0 -0000F00000F000107000307800603800C01803800E0E0003F80015187E971A>101 -D<0018003C007C007C0038000000000000000000000000000000000000078008C010E030 -E060F061E0C1E0C1E003C003C003C0078007800F000F000F0C1E0C1E0C1E183C181C301C -200C4007800E267FA513>105 D<0F00FE00FC0011830703060031C60384070061C803C8 -078061F003D0078061F003E00780C3E003E00780C3C003C0078003C003C0078003C003C0 -0780078007800F00078007800F00078007800F00078007801E000F000F001E000F000F00 -1E180F000F003C180F000F003C181E001E003C301E001E0078301E001E0038601E001E00 -38403C003C001880180018000F002D187F9731>109 D<003F8000E0C001806003007007 -00F00700F00F00E00F00000FC0000FFC0007FF0003FF8001FFC0001FE00003E01001E078 -01E07C00E0F801C0F80180600380600700381C000FF00014187D971A>115 -D<006000F000F000F001E001E001E001E003C003C0FFFFFFFF07800780078007800F000F -000F000F001E001E001E001E003C003C063C063C0C780C78183810383018400F8010227E -A114>I E /Fc 2 21 df<00F80003FE000FFF801FFFC03FFFE03FFFE07FFFF07FFFF0FF -FFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF8FFFFF87FFFF07FFFF03FFFE03FFFE01FFFC00F -FF8003FE0000F80015177D981C>15 D<00000001C000000007C00000001FC00000007E00 -000001F800000007E00000001F800000007E00000001F800000007E00000001F80000000 -7E00000001F800000007E00000001F800000007E00000000F800000000FE000000001F80 -00000007E000000001F8000000007E000000001F8000000007E000000001F8000000007E -000000001F8000000007E000000001F8000000007E000000001F8000000007C000000001 -C00000000000000000000000000000000000000000000000000000000000000000000000 -000000000000000000007FFFFFFF80FFFFFFFFC0FFFFFFFFC0222D7CA22B>20 -D E /Fd 134[37 1[55 37 41 22 29 26 1[41 37 41 59 22 1[22 -22 41 37 26 33 41 29 41 33 10[52 1[44 41 48 1[41 2[66 -7[41 1[48 13[33 33 33 33 33 2[17 43[41 2[{ - TeXBase1Encoding ReEncodeFont }37 66.666669 /Palatino-Bold -rf /Fe 134[33 33 33 33 33 33 33 33 1[33 33 33 33 33 2[33 -33 33 33 33 33 33 33 33 7[33 5[33 33 1[33 1[33 1[33 4[33 -2[33 1[33 33 33 9[33 1[33 1[33 2[33 33 33 45[{ - TeXBase1Encoding ReEncodeFont }39 55.555558 /Courier -rf /Ff 105[28 28[31 28 1[31 34 18 25 22 1[34 31 34 49 -18 34 1[18 34 31 22 28 34 25 34 28 10[43 43 37 34 40 -1[34 46 46 55 34 2[22 46 46 31 34 46 40 1[43 1[25 5[28 -2[28 1[28 28 28 28 28 1[14 18 45[{ TeXBase1Encoding ReEncodeFont }51 -55.555558 /Palatino-Bold rf /Fg 104[55 28 27[28 31 29 -46 31 33 18 23 22 31 33 30 32 49 16 31 13 16 32 31 18 -27 34 25 31 28 15 7[37 55 40 43 34 29 37 1[33 44 46 52 -34 2[19 46 42 31 34 43 39 34 43 6[14 28 28 28 28 28 28 -28 28 28 28 34 14 18 14 2[18 18 15 43 46 2[21 30[34 33 -2[{ TeXBase1Encoding ReEncodeFont }73 55.555558 /Palatino-Roman -rf /Fh 139[33 3[33 9[33 102[{ TeXBase1Encoding ReEncodeFont }3 -55.555558 /Courier-Oblique rf /Fi 135[28 9[31 1[18 2[18 -3[25 1[25 1[31 10[37 43 1[31 6[34 2[22 7[40 65[{ - TeXBase1Encoding ReEncodeFont }13 55.555558 /Palatino-BoldItalic -rf /Fj 134[28 28 40 28 31 18 22 22 1[28 25 31 43 15 25 -1[15 28 28 15 22 28 23 26 25 12[34 31 37 2[43 1[52 3[18 -3[34 43 37 34 40 11[28 2[28 1[28 1[14 18 14 40[30 29 -2[{ TeXBase1Encoding ReEncodeFont }42 55.555558 /Palatino-Italic -rf /Fk 138[40 40 40 40 1[40 40 40 40 40 2[40 2[40 40 -1[40 1[40 32[40 9[40 7[40 40 45[{ TeXBase1Encoding ReEncodeFont }18 -66.666669 /Courier rf /Fl 22[32 32 30[41 79[37 34 1[38 -40 22 28 26 37 40 36 39 59 19 2[19 39 1[22 32 41 29 37 -33 11[52 1[35 2[40 2[63 41 1[22 22 2[37 2[47 1[52 9[33 -33 33 33 1[33 1[33 2[22 17 4[18 39[{ TeXBase1Encoding ReEncodeFont }43 -66.666669 /Palatino-Roman rf /Fm 134[44 4[26 34 31 1[48 -44 46 70 23 2[23 1[44 27 38 17[42 14[62 57 1[62 6[20 -58[{ TeXBase1Encoding ReEncodeFont }18 79.999965 /Palatino-Roman -rf /Fn 133[40 44 40 66 1[49 27 35 31 1[49 44 49 71 27 -49 1[27 49 44 31 40 49 35 49 40 10[62 62 53 49 6[49 2[31 -5[58 1[62 9[40 40 40 40 40 40 40 45[49 3[{ - TeXBase1Encoding ReEncodeFont }39 79.999965 /Palatino-Bold +TeXDict begin 39158280 55380996 1000 600 600 (overview.dvi) +@start +%DVIPSBitmapFont: Fa cmr7 7 4 +/Fa 4 122 df<13FF000313E0380E03F0381800F848137C48137E00787F12FC6CEB1F80 +A4127CC7FC15005C143E147E147C5C495A495A5C495A010EC7FC5B5B903870018013E0EA +0180390300030012065A001FB5FC5A485BB5FCA219267DA521>50 +D<380F81FC38FF8FFF90389C0F80391FB007C0EA0FE09038C003E0A31380AF391FC007F0 +39FFF83FFEA21F1A7E9925>110 D<39FFF81FFCA2390FF00FE0D807E01380D803F01300 +3801F80E00005BEB7C386D5AEB3FE06D5A130F130780497EEB1DF8EB38FCEB707EEBE03E +48487E0003EB0F80000714C0001F14E039FFE01FFEA21F197F9823>120 +D<39FFF807FEA2390FE001F001C013E0000714C0EA03E01580EBF003000114006D5A0000 +130613FCEB7C0CA26D5AA26D5AA214F06D5AA26D5AA26D5AA291C7FCA213061230EA780E +EAFC0C131C1318485AEA70E0EA3FC06CC8FC1F257F9823>I E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fb cmmi10 10 7 +/Fb 7 117 df22 D<121C127FEAFF80A5EA7F00121C0909798817>58 +D101 D<14E0EB03F8A21307A314F0EB01C090C7FCAB13F8EA03FEEA070F000E13 +80121C121812381230EA701F1260133F00E0130012C05BEA007EA213FE5B1201A25B1203 +5BA20007131813E01438000F133013C01470EB806014E014C01381EB838038078700EA03 +FEEA00F815397EB71D>105 D109 D<14FF010313C090380F80F090383E00380178131C153C4913FC +0001130113E0A33903F000F06D13007F3801FFE014FC14FF6C14806D13C0011F13E01303 +9038003FF014071403001E1301127FA24814E0A348EB03C012F800E0EB07800070EB0F00 +6C133E001E13F83807FFE0000190C7FC1E267CA427>115 DI E +%EndDVIPSBitmapFont +%DVIPSBitmapFont: Fc cmsy10 10 2 +/Fc 2 21 df15 +D20 D E +%EndDVIPSBitmapFont +/Fd 134[55 1[83 55 61 33 44 39 1[61 55 61 89 33 1[33 +33 61 55 39 50 61 44 61 50 10[78 1[66 61 72 1[61 2[100 +7[61 1[72 13[50 50 50 50 50 2[25 43[61 2[{TeXBase1Encoding ReEncodeFont} +37 99.6264 /Palatino-Bold rf /Fe 134[50 50 50 50 50 50 +50 50 1[50 50 50 50 50 2[50 50 50 50 50 50 50 50 50 7[50 +5[50 50 1[50 1[50 1[50 4[50 2[50 1[50 50 50 9[50 1[50 +1[50 2[50 50 50 45[{TeXBase1Encoding ReEncodeFont}39 +83.022 /Courier rf /Ff 105[42 28[46 42 1[46 51 28 37 +32 1[51 46 51 74 28 51 1[28 51 46 32 42 51 37 51 42 10[65 +65 55 51 60 1[51 69 69 83 51 2[32 69 69 46 51 69 60 1[65 +1[37 5[42 2[42 1[42 42 42 42 42 1[21 28 45[{ +TeXBase1Encoding ReEncodeFont}51 83.022 /Palatino-Bold +rf /Fg 104[83 42 27[42 46 43 69 47 50 27 35 33 46 50 +45 48 73 24 46 19 24 48 46 28 40 51 37 46 42 23 7[55 +83 60 65 51 44 55 1[50 65 69 79 51 2[28 69 63 46 51 64 +59 51 65 6[21 42 42 42 42 42 42 42 42 42 42 50 21 28 +21 2[28 28 23 65 70 2[31 30[50 50 2[{TeXBase1Encoding ReEncodeFont}73 +83.022 /Palatino-Roman rf /Fh 139[50 3[50 9[50 102[{ +TeXBase1Encoding ReEncodeFont}3 83.022 /Courier-Oblique +rf /Fi 135[42 9[46 1[28 2[28 3[37 1[37 1[46 10[55 65 +1[46 6[51 2[32 7[60 65[{TeXBase1Encoding ReEncodeFont}13 +83.022 /Palatino-BoldItalic rf /Fj 134[42 42 60 42 46 +28 32 32 1[42 37 46 65 23 37 1[23 42 42 23 32 42 34 38 +37 12[51 46 55 2[65 1[78 3[28 3[51 65 55 51 60 11[42 +2[42 1[42 1[21 28 21 40[45 44 2[{TeXBase1Encoding ReEncodeFont}42 +83.022 /Palatino-Italic rf /Fk 138[60 60 60 60 1[60 60 +60 60 60 2[60 2[60 60 1[60 1[60 32[60 9[60 7[60 60 45[{ +TeXBase1Encoding ReEncodeFont}18 99.6264 /Courier rf +/Fl 22[48 48 30[61 79[55 51 1[56 60 32 42 39 56 60 54 +58 88 29 2[29 58 1[33 48 61 44 55 50 11[78 1[52 2[60 +2[94 61 1[33 34 2[55 2[71 1[78 9[50 50 50 50 1[50 1[50 +2[33 25 4[28 39[{TeXBase1Encoding ReEncodeFont}43 99.6264 +/Palatino-Roman rf /Fm 134[66 4[39 51 47 1[72 65 70 106 +35 2[35 1[66 40 57 17[63 14[93 85 1[93 6[30 58[{ +TeXBase1Encoding ReEncodeFont}18 119.552 /Palatino-Roman +rf /Fn 133[60 66 60 100 1[73 40 53 47 1[73 66 73 106 +40 73 1[40 73 66 47 60 73 53 73 60 10[93 93 80 73 6[73 +2[47 5[86 1[93 9[60 60 60 60 60 60 60 45[73 3[{ +TeXBase1Encoding ReEncodeFont}39 119.552 /Palatino-Bold rf end %%EndProlog %%BeginSetup -%%Feature: *Resolution 400dpi +%%Feature: *Resolution 600dpi TeXDict begin %%PaperSize: A4 %%EndSetup %%Page: 1 1 -1 0 bop 395 262 a Fn(Alliance)p Fm(:)23 b(A)d(Complete)g(CAD)f(System)h -(for)g Fn(VLSI)f Fm(Design)508 509 y Fl(\311quipe)d(Achitectur)o(e)g -(des)g(Syst\350mes)g(et)g(Micr)o(o-\311lectr)o(onique)767 -586 y(Laboratoir)o(e)h(d'Informatique)g(de)f(Paris)i(6)851 -664 y(Universit\351)e(Pierr)o(e)h(et)f(Marie)h(Curie)773 -741 y(4,)f(Place)i(Jussieu)f(75252)h(Paris)f(Cedex)f(05,)1222 -819 y(France)742 896 y Fk(alliance-support@asim.lip6.fr)1167 -1131 y Fn(Abstract)258 1279 y Fj(The)d Fi(Alliance)h -Fj(package)d(is)j(a)g(complete)f(set)g(of)h(CAD)g(tools)g(for)f(the)h -(speci\002cation,)e(design)g(and)h(validation)258 1346 -y(of)21 b(digital)g Fi(VLSI)f Fj(cir)o(cuits.)36 b(Beside)19 -b(the)h(tools,)i Fi(Alliance)e Fj(includes)g(also)f(a)h(set)h(of)f -(cell)g(libraries,)h(fr)o(om)258 1412 y(standard)13 b(cells)g(for)h -(automatic)g(place)f(and)h(r)o(oute)f(tools,)h(to)g(custom)f(block)h -(generators)d(to)j(be)g(used)f(in)h(high)258 1479 y(performance)d(cir)o -(cuits.)16 b(This)d(package)e(is)j(used)e(in)i(mor)o(e)f(than)g(250)g -(universities)f(worldwide.)258 1567 y(Each)h Fi(Alliance)h -Fj(tool)g(can)f(operate)f(as)h(a)h(standalone)e(pr)o(ogram)g(as)h(well) -h(as)f(a)h(part)f(of)i(the)e(complete)g(design)258 1634 -y(framework.)24 b(After)17 b(intr)o(oducing)e(brie\003y)h(the)h(design) -e(methodology)n(,)g(we)i(outline)f(the)h(functionnality)g(of)258 -1700 y(the)d(tools.)i(Experiemental)c(r)o(esults)h(conclude)e(the)j(pr) -o(esentation.)258 1789 y Fi(Alliance)19 b Fj(runs)e(on)h(any)f -Fi(Unix)i Fj(system.)29 b(It)19 b(is)g(fr)o(eely)e(available)h(on)f -Fh(ftp)p Fj(,)j(and)e(includes)f(binaries,)h(leaf)258 -1855 y(cells)c(libraries,)e(on-line)h(documentation,)f(and)h -(tutorials.)120 2090 y Fn(1)80 b(Introduction)120 2260 -y Fg(The)19 b Ff(Alliance)g Fg(package)e(is)j(the)f(r)o(esult)g(of)h(a) -f(ten)g(years)f(ef)o(fort)i(spent)f(at)g(the)g(former)g -Ff(MASI)g Fg(Laboratory)e(of)120 2326 y(the)f(Pierr)o(e)f(et)g(Marie)h -(Curie)g(University)g(\(UPMC\),)i(in)e(Paris.)24 b(During)16 -b(these)g(years,)g(our)g(major)g(goal)f(was)i(to)120 -2393 y(pr)o(ovide)f(our)g(under)o(graduate)e(and)h(graduate)f(students) -i(with)g(a)g(complete)e(CAD)i(framework,)f(designed)g(to)120 -2459 y(assist)k(them)e(in)i(digital)e Ff(VLSI)g(CMOS)h -Fg(course.)29 b(The)17 b Fj(Ar)o(chitectur)o(e)f Fg(team)h(at)g -Ff(MASI)h Fg(focuses)h(its)f(activity)g(on)120 2526 y(two)g(key)f -(issues:)26 b(computer)18 b(ar)o(chitectur)o(es)e(using)j(high)f -(complexity)f(ASICs,)i(and)f(innovative)g(CAD)g(tools)120 -2592 y(for)e Ff(VLSI)e Fg(design.)22 b(Str)o(ong)15 b(interaction)g -(exists)h(between)e(the)h(people)g(working)g(on)h(computer)f(ar)o -(chitectur)o(es)120 2659 y(and)20 b(the)h(one)f(working)h(on)g(CAD)g -(tools.)38 b(The)21 b(main)f(CAD)h(action)g(aims)f(at)h(ful\002lling)h -(both)f(the)f(needs)g(of)120 2725 y(experienced)d(designers)i(by)g(pr)o -(oviding)h(practical)e(answers)i(to)f(state-of-the-art)i(pr)o(oblems)e -(\(logic)g(synthe-)120 2791 y(sis,)e(pr)o(ocedural)e(generation,)g -(layout)g(veri\002cation,)h(test)g(and)f(inter)o(operability\),)g(and)h -(novice)f(designers,)h(by)120 2858 y(pr)o(oviding)i(a)g(simple)g(and)g -(consistent)g(set)g(of)h(tools.)30 b(Our)18 b Ff(VLSI)f -Fg(design)g(\003ow)h(is)h(ther)o(efor)o(e)e(based)g(on)h(both)120 -2924 y(advanced)g(CAD)i(tools)g(that)g(ar)o(e)e(not)j(available)d -(within)i(commer)o(cial)e(CAD)i(systems,)h(such)f(as)g(functional)120 -2991 y(abstraction)13 b(or)h(static)g(timing)g(analysis,)g(and)g -(standar)o(d)f(design/validation)h(tools.)120 3101 y(Unlike)19 -b(versions)i(of)f Ff(Alliance)f Fg(up)h(to)g(3.1)f(that)g(wher)o(e)g(r) -o(eleased)f(including)h(sour)o(ces,)j(version)e(3.2)e(and)h(up)120 -3168 y(will)c(not)f(be)f(available)g(with)i(the)e(sour)o(ce)h(code.)j -(Sour)o(ce)d(is)g(however)g(still)h(available,)e(but)h(only)g(upon)h(r) -o(equest)120 3234 y(to)k Fe(alliance-support@lip6)q(.fr)p -Fg(.)36 b(The)19 b(r)o(elease)f(of)h(the)g(sour)o(ce)g(is)g(now)h -(subject)e(to)h(a)g(non)g(disclosur)o(e)120 3301 y(agr)o(eement.)120 -3507 y Fd(1.1)66 b(Process)18 b(independence)120 3656 -y Fg(T)-5 b(o)15 b(be)f(useful,)i(a)e(CAD)h(system)g(must)h(pr)o(ovide) -e(a)h(way)f(to)h(the)g(silicon,)h(ther)o(efor)o(e)d Ff(Alliance)i -Fg(pr)o(ovides)h(a)e(lar)o(ge)120 3723 y(set)h(of)g(cell)f(libraries)h -(also)g(available)e(at)i(the)g(layout)g(level.)k(The)c(tar)o(get)e -(technologies)i(of)h Ff(Alliance)f Fg(is)g Ff(CMOS)p -Fg(.)120 3789 y(The)21 b(layout)g(libraries)f(r)o(ely)h(on)g(a)g -(symbolic)f(layout)i(appr)o(oach)e(that)h(pr)o(ovides)h(pr)o(ocess)f -(independence)f(in)1306 3971 y(1)p eop +1 0 bop 593 394 a Fn(Alliance)p Fm(:)36 b(A)30 b(Complete)f(CAD)h +(System)f(for)h Fn(VLSI)g Fm(Design)761 763 y Fl(\311quipe)25 +b(Achitectur)n(e)g(des)g(Syst\350mes)h(et)f(Micr)n(o-\311lectr)n +(onique)1151 879 y(Laboratoir)n(e)h(d'Informatique)f(de)f(Paris)i(6) +1276 996 y(Universit\351)f(Pierr)n(e)h(et)f(Marie)g(Curie)1159 +1112 y(4,)g(Place)f(Jussieu)i(75252)e(Paris)h(Cedex)g(05,)1833 +1228 y(France)1113 1344 y Fk(alliance-support@asim.lip6.fr)1751 +1697 y Fn(Abstract)388 1919 y Fj(The)20 b Fi(Alliance)g +Fj(package)g(is)h(a)g(complete)f(set)h(of)g(CAD)g(tools)g(for)g(the)f +(speci\002cation,)g(design)h(and)g(validation)388 2019 +y(of)30 b(digital)g Fi(VLSI)h Fj(cir)o(cuits.)56 b(Beside)31 +b(the)f(tools,)j Fi(Alliance)d Fj(includes)h(also)g(a)g(set)g(of)g +(cell)g(libraries,)k(fr)o(om)388 2118 y(standard)20 b(cells)j(for)e +(automatic)g(place)g(and)g(r)o(oute)g(tools,)h(to)f(custom)g(block)g +(generators)i(to)e(be)h(used)g(in)g(high)388 2218 y(performance)e(cir)o +(cuits.)25 b(This)c(package)e(is)i(used)g(in)g(mor)o(e)g(than)f(250)f +(universities)j(worldwide.)388 2351 y(Each)e Fi(Alliance)g +Fj(tool)g(can)h(operate)g(as)g(a)h(standalone)e(pr)o(ogram)g(as)h(well) +h(as)f(a)g(part)g(of)g(the)f(complete)h(design)388 2450 +y(framework.)39 b(After)25 b(intr)o(oducing)f(brie\003y)j(the)d(design) +i(methodology)m(,)d(we)j(outline)f(the)g(functionnality)g(of)388 +2550 y(the)20 b(tools.)25 b(Experiemental)20 b(r)o(esults)h(conclude)g +(the)f(pr)o(esentation.)388 2683 y Fi(Alliance)26 b Fj(runs)j(on)e(any) +h Fi(Unix)e Fj(system.)46 b(It)27 b(is)h(fr)o(eely)g(available)g(on)g +Fh(ftp)p Fj(,)g(and)f(includes)h(binaries,)j(leaf)388 +2782 y(cells)21 b(libraries,)h(on-line)f(documentation,)e(and)i +(tutorials.)180 3135 y Fn(1)119 b(Introduction)180 3390 +y Fg(The)29 b Ff(Alliance)c Fg(package)j(is)h(the)g(r)o(esult)f(of)g(a) +h(ten)f(years)g(ef)o(fort)g(spent)h(at)f(the)h(former)f +Ff(MASI)g Fg(Laboratory)g(of)180 3490 y(the)c(Pierr)o(e)f(et)h(Marie)e +(Curie)i(University)g(\(UPMC\),)e(in)j(Paris.)34 b(During)25 +b(these)f(years,)g(our)g(major)h(goal)f(was)g(to)180 +3589 y(pr)o(ovide)e(our)i(under)o(graduate)d(and)i(graduate)e(students) +j(with)g(a)f(complete)g(CAD)g(framework,)h(designed)f(to)180 +3689 y(assist)k(them)g(in)g(digital)g Ff(VLSI)f(CMOS)h +Fg(course.)43 b(The)27 b Fj(Ar)o(chitectur)o(e)e Fg(team)h(at)h +Ff(MASI)f Fg(focuses)h(its)g(activity)f(on)180 3789 y(two)h(key)g +(issues:)38 b(computer)27 b(ar)o(chitectur)o(es)e(using)i(high)h +(complexity)f(ASICs,)g(and)f(innovative)i(CAD)e(tools)180 +3888 y(for)d Ff(VLSI)f Fg(design.)33 b(Str)o(ong)22 b(interaction)i +(exists)f(between)g(the)g(people)g(working)h(on)g(computer)f(ar)o +(chitectur)o(es)180 3988 y(and)31 b(the)g(one)g(working)h(on)g(CAD)e +(tools.)58 b(The)31 b(main)g(CAD)g(action)g(aims)g(at)g(ful\002lling)h +(both)f(the)g(needs)g(of)180 4087 y(experienced)d(designers)h(by)g(pr)o +(oviding)g(practical)f(answers)h(to)g(state-of-the-art)e(pr)o(oblems)i +(\(logic)h(synthe-)180 4187 y(sis,)24 b(pr)o(ocedural)e(generation,)i +(layout)g(veri\002cation,)f(test)h(and)f(inter)o(operability\),)g(and)f +(novice)i(designers,)g(by)180 4287 y(pr)o(oviding)j(a)f(simple)h(and)g +(consistent)h(set)f(of)f(tools.)45 b(Our)27 b Ff(VLSI)f +Fg(design)h(\003ow)h(is)f(ther)o(efor)o(e)e(based)h(on)h(both)180 +4386 y(advanced)h(CAD)h(tools)h(that)f(ar)o(e)f(not)i(available)e +(within)j(commer)o(cial)e(CAD)g(systems,)j(such)e(as)f(functional)180 +4486 y(abstraction)20 b(or)h(static)g(timing)h(analysis,)f(and)f +(standar)o(d)f(design/validation)i(tools.)180 4652 y +Ff(Alliance)27 b Fg(sour)o(ce)i(code)g(is)h(available)e(under)i(the)f +(GNU)h(Public)g(License)f(GPL.)h(For)g(any)f(questions)j(please)180 +4752 y(mail)21 b(to)g(:)26 b Fe(alliance-support@lip6.fr)p +Fg(.)180 5061 y Fd(1.1)99 b(Process)26 b(independence)180 +5285 y Fg(T)-8 b(o)23 b(be)f(useful,)g(a)f(CAD)h(system)h(must)g(pr)o +(ovide)e(a)h(way)g(to)h(the)f(silicon,)h(ther)o(efor)o(e)e +Ff(Alliance)e Fg(pr)o(ovides)i(a)h(lar)o(ge)180 5385 +y(set)g(of)h(cell)f(libraries)f(also)i(available)e(at)h(the)g(layout)g +(level.)30 b(The)22 b(tar)o(get)g(technologies)h(of)f +Ff(Alliance)e Fg(is)i Ff(CMOS)p Fg(.)180 5485 y(The)32 +b(layout)f(libraries)g(r)o(ely)g(on)h(a)g(symbolic)g(layout)g(appr)o +(oach)e(that)i(pr)o(ovides)e(pr)o(ocess)i(independence)f(in)180 +5584 y(or)o(der)23 b(to)i(allow)g(the)f(designers)h(to)f(easily)h(port) +f(their)h(designs)g(fr)o(om)e(one)i(silicon)h(supplier)e(to)h(another) +-6 b(.)36 b(The)180 5684 y(main)20 b(point)g(in)g(this)g(appr)o(oach)e +(is)h(that)h(the)f(pitch)h(matching)g(constraints)g(in)g(both)g +Fj(x)e Fg(and)h Fj(y)g Fg(dir)o(ection)g(ar)o(e)f(kept)1959 +5956 y(1)p eop %%Page: 2 2 -2 1 bop 120 260 a Fg(or)o(der)16 b(to)g(allow)h(the)f(designers)f(to)i -(easily)f(port)g(their)g(designs)h(fr)o(om)g(one)f(silicon)h(supplier)g -(to)g(another)l(.)23 b(The)120 327 y(main)13 b(point)g(in)h(this)f -(appr)o(oach)g(is)h(that)e(the)h(pitch)g(matching)f(constraints)i(in)f -(both)g Fj(x)g Fg(and)g Fj(y)f Fg(dir)o(ection)g(ar)o(e)g(kept)120 -393 y(thr)o(ough)17 b(technological)f(r)o(etar)o(getting.)24 -b(The)16 b(translation,)i(fully)f(automated,)g(r)o(elies)f(on)h(a)f -(technological)g(\002le)120 459 y(suited)e(to)g(a)g(given)f(pr)o -(ocess.)120 565 y(These)20 b(\002les)h(can)f(be)f(generated)g(dir)o -(ectly)g(fr)o(om)i(the)f(pr)o(ocess)h(design)f(rules.)37 -b(Also)21 b(technological)f(\002les)g(for)120 631 y(several)13 -b(pr)o(ocesses)h(ar)o(e)f(available)f(thr)o(ough)i(the)g(CMP)g(and)g -(Eur)o(oPractice)e(services,)h(pr)o(ovided)h(you)g(signed)f(a)120 -698 y(NDA)h(for)g(the)g(pr)o(ocess.)120 897 y Fd(1.2)66 -b(Software)17 b(portability)120 1041 y Fg(The)e Ff(Alliance)h -Fg(package)d(has)j(been)e(designed)h(so)h(to)g(run)f(on)h(an)g(heter)o -(ogeneous)f(network)g(of)h(workstations.)120 1108 y(The)j(only)h(r)o -(equir)o(ements)e(ar)o(e)h(a)f Ff(C)i Fg(compiler)f(and)g(a)g -Ff(Unix)g Fg(system.)33 b(For)19 b(the)g(graphical)g(applications,)i -(the)120 1174 y(XW)m(indow)f(library)e(is)i(used.)33 -b(Several)18 b(har)o(dwar)o(e)g(platforms,)k(fr)o(om)d(Intel)g(386)f -(based)h(micr)o(ocomputers)g(to)120 1241 y(Spar)o(cStations)14 -b(and)g(DEC)f(Stations,)i(ar)o(e)e(supported.)120 1439 -y Fd(1.3)66 b(Modularity)120 1584 y Fg(Accor)o(ding)16 -b(to)h(the)g(inter)o(operability)f(constraints,)i(each)e -Ff(Alliance)h Fg(tool)g(can)g(operate)f(as)h(a)f(standalone)h(pr)o(o-) -120 1650 y(gram)g(as)h(well)g(as)g(a)f(part)h(of)h(the)e(complete)g -Ff(Alliance)h Fg(design)g(framework.)28 b(Each)17 b Ff(Alliance)h -Fg(tool)h(ther)o(efor)o(e)120 1717 y(supports)h(several)e(standar)o(d)f -Ff(VLSI)h Fg(description)g(formats)h(:)25 b Ff(SPICE)p -Fg(,)17 b Ff(EDIF)p Fg(,)g Ff(VHDL)p Fg(,)h Ff(CIF)p -Fg(,)g Ff(GDS2)p Fg(.)29 b(In)18 b(that)120 1783 y(r)o(espect,)e(the)f -(tools)j(ouputs)f(ar)o(e)e(fully)i(usable)f(under)g(the)g -Ff(Compass)e Fg(and)i Ff(Cadence)e(Opus)h Fg(envir)o(onnement,)120 -1850 y(pr)o(ovided)21 b(these)f(tools)i(have)e(the)h(necessary)e -(con\002guration)j(\002les.)38 b(The)20 b Ff(Alliance)h -Fg(tools)h(support)g(a)e(zer)o(o-)120 1916 y(default)13 -b(top-down)h(design)f(methodology)g(with)g(not)h(only)f(construction)g -(tools)i(\227)e(layout)g(editor)l(,)f(automatic)120 1982 -y(place)k(&)h(r)o(oute)g(\227)h(but)f(also)g(validation)h(tools,)g(fr)o -(om)g(design)f(rule)f(checker)f(to)j(functional)g(abstraction)e(and)120 -2049 y(formal)e(pr)o(oof.)120 2248 y Fd(1.4)66 b(Compactness)120 -2392 y Fg(Unlike)10 b(commer)o(cially)f(available)g(CAD)i(systems,)h -(the)e Ff(Alliance)g Fg(CAD)h(Framework)e(suits)j(the)f(limited)f(r)o -(essour)o(ces)120 2459 y(of)16 b(low-cost)g(workstations.)22 -b(For)15 b(small)h(educational)e(pr)o(ojects)h(\227)h(5000)e(gates)g -(\227,)i(a)f Ff(Unix)g Fg(system)g(with)h(8)f(to)120 -2525 y(20)g(Mbytes)h(of)g(memory)-6 b(,)16 b(appr)o(opriate)f(disk)h -(storage)g(\(30)f(Mbytes)h(per)f(user\),)i(and)f(graphic)f -(capabilities)g(\(X-)120 2592 y(W)m(indow\))g(is)f(suf)o(\002cient.)120 -2790 y Fd(1.5)66 b(Easiness)120 2935 y Fg(All)15 b(tools)i(and)e(the)g -(pr)o(oposed)g(design)h(\003ow)f(ar)o(e)f(simple)i(to)f(teach)f(and)h -(to)h(learn.)k(In)15 b(any)g(situation,)i(easiness)120 -3001 y(and)d(simplicity)g(have)f(been)g(pr)o(efer)o(ed)g(to)h -(sophisticated)g(appr)o(oaches.)120 3107 y(T)-5 b(o)14 -b(each)f(tool)i(corr)o(espond)f(a)f(unique)i(behavior)e(and)h(utility) --6 b(.)18 b(Each)13 b(step)h(of)h(the)f(design)g(methodology)g(corr)o -(e-)120 3173 y(sponds)h(to)f(the)g(use)g(of)h(one)e(or)h(a)g(few)g -(tools,)h(for)f(which)g(the)g(usage)f(is)i(well)e(identi\002ed.)120 -3279 y(Fr)o(om)f(a)h(pratical)f(point)h(of)h(view)-5 -b(,)13 b(both)f(on-line)i(documentation)f(\()p Ff(Unix)g -Fe(man)p Fg(\))g(and)g(paper)f(ar)o(e)g(available)f(with)120 -3346 y(each)i(tool)h(of)h(the)e Ff(Alliance)h Fg(package.)120 -3573 y Fn(2)80 b(Alliance)18 b(design)h(\003ow)120 3738 -y Fg(W)-5 b(e)19 b(r)o(efer)f(to)h(the)f(term)h("design)f(\003ow")g(as) -h(a)g(sequenced)f(set)g(of)i(operations)f(performed)g(when)f(r)o -(ealizing)g(a)120 3805 y Ff(VLSI)12 b Fg(cir)o(cuit.)k(In)d(the)g -(design)g(\003ow)-5 b(,)13 b(we)f(r)o(ely)g(on)i(a)e(strict)h -(de\002nition)h(of)f(all)g(the)g(objects)f(and)h(design)f(functions) -1306 3971 y(2)p eop +2 1 bop 180 390 a Fg(thr)o(ough)25 b(technological)h(r)o(etar)o +(getting.)37 b(The)25 b(translation,)h(fully)f(automated,)g(r)o(elies)f +(on)i(a)e(technological)i(\002le)180 490 y(suited)21 +b(to)g(a)f(given)h(pr)o(ocess.)180 655 y(These)31 b(\002les)g(can)f(be) +g(generated)g(dir)o(ectly)f(fr)o(om)i(the)f(pr)o(ocess)g(design)h(r)o +(ules.)56 b(Also)31 b(technological)g(\002les)g(for)180 +754 y(several)20 b(pr)o(ocesses)f(ar)o(e)g(available)g(thr)o(ough)i +(the)g(CMP)f(and)g(Eur)o(oPractice)f(services,)h(pr)o(ovided)f(you)i +(signed)f(a)180 854 y(NDA)h(for)f(the)h(pr)o(ocess.)180 +1162 y Fd(1.2)99 b(Software)25 b(portability)180 1385 +y Fg(The)e Ff(Alliance)d Fg(package)j(has)g(been)g(designed)g(so)g(to)h +(r)o(un)g(on)g(an)f(heter)o(ogeneous)g(network)h(of)f(workstations.)180 +1485 y(The)29 b(only)h(r)o(equir)o(ements)e(ar)o(e)g(a)g +Ff(C)h Fg(compiler)g(and)g(a)f Ff(Unix)g Fg(system.)50 +b(For)30 b(the)f(graphical)f(applications,)j(the)180 +1584 y(XW)-5 b(indow)30 b(library)f(is)g(used.)49 b(Several)28 +b(har)o(dwar)o(e)e(platforms,)31 b(fr)o(om)d(Intel)h(386)f(based)g +(micr)o(ocomputers)h(to)180 1684 y(Spar)o(cStations)19 +b(and)h(DEC)h(Stations,)g(ar)o(e)e(supported.)180 1992 +y Fd(1.3)99 b(Modularity)180 2215 y Fg(Accor)o(ding)25 +b(to)g(the)h(inter)o(operability)f(constraints,)i(each)e +Ff(Alliance)d Fg(tool)k(can)f(operate)g(as)g(a)g(standalone)g(pr)o(o-) +180 2315 y(gram)i(as)f(well)h(as)g(a)f(part)g(of)h(the)g(complete)g +Ff(Alliance)d Fg(design)j(framework.)43 b(Each)26 b Ff(Alliance)e +Fg(tool)k(ther)o(efor)o(e)180 2415 y(supports)g(several)e(standar)o(d)f +Ff(VLSI)i Fg(description)g(formats)g(:)39 b Ff(SPICE)p +Fg(,)26 b Ff(EDIF)p Fg(,)h Ff(VHDL)p Fg(,)g Ff(CIF)p +Fg(,)g Ff(GDS2)p Fg(.)45 b(In)27 b(that)180 2514 y(r)o(espect,)c(the)i +(tools)g(ouputs)f(ar)o(e)f(fully)h(usable)g(under)g(the)g +Ff(Compass)f Fg(and)g Ff(Cadence)f(Opus)i Fg(envir)o(onnement,)180 +2614 y(pr)o(ovided)30 b(these)h(tools)h(have)f(the)g(necessary)f +(con\002guration)j(\002les.)56 b(The)31 b Ff(Alliance)e +Fg(tools)j(support)f(a)f(zer)o(o-)180 2713 y(default)18 +b(top-down)i(design)g(methodology)h(with)g(not)f(only)g(constr)o +(uction)h(tools)g(\227)e(layout)h(editor)-6 b(,)19 b(automatic)180 +2813 y(place)25 b(&)g(r)o(oute)g(\227)h(but)f(also)h(validation)g +(tools,)h(fr)o(om)e(design)h(r)o(ule)g(checker)f(to)h(functional)g +(abstraction)f(and)180 2913 y(formal)c(pr)o(oof.)180 +3220 y Fd(1.4)99 b(Compactness)180 3444 y Fg(Unlike)16 +b(commer)o(cially)g(available)e(CAD)h(systems,)j(the)e +Ff(Alliance)d Fg(CAD)i(Framework)h(suits)g(the)g(limited)h(r)o(essour)o +(ces)180 3543 y(of)23 b(low-cost)g(workstations.)33 b(For)23 +b(small)g(educational)f(pr)o(ojects)h(\227)g(5000)e(gates)h(\227,)h(a)f +Ff(Unix)f Fg(system)j(with)f(8)g(to)180 3643 y(20)g(Mbytes)g(of)h +(memory)-9 b(,)25 b(appr)o(opriate)d(disk)i(storage)f(\(30)g(Mbytes)g +(per)h(user\),)f(and)h(graphic)f(capabilities)g(\(X-)180 +3743 y(W)-5 b(indow\))22 b(is)f(suf)o(\002cient.)180 +4050 y Fd(1.5)99 b(Easiness)180 4274 y Fg(All)23 b(tools)h(and)e(the)h +(pr)o(oposed)f(design)h(\003ow)h(ar)o(e)e(simple)h(to)g(teach)f(and)h +(to)g(learn.)31 b(In)23 b(any)g(situation,)h(easiness)180 +4373 y(and)c(simplicity)i(have)e(been)h(pr)o(efer)o(ed)d(to)j +(sophisticated)g(appr)o(oaches.)180 4538 y(T)-8 b(o)22 +b(each)e(tool)i(corr)o(espond)e(a)h(unique)h(behavior)e(and)h(utility) +-9 b(.)27 b(Each)20 b(step)h(of)g(the)g(design)h(methodology)g(corr)o +(e-)180 4638 y(sponds)f(to)h(the)e(use)h(of)g(one)g(or)g(a)f(few)h +(tools,)g(for)g(which)g(the)g(usage)g(is)g(well)g(identi\002ed.)180 +4803 y(Fr)o(om)e(a)g(pratical)f(point)i(of)f(view)-8 +b(,)19 b(both)h(on-line)g(documentation)g(\()p Ff(Unix)d +Fe(man)p Fg(\))h(and)h(paper)f(ar)o(e)g(available)f(with)180 +4903 y(each)j(tool)i(of)f(the)f Ff(Alliance)e Fg(package.)180 +5253 y Fn(2)119 b(Alliance)29 b(design)h(\003ow)180 5508 +y Fg(W)-8 b(e)28 b(r)o(efer)f(to)i(the)f(term)g("design)h(\003ow")g(as) +f(a)g(sequenced)g(set)g(of)g(operations)h(performed)e(when)i(r)o +(ealizing)e(a)180 5608 y Ff(VLSI)19 b Fg(cir)o(cuit.)24 +b(In)c(the)f(design)h(\003ow)-8 b(,)21 b(we)e(r)o(ely)g(on)h(a)f +(strict)g(de\002nition)i(of)e(all)g(the)h(objects)f(and)g(design)h +(functions)180 5707 y(found)29 b(in)g(the)g(pr)o(ocess)g(of)g +(designing)h(a)e Ff(VLSI)g Fg(chip.)50 b(The)29 b(design)h(\003ow)g(is) +f(based)f(on)h(the)g(Mead-Conway)1959 5956 y(2)p eop %%Page: 3 3 -3 2 bop 120 260 a Fg(found)20 b(in)g(the)f(pr)o(ocess)h(of)g(designing) -f(a)g Ff(VLSI)f Fg(chip.)34 b(The)19 b(design)g(\003ow)g(is)h(based)e -(on)i(the)f(Mead-Conway)120 327 y(model)12 b(and)g(is)h(characterized)c -(by)j(its)h(top-down)g(aspect.)j(Below)d(we)f(intr)o(oduce)g(the)g -(major)f(steps)j(of)f(the)f(basic)120 393 y(design)g(methodology)-6 -b(.)16 b(It)c(emphasizes)g(the)g(top-down)i(aspect)e(of)h(the)f(design) -g(\003ow)-5 b(,)13 b(and)f(points)h(out)g(that)g(our)120 -459 y(methodology)h(is)g(br)o(eaked)e(up)i(into)h(5)e(distinct)h -(parts,)g(the)g(latter)f(being)g(not)h(available)f(yet)g(within)i -Ff(Alliance)p Fg(:)203 614 y Fc(\017)27 b Fg(captur)o(e)14 -b(and)f(simulation)i(of)g(the)e(behavioral)g(view)-5 -b(,)203 725 y Fc(\017)27 b Fg(captur)o(e)14 b(and)f(validation)h(of)h -(the)e(structural)h(view)-5 b(,)203 836 y Fc(\017)27 -b Fg(physical)14 b(implementation)g(of)g(the)g(design,)203 -946 y Fc(\017)27 b Fg(layout)14 b(veri\002cation,)203 -1057 y Fc(\017)27 b Fg(test)14 b(and)g(coverage)e(evaluation.)120 -1212 y(The)19 b(design)g(\003ow)g(also)g(includes)h(miscellaneous)f -(tools)h(like)f(layout)g(editor)g(for)g(the)g(design)g(of)h(the)f(cell) -f(li-)120 1279 y(braries,)13 b(and)g(a)h(PostScript)h(plotter)f(for)g -(documentation.)120 1485 y Fd(2.1)66 b(Capture)17 b(and)f(simulation)g -(of)h(the)f(behavioral)h(view)120 1634 y Fg(Like)12 b(we)h(just)h(saw) --5 b(,)13 b(the)g(captur)o(e)f(of)i(the)f(behavioral)f(view)h(is)h(the) -f(very)f(\002rst)i(step)f(of)h(our)f(design)g(\003ow)-5 -b(.)17 b(W)m(ithin)120 1701 y Ff(Alliance)p Fg(,)11 b(any)g -Ff(VLSI)f Fg(design)h(begins)f(with)i(a)f(timing)g(independent)f -(description)h(of)g(the)g(cir)o(cuit)g(with)g(a)g(subset)120 -1767 y(of)16 b Ff(VHDL)g Fg(behavior)f(primitives.)22 -b(This)16 b(subset)g(of)g Ff(VHDL)p Fg(,)g(called)e Fe(vbe)p -Fg(,)i(is)g(fairly)g(r)o(estricted:)j(it)c(is)h(the)f(data-)120 -1834 y(\003ow)h(subset)h(of)f(this)h(language.)23 b(It)16 -b(is)g(not)h(very)e(easy)h(to)g(modelize)f(an)h(ar)o(chitectur)o(e)e -(using)j(this)g(subset,)g(but)120 1900 y(it)e(has)f(the)h(gr)o(eat)e -(advantage)g(of)i(allowing)g(simulation,)h(logic)e(synthesis)i(and)e -(bit)g(level)g(formal)h(pr)o(oof)g(on)g(the)120 1966 -y(same)e(\002les.)120 2077 y(Patterns,)24 b Ff(VHDL)e -Fg(simulation)h(stimuli,)i(ar)o(e)c(described)g(in)h(a)g(speci\002c)g -(formalism)g(that)g(can)g(be)f(captur)o(ed)120 2144 y(using)14 -b(a)e(dedicated)f(language)g Fe(genpat)p Fg(.)18 b(Once)12 -b(a)g Ff(VHDL)h Fg(behavioral)f(description)h(written)f(and)h(a)f(set)h -(of)g(test)120 2210 y(vectors)j(have)g(been)f(determined,)g(a)i -(functional)g(simulation)g(is)g(ran.)24 b(The)16 b(behavioral)g -Ff(VHDL)g Fg(simulator)h(is)120 2276 y(called)c Fe(asimut)p -Fg(.)18 b(It)13 b(validates)h(the)g(input)g(behavior)l(,)f(accor)o -(ding)g(to)h(the)g(input/output)h(vectors.)120 2482 y -Fd(2.2)66 b(Capture)17 b(and)f(validation)g(of)g(the)h(structural)g -(view)120 2632 y Fg(The)c(structural)f(view)h(can)g(be)f(captur)o(ed)g -(once)g(the)h(data)f(\003ow)h(description)g(is)g(validated.)j(The)c -(actual)h(captur)o(e)120 2699 y(of)19 b(the)f(netlist)h(r)o(elies)f -(either)f(on)i(speci\002c)g(description)f(languages,)h -Fe(genlib)h Fg(for)e(standar)o(d)g(cells)h(or)f Fe(fpgen)120 -2765 y Fg(for)c(data-path,)f(or)g(on)g(dir)o(ect)f(synthesis)j(fr)o(om) -e(the)g(data)g(\003ow)g(using)h(the)f Fe(bop)g Fg(tool)h(for)g -(optimization)f(and)g(the)120 2831 y Fe(scmap)g Fg(tool)g(to)f(map)g -(on)g(a)g(cell)f(library)-6 b(.)15 b Fe(Genlib)e Fg(and)f -Fe(fpgen)h Fg(ar)o(e)e(netlist-oriented)h(libraries)g(of)g(C)h -(functions.)120 2898 y(In)18 b(the)f(design)h(methodology)-6 -b(,)18 b(it)g(is)g(essential)g(for)g(the)g(students)h(to)f(get)f -(acquainted)f(with)j(the)e Ff(C)h Fg(language)120 2964 -y(basics.)h(The)14 b(advantage)f(of)i(such)g(an)g(appr)o(oach)f(is)h -(that)g(designers)f(do)g(not)h(have)f(to)h(learn)f(several)g(language) -120 3031 y(with)g(speci\002c)g(syntax)g(and)f(semantics.)120 -3141 y(Usually)-6 b(,)12 b(the)f(main)g(behavior)f(is)i(partitionned)f -(in)g(several)g(sub-behaviors.)16 b(Some)11 b(ar)o(e)f(described)g(r)o -(ecursively)120 3208 y(using)20 b(the)f Fe(genlib)i Fg(language,)f -(other)f(using)h Fe(fpgen)p Fg(,)i(and)d(the)g(other)g(ones)h(can)f(be) -f(dir)o(ectly)g(synthesized)120 3274 y(fr)o(om)f(a)f -Ff(VHDL)h Fg(description)g(of)g(the)f(corr)o(esponding)h -(sub-behaviors.)26 b(The)17 b Fe(scmap)g Fg(tool)g(takes)f(an)h -Ff(R)m(TL)f Fg(de-)120 3341 y(scription)e(and)g(generates)e(a)h -(netlist)h(of)g(standar)o(d)f(cell)g(gates.)j(An)e(other)f(subset)h(of) -g Ff(VHDL)g Fg(allows)g(to)g(captur)o(e)120 3407 y(\002nite)k(state)f -(machines.)27 b(This)18 b(subset,)h(called)d Fe(fsm)p -Fg(,)j(can)e(be)f(translated)h(into)h(a)f Ff(R)m(TL)g -Fg(description)h(using)g(the)120 3473 y(tool)c Fe(syf)p -Fg(,)f(and)g(then)g(the)g(r)o(esulting)g(description)g(optimized)g -(usign)h Fe(bop)f Fg(and)g(\002nally)g(syntesized)g(as)g(a)g(netlist) -120 3540 y(using)i(once)e(mor)o(e)g Fe(scmap)p Fg(.)120 -3651 y(Since)h Fe(asimut)i Fg(can)e(operate)g(on)h(both)f -Ff(R)m(TL)g Fg(and)h(structural)f(views,)h(the)g(structural)f -(description)h(is)g(checked)120 3717 y(against)g(the)g(behavioral)g -(description)g(by)f(using)j(the)e(same)f(set)h(of)h(patterns)g(that)f -(has)g(been)f(used)i(for)f(behav-)120 3783 y(ioral)f(validation.)1306 -3971 y(3)p eop +3 2 bop 180 390 a Fg(model)19 b(and)f(is)h(characterized)d(by)i(its)h +(top-down)g(aspect.)24 b(Below)19 b(we)f(intr)o(oduce)g(the)h(major)g +(steps)f(of)h(the)f(basic)180 490 y(design)h(methodology)-9 +b(.)26 b(It)18 b(emphasizes)h(the)f(top-down)h(aspect)f(of)g(the)h +(design)g(\003ow)-8 b(,)20 b(and)e(points)h(out)g(that)g(our)180 +589 y(methodology)j(is)g(br)o(eaked)c(up)j(into)h(5)e(distinct)h +(parts,)f(the)h(latter)f(being)h(not)h(available)d(yet)i(within)h +Ff(Alliance)p Fg(:)305 822 y Fc(\017)41 b Fg(captur)o(e)19 +b(and)h(simulation)i(of)f(the)g(behavioral)f(view)-8 +b(,)305 988 y Fc(\017)41 b Fg(captur)o(e)19 b(and)h(validation)h(of)f +(the)h(str)o(uctural)g(view)-8 b(,)305 1154 y Fc(\017)41 +b Fg(physical)21 b(implementation)g(of)g(the)g(design,)305 +1320 y Fc(\017)41 b Fg(layout)21 b(veri\002cation,)305 +1486 y Fc(\017)41 b Fg(test)20 b(and)h(coverage)f(evaluation.)180 +1719 y(The)29 b(design)g(\003ow)g(also)g(includes)g(miscellaneous)h +(tools)f(like)g(layout)g(editor)g(for)f(the)h(design)g(of)g(the)f(cell) +h(li-)180 1818 y(braries,)20 b(and)g(a)g(PostScript)h(plotter)g(for)f +(documentation.)180 2127 y Fd(2.1)99 b(Capture)24 b(and)h(simulation)g +(of)g(the)g(behavioral)g(view)180 2352 y Fg(Like)19 b(we)h(just)g(saw) +-8 b(,)20 b(the)g(captur)o(e)e(of)h(the)h(behavioral)f(view)h(is)g(the) +f(very)h(\002rst)f(step)h(of)f(our)h(design)g(\003ow)-8 +b(.)27 b(W)-5 b(ithin)180 2451 y Ff(Alliance)p Fg(,)14 +b(any)i Ff(VLSI)g Fg(design)h(begins)g(with)g(a)f(timing)h(independent) +f(description)h(of)f(the)h(cir)o(cuit)f(with)h(a)f(subset)180 +2551 y(of)23 b Ff(VHDL)g Fg(behavior)g(primitives.)33 +b(This)24 b(subset)f(of)g Ff(VHDL)p Fg(,)g(called)f Fe(vbe)p +Fg(,)h(is)h(fairly)e(r)o(estricted:)29 b(it)24 b(is)f(the)h(data-)180 +2651 y(\003ow)h(subset)f(of)g(this)h(language.)35 b(It)24 +b(is)h(not)g(very)e(easy)h(to)h(modelize)e(an)h(ar)o(chitectur)o(e)e +(using)j(this)g(subset,)g(but)180 2750 y(it)d(has)g(the)g(gr)o(eat)e +(advantage)g(of)i(allowing)h(simulation,)g(logic)f(synthesis)h(and)e +(bit)h(level)g(formal)f(pr)o(oof)g(on)i(the)180 2850 +y(same)e(\002les.)180 3016 y(Patterns,)36 b Ff(VHDL)c +Fg(simulation)j(stimuli,)i(ar)o(e)31 b(described)h(in)i(a)e(speci\002c) +h(formalism)g(that)g(can)g(be)g(captur)o(ed)180 3116 +y(using)20 b(a)e(dedicated)g(language)g Fe(genpat)p Fg(.)24 +b(Once)19 b(a)g Ff(VHDL)g Fg(behavioral)f(description)h(written)h(and)e +(a)h(set)g(of)g(test)180 3215 y(vectors)24 b(have)g(been)h(determined,) +f(a)g(functional)h(simulation)h(is)f(ran.)36 b(The)25 +b(behavioral)e Ff(VHDL)i Fg(simulator)g(is)180 3315 y(called)20 +b Fe(asimut)p Fg(.)k(It)d(validates)f(the)h(input)g(behavior)-6 +b(,)20 b(accor)o(ding)g(to)h(the)g(input/output)h(vectors.)180 +3624 y Fd(2.2)99 b(Capture)24 b(and)h(validation)h(of)f(the)f +(structural)h(view)180 3849 y Fg(The)19 b(str)o(uctural)h(view)f(can)g +(be)g(captur)o(ed)e(once)j(the)f(data)g(\003ow)h(description)g(is)f +(validated.)24 b(The)19 b(actual)g(captur)o(e)180 3948 +y(of)28 b(the)f(netlist)h(r)o(elies)f(either)h(on)g(speci\002c)f +(description)h(languages,)h Fe(genlib)d Fg(for)i(standar)o(d)e(cells)h +(or)h Fe(fpgen)180 4048 y Fg(for)19 b(data-path,)f(or)i(on)h(dir)o(ect) +d(synthesis)j(fr)o(om)e(the)h(data)f(\003ow)i(using)f(the)g +Fe(bop)f Fg(tool)i(for)e(optimization)i(and)e(the)180 +4147 y Fe(scmap)e Fg(tool)i(to)f(map)g(on)h(a)e(cell)h(library)-9 +b(.)24 b Fe(Genlib)17 b Fg(and)g Fe(fpgen)g Fg(ar)o(e)g +(netlist-oriented)h(libraries)g(of)f(C)h(functions.)180 +4247 y(In)27 b(the)g(design)g(methodology)-9 b(,)29 b(it)e(is)g +(essential)g(for)f(the)h(students)g(to)g(get)f(acquainted)h(with)g(the) +g Ff(C)f Fg(language)180 4347 y(basics.)i(The)22 b(advantage)e(of)i +(such)g(an)g(appr)o(oach)e(is)i(that)g(designers)g(do)f(not)i(have)e +(to)h(learn)g(several)e(language)180 4446 y(with)i(speci\002c)e(syntax) +h(and)f(semantics.)180 4612 y(Usually)-9 b(,)20 b(the)g(main)h +(behavior)f(is)h(partitionned)f(in)h(several)f(sub-behaviors.)25 +b(Some)20 b(ar)o(e)f(described)h(r)o(ecursive-)180 4712 +y(ly)j(using)g(the)g Fe(genlib)f Fg(language,)g(other)h(using)h +Fe(fpgen)p Fg(,)d(and)i(the)f(other)h(ones)g(can)g(be)f(dir)o(ectly)g +(synthesized)180 4812 y(fr)o(om)j(a)f Ff(VHDL)g Fg(description)i(of)f +(the)g(corr)o(esponding)g(sub-behaviors.)37 b(The)25 +b Fe(scmap)f Fg(tool)i(takes)f(an)f Ff(R)-5 b(TL)26 b +Fg(de-)180 4911 y(scription)21 b(and)f(generates)f(a)h(netlist)h(of)f +(standar)o(d)f(cell)h(gates.)25 b(An)20 b(other)h(subset)f(of)g +Ff(VHDL)g Fg(allows)h(to)g(captur)o(e)180 5011 y(\002nite)27 +b(state)e(machines.)42 b(This)27 b(subset,)g(called)f +Fe(fsm)p Fg(,)g(can)g(be)g(translated)f(into)i(a)f Ff(R)-5 +b(TL)26 b Fg(description)h(using)g(the)180 5110 y(tool)20 +b Fe(syf)p Fg(,)f(and)g(then)h(the)g(r)o(esulting)f(description)h +(optimized)g(usign)g Fe(bop)f Fg(and)g(\002nally)h(syntesized)f(as)g(a) +g(netlist)180 5210 y(using)j(once)f(mor)o(e)f Fe(scmap)p +Fg(.)180 5376 y(Since)i Fe(asimut)e Fg(can)i(operate)f(on)h(both)h +Ff(R)-5 b(TL)22 b Fg(and)g(str)o(uctural)f(views,)h(the)g(str)o +(uctural)g(description)g(is)h(checked)180 5476 y(against)g(the)g +(behavioral)f(description)h(by)g(using)g(the)g(same)g(set)g(of)f +(patterns)h(that)g(has)f(been)h(used)f(for)h(behav-)180 +5575 y(ioral)e(validation.)1959 5956 y(3)p eop %%Page: 4 4 -4 3 bop 120 260 a Fd(2.3)66 b(Physical)18 b(design)120 -410 y Fg(Once)c(the)g(cir)o(cuit)h(netlist)g(has)g(been)f(captur)o(ed)g -(and)g(validated,)g(each)g(leaf)g(of)i(the)e(hierar)o(chy)g(has)h(to)g -(be)f(phys-)120 476 y(ically)h(implemented.)21 b(A)15 -b(netlist)h(issued)h(fr)o(om)f Fe(scmap)g Fg(is)g(usually)h(placed)d -(and)h(r)o(outed)h(using)g(the)f(standar)o(d)120 543 -y(cell)d(r)o(outer)g Fe(scr)p Fg(.)17 b(If)c(the)f(netlist)h(has)g -(been)f(captur)o(ed)f(using)j Fe(genlib)g Fg(and)e(if)h(it)g(has)g(a)f -(high)h(degr)o(ee)d(of)j(r)o(egular)o(-)120 609 y(ity)-6 -b(,)14 b(it)h(can)f(be)g(placed)f(manually)i(for)g(optimisation)h -(using)f(other)g Fe(genlib)g Fg(functions.)21 b(The)14 -b(netlist)i(r)o(esulting)120 675 y(fr)o(om)e(the)g(use)g(of)h -Fe(fpgen)f Fg(ar)o(e)f(placed)g(and)h(r)o(outed)f(using)i(the)f -(datapath)f(r)o(outer)h Fe(dpr)p Fg(.)120 786 y(These)e(part)f(can)h -(be)f(assembled)g(together)g(using)i(a)f(gridless)g(channel)f(r)o -(outer)h(called)f Fe(bbr)p Fg(,)i(and)f(this)g(generates)120 -853 y(what)18 b(we)f(call)g(a)h Fj(cor)o(e)p Fg(.)26 -b(The)18 b(cir)o(cuit)f(cor)o(e)g(is)h(now)g(r)o(eady)f(to)g(be)g -(connected)g(to)h(external)e(pads.)28 b(The)18 b(cor)o(e-to-)120 -919 y(pads)k(r)o(outer)l(,)i Fe(ring)p Fg(,)g(aims)e(at)g(doing)g(this) -h(operation)f(automatically)-6 b(,)23 b(pr)o(ovided)e(the)h(user)g(has) -g(given)g(an)120 985 y(appr)o(opriate)14 b(netlist)g(and)f(some)h -(indications)h(on)f(pad)g(placement.)120 1096 y(The)f(last)h(stage)f -(of)h(the)f(physical)h(implementation)f(is)h(the)g(translation)g(of)g -(the)f(symbolic)h(layout)f(to)h(a)f(foundry)120 1163 -y(compliant)h(layout)f(using)i(the)e Fe(s2r)h Fg(tool.)k(After)13 -b(that,)g(the)h(tape)f(containing)g(the)h(cir)o(cuit)f(can)g(be)f(pr)o -(ocessed)i(by)120 1229 y(the)g(silicon)g(supplier)l(.)120 -1435 y Fd(2.4)66 b(V)-7 b(eri\002cation)120 1585 y Fg(In)11 -b(our)h Ff(VLSI)e Fg(class,)i(we)f(intend)g(to)g(show)i(that)e -Ff(VLSI)f Fg(veri\002cation)i(is)f(at)g(least)g(as)h(important)f(as)g -Ff(VLSI)g Fg(physical)120 1651 y(design.)16 b(For)d(that)f(r)o(eason,)h -(we)f(have)g(intr)o(oduced)g(in)h(the)f(design)h(\003ow)f(powerful)i -(tools)f(to)g(perform)g(behavior)l(,)120 1718 y(netlist)h(and)g(layout) -g(veri\002cations.)120 1828 y(The)f(corr)o(ectness)h(of)g(the)g(design) -f(rules)h(is)h(checked)c(using)k(the)f(design)f(rule)h(checker)e -Fe(druc)p Fg(.)120 1939 y(An)19 b(extracted)e(netlist)j(can)e(be)h -(obtained)f(fr)o(om)h(the)g(r)o(esulting)h(layout.)33 -b Fe(Lynx)p Fg(,)21 b(the)e(layout)g(extractor)f(oper)o(-)120 -2005 y(ates)j(on)h(both)g(hierar)o(chical)e(and)h(\003attened)f(layout) -i(and)f(can)g(output)i(both)f(\003attened)e(netlists)j(\(transistor)120 -2072 y(netlist\))f(and)g(hierar)o(chical)e(netlists.)41 -b(The)21 b(transistor)i(netlist)f(is)g(the)f(input)i(of)f(the)f -Fe(yagle)i Fg(functional)f(ab-)120 2138 y(stractor)l(.)c -Fe(Yagle)d Fg(pr)o(ovides)g(a)f Ff(VHDL)h Fg(data-\003ow)f(behavioral)f -(description,)i(identical)e(to)i(the)f(one)g(that)g(feeds)120 -2205 y Fe(asimut)p Fg(,)23 b(fr)o(om)e(the)f(transistor)i(netlist)f(of) -g(a)f(cir)o(cuit.)37 b(The)20 b(r)o(esulting)h(behavior)f(can)g(be)f -(compar)o(ed)g(to)i(the)120 2271 y(initial)e(speci\002cations)g(using)h -(either)e Fe(asimut)i Fg(with)f(the)g(functionnal)g(vectors)g(used)g -(for)g(the)f(validation)h(of)120 2337 y(the)g(behavioral)g -(speci\002cation,)i(or)e(formally)h(pr)o(oved)f(equivalent,)i(thanks)f -(to)f(the)g(formal)h(pr)o(oof)h(analyzer)120 2404 y Fe(proof)p -Fg(.)120 2515 y(When)f(extracted)e(hierar)o(chically)-6 -b(,)20 b(the)g(r)o(esulting)g(netlist)h(can)e(be)h(compar)o(ed)e(with)j -(the)f(original)g(netlist)h(by)120 2581 y(using)i(the)f -Fe(lvx)g Fg(tool.)43 b Fe(Lvx)p Fg(,)24 b(that)e(stands)h(for)f -(Logical)g(V)-6 b(ersus)22 b(Extracted,)g(is)h(a)e(netlist)i -(comparator)e(that)120 2647 y(matches)13 b(every)g(design)h(object)e -(found)j(in)f(both)g(netlists.)120 2758 y(The)e(critical)f(path)i(of)g -(the)f(cir)o(cuit,)g(and)g(an)g(estimate)g(of)h(its)g(delay)-6 -b(,)11 b(can)h(be)f(obtained)g(using)j(the)e(static)g(timming)120 -2824 y(analyzer)g Fe(tas)p Fg(.)120 3031 y Fd(2.5)66 -b(T)-7 b(est)18 b(and)e(coverage)h(evaluation)120 3180 -y Fg(For)g(now)-5 b(,)19 b(the)f(fault)g(coverage)e(pr)o(ovided)h(by)g -(the)h(functional)g(patterns)g(is)g(evaluated)f(using)h(a)g(commer)o -(cial)120 3247 y(fault)c(simulator)l(,)h(as)f Ff(Alliance)g -Fg(doesn't)g(pr)o(ovide)g(one)g(yet.)120 3481 y Fn(3)80 -b(T)-9 b(ools)20 b(and)g(layout)f(libraries)f(of)i(the)f(Alliance)g -(package)120 3652 y Fg(Every)h Ff(Alliance)h Fg(tool)g(has)g(been)f -(designed)g(to)h(simply)g(interface)f(with)h(each)e(other)l(,)k(in)e -(or)o(der)f(to)h(support)120 3718 y(the)c(pr)o(oposed)i(design)e -(\003ow)-5 b(.)29 b(Nevertheless,)18 b(each)e(tool)j(can)e(also)h(be)f -(used)h(independently)-6 b(,)17 b(thanks)h(to)g(the)120 -3785 y(multiple)c(standar)o(d)g(formats)g(used)g(for)g(input)h(and)f -(output)h(\002les.)1306 3971 y(4)p eop +4 3 bop 180 390 a Fd(2.3)99 b(Physical)26 b(design)180 +606 y Fg(Once)c(the)h(cir)o(cuit)e(netlist)i(has)f(been)g(captur)o(ed)f +(and)h(validated,)e(each)i(leaf)f(of)h(the)h(hierar)o(chy)e(has)h(to)h +(be)f(phys-)180 705 y(ically)h(implemented.)34 b(A)23 +b(netlist)h(issued)f(fr)o(om)g Fe(scmap)f Fg(is)i(usually)f(placed)g +(and)f(r)o(outed)h(using)h(the)g(standar)o(d)180 805 +y(cell)19 b(r)o(outer)f Fe(scr)p Fg(.)24 b(If)19 b(the)g(netlist)g(has) +g(been)g(captur)o(ed)e(using)i Fe(genlib)f Fg(and)g(if)h(it)g(has)g(a)f +(high)i(degr)o(ee)d(of)i(r)o(egular)o(-)180 905 y(ity)-9 +b(,)22 b(it)g(can)g(be)f(placed)g(manually)h(for)g(optimisation)h +(using)g(other)f Fe(genlib)f Fg(functions.)29 b(The)22 +b(netlist)h(r)o(esulting)180 1004 y(fr)o(om)d(the)h(use)g(of)g +Fe(fpgen)f Fg(ar)o(e)f(placed)h(and)g(r)o(outed)g(using)i(the)e +(datapath)g(r)o(outer)g Fe(dpr)p Fg(.)180 1162 y(These)e(part)f(can)h +(be)g(assembled)f(together)h(using)h(a)f(gridless)g(channel)g(r)o +(outer)f(called)h Fe(bbr)p Fg(,)f(and)h(this)h(generates)180 +1261 y(what)27 b(we)f(call)g(a)g Fj(cor)o(e)p Fg(.)43 +b(The)26 b(cir)o(cuit)g(cor)o(e)g(is)h(now)g(r)o(eady)e(to)i(be)f +(connected)h(to)g(external)f(pads.)42 b(The)26 b(cor)o(e-to-)180 +1361 y(pads)32 b(r)o(outer)-6 b(,)35 b Fe(ring)p Fg(,)g(aims)e(at)f +(doing)i(this)f(operation)h(automatically)-9 b(,)35 b(pr)o(ovided)c +(the)i(user)g(has)g(given)g(an)180 1460 y(appr)o(opriate)19 +b(netlist)i(and)g(some)g(indications)h(on)f(pad)f(placement.)180 +1618 y(The)g(last)g(stage)g(of)h(the)f(physical)h(implementation)g(is)g +(the)f(translation)h(of)f(the)h(symbolic)g(layout)g(to)f(a)g(foundry) +180 1717 y(compliant)h(layout)f(using)i(the)e Fe(s2r)g +Fg(tool.)26 b(After)19 b(that,)h(the)h(tape)e(containing)j(the)e(cir)o +(cuit)g(can)g(be)g(pr)o(ocessed)f(by)180 1817 y(the)i(silicon)h +(supplier)-6 b(.)180 2113 y Fd(2.4)99 b(V)-11 b(eri\002cation)180 +2329 y Fg(In)17 b(our)g Ff(VLSI)f Fg(class,)h(we)g(intend)g(to)h(show)g +(that)e Ff(VLSI)g Fg(veri\002cation)h(is)g(at)g(least)f(as)h(important) +g(as)g Ff(VLSI)f Fg(physical)180 2428 y(design.)25 b(For)19 +b(that)g(r)o(eason,)f(we)h(have)f(intr)o(oduced)h(in)g(the)g(design)g +(\003ow)h(powerful)e(tools)i(to)f(perform)g(behavior)-6 +b(,)180 2528 y(netlist)21 b(and)g(layout)g(veri\002cations.)180 +2685 y(The)g(corr)o(ectness)f(of)h(the)g(design)g(r)o(ules)g(is)g +(checked)f(using)i(the)f(design)g(r)o(ule)g(checker)f +Fe(druc)p Fg(.)180 2843 y(An)h(extracted)f(netlist)i(can)g(be)f +(obtained)g(fr)o(om)g(the)h(r)o(esulting)f(layout.)28 +b Fe(Lynx)p Fg(,)21 b(the)g(layout)h(extractor)f(operates)180 +2942 y(on)k(both)f(hierar)o(chical)f(and)g(\003attened)h(layout)g(and)g +(can)f(output)i(both)f(\003attened)g(netlists)h(\(transistor)f +(netlist\))180 3042 y(and)d(hierar)o(chical)g(netlists.)29 +b(The)22 b(transistor)g(netlist)h(is)f(the)g(input)g(of)g(the)g +Fe(yagle)f Fg(functional)h(abstractor)-6 b(.)28 b Fe(Ya-)180 +3141 y(gle)f Fg(pr)o(ovides)g(a)g Ff(VHDL)g Fg(data-\003ow)g +(behavioral)g(description,)i(identical)e(to)h(the)f(one)h(that)g(feeds) +e Fe(asimut)p Fg(,)180 3241 y(fr)o(om)20 b(the)g(transistor)h(netlist)g +(of)g(a)e(cir)o(cuit.)25 b(The)c(r)o(esulting)f(behavior)g(can)g(be)g +(compar)o(ed)f(to)i(the)f(initial)h(speci\002-)180 3341 +y(cations)h(using)h(either)f Fe(asimut)f Fg(with)i(the)f(functionnal)h +(vectors)f(used)g(for)f(the)i(validation)e(of)h(the)h(behavioral)180 +3440 y(speci\002cation,)e(or)g(formally)g(pr)o(oved)e(equivalent,)i +(thanks)g(to)g(the)g(formal)g(pr)o(oof)f(analyzer)g Fe(proof)p +Fg(.)180 3597 y(When)31 b(extracted)d(hierar)o(chically)-9 +b(,)31 b(the)f(r)o(esulting)h(netlist)g(can)e(be)h(compar)o(ed)f(with)i +(the)f(original)h(netlist)g(by)180 3697 y(using)j(the)f +Fe(lvx)g Fg(tool.)63 b Fe(Lvx)p Fg(,)35 b(that)e(stands)g(for)g +(Logical)g(V)-9 b(ersus)33 b(Extracted,)h(is)f(a)g(netlist)h +(comparator)e(that)180 3797 y(matches)21 b(every)f(design)h(object)g +(found)g(in)g(both)h(netlists.)180 3954 y(The)c(critical)g(path)h(of)f +(the)h(cir)o(cuit,)f(and)g(an)g(estimate)h(of)f(its)h(delay)-9 +b(,)18 b(can)g(be)g(obtained)g(using)i(the)e(static)h(timming)180 +4054 y(analyzer)g Fe(tas)p Fg(.)180 4350 y Fd(2.5)99 +b(T)-11 b(est)26 b(and)e(coverage)i(evaluation)180 4565 +y Fg(For)h(now)-8 b(,)29 b(the)d(fault)g(coverage)f(pr)o(ovided)h(by)g +(the)h(functional)g(patterns)f(is)g(evaluated)f(using)j(a)d(commer)o +(cial)180 4665 y(fault)20 b(simulator)-6 b(,)21 b(as)g +Ff(Alliance)d Fg(doesn't)j(pr)o(ovide)f(one)h(yet.)180 +5004 y Fn(3)119 b(T)-13 b(ools)31 b(and)e(layout)i(libraries)d(of)h +(the)h(Alliance)f(package)180 5251 y Fg(Every)h Ff(Alliance)f +Fg(tool)j(has)f(been)g(designed)f(to)i(simply)g(interface)e(with)i +(each)e(other)-6 b(,)34 b(in)d(or)o(der)f(to)i(support)180 +5351 y(the)27 b(pr)o(oposed)f(design)h(\003ow)-8 b(.)44 +b(Nevertheless,)27 b(each)f(tool)i(can)e(also)h(be)f(used)g +(independently)-9 b(,)28 b(thanks)f(to)g(the)180 5450 +y(multiple)21 b(standar)o(d)e(formats)i(used)g(for)f(input)h(and)g +(output)g(\002les.)180 5608 y(One)33 b(of)f(the)g(most)h(important)g +(characteristics)e(of)h(the)h Ff(Alliance)c Fg(system)k(is)g(that)f(it) +g(pr)o(ovides)g(a)g(common)180 5707 y(internal)21 b(data)e(str)o(uctur) +o(e)i(to)g(r)o(epr)o(esent)e(the)i(thr)o(ee)f(basic)g(views)h(of)g(a)f +(chip:)1959 5956 y(4)p eop %%Page: 5 5 -5 4 bop 720 205 a +5 4 bop 1080 307 a 14208860 18329424 0 0 20326563 26378485 startTexFig - 720 205 a + 1080 307 a %%BeginDocument: tools.eps +%!PS-Adobe-2.0 EPSF-2.0 +%%Title: tools.fig +%%Creator: fig2dev Version 3.1 Patchlevel 1 +%%CreationDate: Wed Oct 4 17:18:21 1995 +%%For: fred@frevo (Frederic PETROT) +%%Orientation: Portrait +%%BoundingBox: 0 0 309 401 +%%Pages: 0 +%%BeginSetup +%%IncludeFeature: *PageSize A4 +%%EndSetup +%%EndComments /$F2psDict 200 dict def $F2psDict begin $F2psDict /mtrx matrix put @@ -706,6 +752,7 @@ save 4 -2 roll mul srgb} bind def /$F2psBegin {$F2psDict begin /$F2psEnteredState save def} def /$F2psEnd {$F2psEnteredState restore end} def +%%EndProlog $F2psBegin 10 setmiterlimit @@ -958,288 +1005,301 @@ gs 1 -1 sc (Physical) col-1 show gr gs 1 -1 sc (view) col-1 show gr $F2psEnd restore + %%EndDocument endTexFig - 624 1875 a Fg(Figur)o(e)13 b(1:)k(How)d(the)f(tools)i(ar)o(e)e(linked) -h(on)g(the)f(data)g(structur)o(es.)120 2056 y(One)21 -b(of)h(the)f(most)h(important)g(characteristics)e(of)i(the)g -Ff(Alliance)f Fg(system)h(is)g(that)f(it)h(pr)o(ovides)g(a)f(common)120 -2123 y(internal)14 b(data)f(structur)o(e)g(to)h(r)o(epr)o(esent)f(the)h -(thr)o(ee)f(basic)g(views)i(of)f(a)g(chip:)203 2278 y -Fc(\017)27 b Fg(the)14 b(behavioral)f(view)-5 b(,)203 -2388 y Fc(\017)27 b Fg(the)14 b(structural)g(view)-5 -b(,)203 2499 y Fc(\017)27 b Fg(the)14 b(physical)g(view)-5 -b(.)120 2654 y(Figur)o(e)16 b(1)g(details)h(how)g(all)g(the)f -Ff(Alliance)h Fg(tools)h(ar)o(e)e(linked)g(together)g(ar)o(ound)h(the)f -(basic)g(behavioral,)h(struc-)120 2720 y(tural)d(and)f(physical)h(data) -f(structur)o(es.)120 2831 y(The)k(pr)o(ocess)h(independence)e(goal)h -(is)i(achieved)d(with)i(a)f(thin)i(\002xed-grid)e(symbolic)g(layout)h -(appr)o(oach.)28 b(All)120 2897 y(the)16 b(library)e(of)j(the)e(system) -h(use)g(this)h(appr)o(oach)e(successfully)-6 b(.)24 b(Layouts)16 -b(have)f(been)g(tar)o(getted)f(to)i(ES2)f(2)p Fb(\026)p -Fg(m,)120 2964 y(1.5)p Fb(\026)p Fg(m,)c(1.2)p Fb(\026)p -Fg(m,)g(1.0)p Fb(\026)p Fg(m)f(and)g(0.7)p Fb(\026)p -Fg(m)h(technologies,)g(the)g(AMS)g(1.2)p Fb(\026)p Fg(m)g(technology)f -(and)h(SGS-Thomson)i(0.5)p Fb(\026)p Fg(m)120 3030 y(technology)-6 -b(.)21 b(Chips)16 b(have)f(been)f(fabricated)f(successfully)k(thr)o -(ough)f(the)f Ff(CMP)g Fg(services)g(on)h(these)e(technolo-)120 -3097 y(gies.)120 3303 y Fd(3.1)66 b(T)-7 b(ools)203 3430 -y Fc(\017)27 b Fe(asimut)d Fg(is)e(a)g Ff(VHDL)g Fg(logic)g(simulator)l -(.)41 b(The)22 b(supported)h Ff(VHDL)f Fg(subset)g(allows)h(both)f -(structural)258 3497 y(and)d(behavioral)g(data-\003ow)f(description)i -(\(without)g(timing)g(information\).)34 b(Complex)19 -b(systems)g(and)258 3563 y(micr)o(opr)o(ocessors,)g(including)e -Ff(INTEL)g Fg(8086)f(and)h Ff(MIPS)g Fg(R3000)f(have)g(been)h -(successfully)h(simulated)258 3630 y(with)13 b Fe(asimut)p -Fg(.)18 b Fe(Asimut)c Fg(is)f(based)f(on)h(an)g(event-driven)f -(algorithm)g(and)h(powerful)g(r)o(epr)o(esentation)f(of)258 -3696 y(boolean)i(functions)h(using)g(binary)e(decision)h(diagrams.)1306 -3971 y(5)p eop + 935 2812 a Fg(Figur)o(e)21 b(1:)k(How)c(the)g(tools)h(ar)o(e)d(linked) +i(on)h(the)f(data)e(str)o(uctur)o(es.)305 3084 y Fc(\017)41 +b Fg(the)20 b(behavioral)h(view)-8 b(,)305 3250 y Fc(\017)41 +b Fg(the)20 b(str)o(uctural)h(view)-8 b(,)305 3416 y +Fc(\017)41 b Fg(the)20 b(physical)h(view)-8 b(.)180 3649 +y(Figur)o(e)23 b Ff(??)f Fg(details)h(how)h(all)e(the)h +Ff(Alliance)e Fg(tools)j(ar)o(e)d(linked)i(together)h(ar)o(ound)e(the)h +(basic)f(behavioral,)h(str)o(uc-)180 3748 y(tural)d(and)h(physical)g +(data)e(str)o(uctur)o(es.)180 3915 y(The)26 b(pr)o(ocess)g +(independence)g(goal)h(is)g(achieved)e(with)i(a)f(thin)h(\002xed-grid)f +(symbolic)h(layout)g(appr)o(oach.)41 b(All)180 4014 y(the)24 +b(library)f(of)g(the)h(system)g(use)g(this)g(appr)o(oach)f +(successfully)-9 b(.)34 b(Layouts)23 b(have)h(been)f(tar)o(getted)f(to) +i(ES2)e(2)p Fb(\026)p Fg(m,)180 4114 y(1.5)p Fb(\026)p +Fg(m,)16 b(1.2)p Fb(\026)p Fg(m,)g(1.0)p Fb(\026)p Fg(m)g(and)g(0.7)p +Fb(\026)p Fg(m)f(technologies,)k(the)d(AMS)f(1.2)p Fb(\026)p +Fg(m)h(technology)i(and)e(SGS-Thomson)h(0.5)p Fb(\026)p +Fg(m)180 4213 y(technology)-9 b(.)33 b(Chips)23 b(have)f(been)h +(fabricated)e(successfully)i(thr)o(ough)g(the)g Ff(CMP)f +Fg(services)h(on)g(these)g(technolo-)180 4313 y(gies.)180 +4622 y Fd(3.1)99 b(T)-11 b(ools)305 4813 y Fc(\017)41 +b Fe(asimut)31 b Fg(is)j(a)e Ff(VHDL)h Fg(logic)g(simulator)-6 +b(.)63 b(The)33 b(supported)f Ff(VHDL)h Fg(subset)g(allows)h(both)f +(str)o(uctural)388 4913 y(and)28 b(behavioral)g(data-\003ow)g +(description)h(\(without)g(timing)h(information\).)50 +b(Complex)29 b(systems)g(and)388 5013 y(micr)o(opr)o(ocessors,)d +(including)h Ff(INTEL)f Fg(8086)e(and)i Ff(MIPS)f Fg(R3000)g(have)g +(been)h(successfully)g(simulated)388 5112 y(with)19 b +Fe(asimut)p Fg(.)24 b Fe(Asimut)18 b Fg(is)h(based)f(on)i(an)e +(event-driven)g(algorithm)i(and)f(powerful)f(r)o(epr)o(esentation)g(of) +388 5212 y(boolean)j(functions)g(using)h(binary)f(decision)g(diagrams.) +305 5378 y Fc(\017)41 b Fe(genpat)22 b Fg(is)h(a)g(language)f(interpr)o +(eter)g(dedicated)f(to)j(ef)o(\002cient)e(descriptions)i(of)f +(simulation)h(stimuli.)34 b(It)388 5478 y(generates)25 +b(an)i Ff(ASCII)f Fg(\002le)h(that)f(can)h(act)f(as)g(an)g(input)h(of)g +Fe(asimut)p Fg(.)41 b(A)26 b Fe(genpat)g Fg(\002le)h(format)f(to)h +Ff(MSA)388 5577 y Fg(translator)f(allows)h(the)f(generation)h(of)g +(appr)o(opriate)d(simulation)k(patterns)e(for)g(the)h(T)-8 +b(ektr)o(onix)26 b(L)-8 b(V500)388 5677 y(tester)i(.)24 +b(This)c(allows)f(to)h(perform)f(functional)g(tests)h(when)f(the)h(cir) +o(cuits)e(comes)i(back)e(fr)o(om)h(the)g(foundry)-9 b(.)1959 +5956 y(5)p eop %%Page: 6 6 -6 5 bop 203 260 a Fc(\017)27 b Fe(genpat)17 b Fg(is)f(a)f(language)g -(interpr)o(eter)f(dedicated)f(to)j(ef)o(\002cient)f(descriptions)h(of)g -(simulation)h(stimuli.)22 b(It)258 327 y(generates)17 -b(an)g Ff(ASCII)g Fg(\002le)h(that)f(can)g(act)g(as)h(an)g(input)g(of)h -Fe(asimut)p Fg(.)30 b(A)17 b Fe(genpat)i Fg(\002le)f(format)g(to)g -Ff(MSA)258 393 y Fg(translator)g(allows)h(the)e(generation)g(of)h(appr) -o(opriate)f(simulation)i(patterns)f(for)g(the)g(T)-5 -b(ektr)o(onix)16 b(L)-5 b(V500)258 459 y(tester)l(.)16 -b(This)e(allows)f(to)g(perform)g(functional)h(tests)f(when)g(the)f(cir) -o(cuits)h(comes)g(back)e(fr)o(om)i(the)g(foundry)-6 b(.)203 -561 y Fc(\017)27 b Fe(bop)19 b Fg(is)g(a)f(logic)g(optimizer)g(and)g -(logic)g(synthesis)i(tool.)31 b(The)18 b(input)h(\002le)f(is)h(a)f -(behavioral)g(description)258 628 y(of)j(the)g(cir)o(cuit)f(using)h -(the)f(same)g Ff(VHDL)h Fg(subset)g(as)f(the)h(logic)f(simulator)l(.)37 -b(The)20 b(boolean)g(equations)258 694 y(described)g(in)i -Ff(VHDL)f Fg(ar)o(e)f(optimized)h(so)h(to)g(minimize)e(the)h(number)g -(of)h(boolean)f(operators.)39 b(The)258 761 y(output)16 -b(is)e(a)f(new)-5 b(,)14 b(optimized,)f(data)g(\003ow)h(description.) -203 863 y Fc(\017)27 b Fe(scmap)17 b Fg(is)g(a)f(logic)f(synthesis)j -(tool.)23 b(The)16 b(output)h(is)g(a)f(netlist)g(of)h(gates.)22 -b Fe(scmap)17 b Fg(can)f(map)g(a)f(data-\003ow)258 929 -y(description)d(on)h(any)e(standar)o(d-cell)g(library)-6 -b(,)11 b(as)h(long)h(as)f(a)f Ff(VHDL)h Fg(data-\003ow)g(description)g -(is)g(pr)o(ovided)258 996 y(with)j(each)e(cell.)203 1098 -y Fc(\017)27 b Fe(c4map)16 b Fg(is)g(a)e(logic)h(synthesis)h(tool.)21 -b(It)15 b(has)g(the)g(same)f(functionnality)i(than)f -Fe(scmap)p Fg(,)h(but)f(runs)h(without)258 1164 y(a)e(pr)o(ede\002ned)f -(standar)o(d-cell)g(library)-6 b(,)12 b(thanks)j(to)f(an)f(internal)h -(cell)f(compiler)l(.)203 1266 y Fc(\017)27 b Fe(syf)16 -b Fg(is)g(a)f(\002nite)h(state)f(machine)f(synthesizer)l(.)22 -b(Mor)o(e)15 b(pr)o(ecisely)-6 b(,)14 b Fe(syf)i Fg(assigns)h(values)f -(to)f(the)g(symbolic)258 1333 y(states)e(used)f(for)g(the)g(automaton)h -(description,)f(and)g(aims)g(at)g(minimizing)g(the)g(r)o(esulting)g -(logic)g(for)h(both)258 1399 y(state)19 b(transistion)i(and)e(output)h -(generation.)33 b(The)19 b(input)h(is)g(a)f Fe(fsm)g -Fg(description,)i(using)f(a)f(dedicated)258 1465 y(subset)d(of)g -Ff(VHDL)f Fg(that)g(includes)g(pr)o(ocess)h(description.)21 -b(The)15 b(output)h(is)g(a)f(behavioral)f(description)h(of)258 -1532 y(the)j(cir)o(cuit)g(using)i(the)e(same)g Ff(VHDL)g -Fg(subset)h(as)f(the)h(logic)f(simulator)l(.)31 b(The)18 -b(output)h(of)g Fe(syf)g Fg(is)g(to)g(be)258 1598 y(synthesized)14 -b(into)g(a)g(netlsit)g(of)h(gates)e(using)i Fe(scmap)p -Fg(.)203 1700 y Fc(\017)27 b Fe(glop)13 b Fg(is)f(a)f(gate)g(level)g -(netlist)h(optimizer)l(.)k(If)c(the)f(output)i(of)g(the)e(logic)h -(synthesis)h(takes)e(into)h(account)f(the)258 1767 y(internal)i(delays) -g(of)g(the)g(cells)g(during)h(the)e(mapping)i(phase,)f(it)g(doesn't)h -(take)e(into)i(account)f(the)g(fan-out)258 1833 y(pr)o(oblems.)20 -b Fe(Netoptim)d Fg(work)e(is)g(to)h(ensur)o(e)e(that)h(the)g(drive)g -(capabilities)f(of)h(all)g(cells)g(ar)o(e)f(corr)o(ect,)f(and)258 -1900 y(to)h(try)g(to)g(minimize)f(the)h(delays)f(on)h(the)g(critical)f -(pathes)h(in)g(inserting)g(buf)o(fers)h(wher)o(e)e(appr)o(opriate.)203 -2002 y Fc(\017)27 b Fe(genlib)19 b Fg(is)f(a)g(pr)o(ocedural)e -(language)h(for)h(netlist)g(captur)o(e)f(and)g(placement)g(description) -g(\(ther)o(e)g(is)i(no)258 2068 y(schematic)d(editor)g(in)h(the)f -Ff(Alliance)h Fg(system\).)25 b Fe(Genlib)18 b Fg(pr)o(ovides)f(a)f -(consistent)h(set)g(of)g Ff(C)g Fg(primitives,)258 2135 -y(giving)e(the)f(designers)g(the)g(ability)f(to)i(describe)d -Ff(VLSI)i Fg(cir)o(cuit)g(netlists)h(in)f(terms)g(of)h(terminals,)f -(signals)258 2201 y(and)22 b(instances,)i(or)d(cir)o(cuit)h(topologies) -g(in)h(terms)e(of)h(placement)f(of)h(abutment)f(boxes.)40 -b Fe(Genlib)23 b Fg(is)258 2267 y(mainly)14 b(used)g(to)g(build)g -(parameterized)d(netlist)j(and)g(layout)g(generators.)203 -2369 y Fc(\017)27 b Fe(genview)17 b Fg(is)f(a)g(debugging)e(tool)i(for) -g(the)f(development)g(of)h(the)g(layout)f(view)h(of)g(parameterized)d -(gen-)258 2436 y(erators.)36 b(It)20 b(is)h(a)f(graphical)g(envir)o -(onment)g(that)g(integrates)g(a)g Fe(genlib)h Fg(interpr)o(eter)l(,)g -(a)e(step)i(by)f(step)258 2502 y(debugger)l(,)e(and)h(a)f(window)h(in)g -(the)g(which)f(the)h(cir)o(cuit)f(under)h(construction)g(is)g -(visualized.)31 b(All)19 b(the)258 2569 y(parameterized)13 -b(generators)h(of)i Ff(Alliance)f Fg(have)f(been)g(developed)g(using)i -(this)g(tool.)21 b(Part)15 b(of)h(the)f Fj(ROM)258 2635 -y Fg(generator)c Fe(grog)j Fg(under)e(construction)g(is)h(shown)h -(\002gur)o(e)e Ff(??)o Fg(.)17 b Fe(Genview)d Fg(uses)f(the)f(GNU)h -Fe(gcc)f Fg(compiler)258 2702 y(parameterized)g(for)i(a)f(virtual)i(ar) -o(chitectur)o(e)d(as)i(basis)g(to)g(its)h Fe(genlib)g -Fg(interpr)o(eter)l(.)203 2804 y Fc(\017)27 b Fe(fpgen)19 -b Fg(is)g(a)f(language)f(that)h(has)g(mor)o(eorless)g(the)g(same)f -(functionalities)i(as)g Fe(genlib)p Fg(,)h(but)e(it)g(is)g(ded-)258 -2870 y(icated)g(to)g(datapath)g(description.)31 b(Its)18 -b(primary)g(dif)o(fer)o(ence)g(with)h Fe(genlib)g Fg(is)g(that)g(it)f -(allows)h(to)g(ma-)258 2936 y(nipulate)f(vectors)f(of)g(cells,)h(like)e -(32)h(two)g(inputs)i Fe(nand)f Fg(gates)e(or)h(a)g(32)g(bits)g(adder)l -(.)25 b(It)17 b(contains)g(many)258 3003 y(primitives)e(that)f(gr)o -(eatly)e(simplify)j(the)f(description)g(of)g(operative)g(parts,)g(in)g -(an)f(optimized)h(manner)l(.)203 3105 y Fc(\017)27 b -Fe(scr)15 b Fg(is)g(a)f(place)f(and)h(r)o(oute)g(tool)h(for)g(standar)o -(d-cells.)i(The)d(placement)f(system)h(is)h(based)e(on)i(simulated)258 -3171 y(annealing.)i(The)12 b(channel)h(r)o(outer)f(is)i(an)f -(adaptation)f(of)i(the)f(gr)o(eedy)e(r)o(outer)i(of)g(Rivest-Fidducia.) -k(Feed-)258 3238 y(thr)o(oughs)h(and)f(power)f(r)o(outing)i(wir)o(es)f -(ar)o(e)e(automatically)h(inserted)h(wher)o(e)f(needed.)24 -b(The)16 b(input)i(is)f(a)258 3304 y(netlist)i(of)f(gates.)29 -b(The)18 b(output)h(is)f(either)f(an)h(hierar)o(chical)f(\(channels)h -(ar)o(e)f(instanciated\))h(or)g(\003attened)258 3371 -y(\(channels)f(ar)o(e)f(inserted\))h(chip)g(cor)o(e)e(layout)i(without) -h(external)d(pads.)26 b(A)17 b(specialized)e(r)o(outer)i(is)g(used)258 -3437 y(for)e(cor)o(e)e(to)h(pad)f(r)o(outing.)203 3539 -y Fc(\017)27 b Fe(Dpr)12 b Fg(is)g(a)e(place)h(and)f(r)o(oute)h(tool)h -(for)g(bit)e(slice)h(oriented)g(datapath.)k(It)c(privilegies)g(the)g -(dir)o(ect)f(connexions)258 3606 y(between)18 b(cells,)i(and)f(allows)h -(to)f(used)h(optimized)f(blocks,)h(like)e(a)h(fast)h(multiplier)g(or)f -(a)g(r)o(egister)f(\002le,)258 3672 y(within)c(the)f(datapath.)j(Most)f -(parameterized)10 b(generators)i(available)g(in)i Ff(Alliance)f -Fg(follow)h(the)f(bit-slice)258 3738 y(structur)o(e)i(of)g(this)h -(datapath)e(compiler)l(.)19 b(This)d(tool)f(allows)h(to)f(mix)f(some)h -(glue)g(logic)f(dir)o(ectly)g(within)h(a)258 3805 y(datapath.)i(This)d -(functionnality)h(doesn't)g(exist)e(in)h(commer)o(cial)f(tools.)1306 -3971 y(6)p eop +6 5 bop 305 390 a Fc(\017)41 b Fe(bop)26 b Fg(is)i(a)f(logic)h +(optimizer)g(and)f(logic)h(synthesis)h(tool.)46 b(The)28 +b(input)g(\002le)f(is)h(a)f(behavioral)g(description)388 +490 y(of)j(the)h(cir)o(cuit)f(using)i(the)f(same)f Ff(VHDL)g +Fg(subset)h(as)g(the)f(logic)i(simulator)-6 b(.)55 b(The)31 +b(boolean)g(equations)388 589 y(described)f(in)j Ff(VHDL)e +Fg(ar)o(e)g(optimized)h(so)g(to)g(minimize)h(the)f(number)g(of)g +(boolean)g(operators.)59 b(The)388 689 y(output)21 b(is)g(a)f(new)-8 +b(,)21 b(optimized,)g(data)e(\003ow)j(description.)305 +852 y Fc(\017)41 b Fe(scmap)23 b Fg(is)h(a)f(logic)i(synthesis)g(tool.) +36 b(The)24 b(output)h(is)f(a)f(netlist)i(of)f(gates.)35 +b Fe(scmap)23 b Fg(can)g(map)h(a)f(data-\003ow)388 952 +y(description)18 b(on)g(any)g(standar)o(d-cell)e(library)-9 +b(,)17 b(as)h(long)g(as)g(a)f Ff(VHDL)h Fg(data-\003ow)f(description)h +(is)g(pr)o(ovided)388 1051 y(with)j(each)f(cell.)305 +1214 y Fc(\017)41 b Fe(c4map)21 b Fg(is)i(a)f(logic)h(synthesis)h +(tool.)31 b(It)22 b(has)h(the)f(same)g(functionnality)i(than)f +Fe(scmap)p Fg(,)e(but)i(r)o(uns)g(without)388 1314 y(a)d(pr)o +(ede\002ned)f(standar)o(d-cell)g(library)-9 b(,)20 b(thanks)h(to)g(an)g +(internal)f(cell)h(compiler)-6 b(.)305 1477 y Fc(\017)41 +b Fe(syf)22 b Fg(is)h(a)g(\002nite)g(state)g(machine)g(synthesizer)-6 +b(.)32 b(Mor)o(e)22 b(pr)o(ecisely)-9 b(,)23 b Fe(syf)f +Fg(assigns)i(values)e(to)i(the)f(symbolic)388 1577 y(states)17 +b(used)h(for)g(the)h(automaton)f(description,)h(and)e(aims)i(at)e +(minimizing)j(the)e(r)o(esulting)h(logic)f(for)g(both)388 +1676 y(state)28 b(transistion)i(and)e(output)i(generation.)50 +b(The)28 b(input)i(is)f(a)f Fe(fsm)h Fg(description,)i(using)e(a)g +(dedicated)388 1776 y(subset)22 b(of)h Ff(VHDL)f Fg(that)h(includes)g +(pr)o(ocess)f(description.)32 b(The)23 b(output)g(is)g(a)f(behavioral)g +(description)h(of)388 1876 y(the)k(cir)o(cuit)g(using)i(the)e(same)h +Ff(VHDL)f Fg(subset)g(as)h(the)f(logic)h(simulator)-6 +b(.)47 b(The)27 b(output)h(of)g Fe(syf)f Fg(is)g(to)h(be)388 +1975 y(synthesized)21 b(into)g(a)f(netlsit)i(of)f(gates)f(using)i +Fe(scmap)p Fg(.)305 2138 y Fc(\017)41 b Fe(glop)16 b +Fg(is)i(a)f(gate)g(level)g(netlist)i(optimizer)-6 b(.)24 +b(If)17 b(the)h(output)g(of)f(the)h(logic)g(synthesis)h(takes)e(into)h +(account)g(the)388 2238 y(internal)h(delays)h(of)f(the)h(cells)g +(during)g(the)g(mapping)g(phase,)f(it)h(doesn't)g(take)f(into)i +(account)f(the)f(fan-out)388 2338 y(pr)o(oblems.)30 b +Fe(Netoptim)21 b Fg(work)h(is)h(to)g(ensur)o(e)f(that)g(the)h(drive)e +(capabilities)h(of)g(all)h(cells)f(ar)o(e)f(corr)o(ect,)g(and)388 +2437 y(to)g(try)f(to)i(minimize)f(the)g(delays)f(on)i(the)f(critical)f +(pathes)g(in)i(inserting)f(buf)o(fers)f(wher)o(e)g(appr)o(opriate.)305 +2600 y Fc(\017)41 b Fe(genlib)25 b Fg(is)h(a)g(pr)o(ocedural)f +(language)h(for)g(netlist)h(captur)o(e)e(and)h(placement)g(description) +g(\(ther)o(e)g(is)g(no)388 2700 y(schematic)e(editor)h(in)g(the)g +Ff(Alliance)d Fg(system\).)38 b Fe(Genlib)23 b Fg(pr)o(ovides)h(a)h +(consistent)h(set)e(of)h Ff(C)g Fg(primitives,)388 2800 +y(giving)d(the)f(designers)h(the)f(ability)g(to)h(describe)f +Ff(VLSI)f Fg(cir)o(cuit)h(netlists)h(in)g(terms)g(of)f(terminals,)g +(signals)388 2899 y(and)32 b(instances,)j(or)e(cir)o(cuit)f(topologies) +i(in)f(terms)g(of)g(placement)f(of)g(abutment)h(boxes.)61 +b Fe(Genlib)32 b Fg(is)388 2999 y(mainly)21 b(used)f(to)i(build)e +(parameterized)f(netlist)i(and)f(layout)i(generators.)305 +3162 y Fc(\017)41 b Fe(genview)22 b Fg(is)h(a)g(debugging)h(tool)g(for) +f(the)g(development)g(of)h(the)f(layout)h(view)f(of)g(parameterized)e +(gen-)388 3262 y(erators.)53 b(It)31 b(is)g(a)f(graphical)f(envir)o +(onment)i(that)g(integrates)f(a)g Fe(genlib)f Fg(interpr)o(eter)-6 +b(,)31 b(a)f(step)h(by)f(step)388 3361 y(debugger)-6 +b(,)28 b(and)g(a)f(window)i(in)g(the)f(which)h(the)f(cir)o(cuit)f +(under)h(constr)o(uction)h(is)g(visualized.)46 b(All)28 +b(the)388 3461 y(parameterized)20 b(generators)i(of)g +Ff(Alliance)e Fg(have)i(been)g(developed)g(using)h(this)h(tool.)31 +b(Part)22 b(of)h(the)g Fj(ROM)388 3560 y Fg(generator)18 +b Fe(grog)f Fg(under)h(constr)o(uction)j(is)d(shown)i(\002gur)o(e)e +Ff(??)p Fg(.)25 b Fe(Genview)17 b Fg(uses)i(the)f(GNU)h +Fe(gcc)f Fg(compiler)388 3660 y(parameterized)g(for)i(a)h(virtual)f(ar) +o(chitectur)o(e)f(as)h(basis)h(to)g(its)g Fe(genlib)f +Fg(interpr)o(eter)-6 b(.)305 3823 y Fc(\017)41 b Fe(fpgen)17 +b Fg(is)i(a)f(language)g(that)g(has)h(mor)o(eorless)f(the)h(same)f +(functionalities)h(as)f Fe(genlib)p Fg(,)g(but)g(it)h(is)g(dedicat-)388 +3923 y(ed)e(to)h(datapath)f(description.)25 b(Its)18 +b(primary)f(dif)o(fer)o(ence)f(with)i Fe(genlib)f Fg(is)h(that)g(it)g +(allows)h(to)f(manipulate)388 4022 y(vectors)j(of)h(cells,)g(like)g(32) +f(two)h(inputs)h Fe(nand)e Fg(gates)h(or)g(a)f(32)g(bits)h(adder)-6 +b(.)27 b(It)22 b(contains)g(many)h(primitives)388 4122 +y(that)d(gr)o(eatly)g(simplify)i(the)e(description)i(of)e(operative)g +(parts,)g(in)h(an)g(optimized)g(manner)-6 b(.)305 4285 +y Fc(\017)41 b Fe(scr)20 b Fg(is)i(a)f(place)f(and)h(r)o(oute)g(tool)h +(for)f(standar)o(d-cells.)k(The)c(placement)g(system)h(is)g(based)e(on) +i(simulated)388 4385 y(annealing.)j(The)19 b(channel)h(r)o(outer)f(is)g +(an)h(adaptation)e(of)h(the)h(gr)o(eedy)e(r)o(outer)h(of)g +(Rivest-Fidducia.)25 b(Feed-)388 4484 y(thr)o(oughs)g(and)g(power)g(r)o +(outing)h(wir)o(es)f(ar)o(e)e(automatically)i(inserted)g(wher)o(e)g +(needed.)37 b(The)25 b(input)h(is)f(a)388 4584 y(netlist)i(of)g(gates.) +43 b(The)27 b(output)h(is)f(either)g(an)f(hierar)o(chical)g(\(channels) +h(ar)o(e)e(instanciated\))h(or)h(\003attened)388 4684 +y(\(channels)e(ar)o(e)e(inserted\))i(chip)g(cor)o(e)f(layout)h(without) +i(external)d(pads.)37 b(A)25 b(specialized)f(r)o(outer)g(is)h(used)388 +4783 y(for)20 b(cor)o(e)g(to)h(pad)f(r)o(outing.)305 +4946 y Fc(\017)41 b Fe(Dpr)16 b Fg(is)h(a)f(place)f(and)i(r)o(oute)f +(tool)h(for)f(bit)h(slice)g(oriented)f(datapath.)23 b(It)17 +b(privilegies)f(the)h(dir)o(ect)f(connexions)388 5046 +y(between)28 b(cells,)j(and)d(allows)i(to)f(used)f(optimized)h(blocks,) +i(like)e(a)f(fast)h(multiplier)g(or)g(a)f(r)o(egister)g(\002le,)388 +5146 y(within)20 b(the)g(datapath.)k(Most)c(parameterized)d(generators) +i(available)g(in)h Ff(Alliance)d Fg(follow)j(the)g(bit-slice)388 +5245 y(str)o(uctur)o(e)h(of)h(this)h(datapath)e(compiler)-6 +b(.)30 b(This)23 b(tool)g(allows)g(to)f(mix)h(some)f(glue)h(logic)g +(dir)o(ectly)e(within)i(a)388 5345 y(datapath.)h(This)d(functionnality) +h(doesn't)f(exist)g(in)g(commer)o(cial)f(tools.)305 5508 +y Fc(\017)41 b Fe(bbr)30 b Fg(is)i(a)f(gridless)h(channel)f(r)o(outer)g +(that)g(allows)h(to)g(r)o(oute)f(together)g(two)h(blocks)g(having)g +(dif)o(fer)o(ent)388 5608 y(topologies.)26 b(For)21 b(example)e(the)h +(contr)o(ol)h(part)e(of)h(a)g(micr)o(opr)o(ocessor)g(r)o(ealized)e(in)i +(standar)o(d)f(cell,)h(and)g(its)388 5707 y(operative)g(part)g(done)g +(as)h(a)f(datapath.)k Fe(Bbr)c Fg(is)i(pr)o(etty)e(tricky)-9 +b(,)20 b(and)g(should)i(be)e(used)h(with)g(car)o(e.)1959 +5956 y(6)p eop %%Page: 7 7 -7 6 bop 203 260 a Fc(\017)27 b Fe(bbr)22 b Fg(is)f(a)g(gridless)g -(channel)f(r)o(outer)h(that)g(allows)h(to)f(r)o(oute)g(together)f(two)h -(blocks)g(having)g(dif)o(fer)o(ent)258 327 y(topologies.)d(For)13 -b(example)f(the)i(contr)o(ol)f(part)g(of)i(a)e(micr)o(opr)o(ocessor)g -(r)o(ealized)f(in)i(standar)o(d)f(cell,)f(and)h(its)258 -393 y(operative)h(part)f(done)h(as)g(a)f(datapath.)k -Fe(Bbr)d Fg(is)h(pr)o(etty)e(tricky)-6 b(,)13 b(and)g(should)i(be)e -(used)h(with)h(car)o(e.)203 500 y Fc(\017)27 b Fe(Ring)18 -b Fg(is)g(a)f(speci\002c)g(r)o(outer)g(dedicated)e(to)i(the)g(\002nal)g -(r)o(outing)h(of)g(chip)f(cor)o(e)f(and)h(input/output)i(pads.)258 -567 y Fe(Ring)j Fg(takes)e(into)h(account)f(the)g(various)h(pr)o -(oblems)g(of)g(pad)f(placement)f(optimization,)k(power)d(and)258 -633 y(gr)o(ound)14 b(distribution.)k(A)c(set)g(of)h(symbolic)e(pads)h -(is)h(included)e(in)h(the)g(package.)203 740 y Fc(\017)27 -b Fe(S2r)15 b Fg(is)f(the)g(ultimate)g(tool)g(used)g(in)h(our)f(design) -g(\003ow)g(to)g(perform)g(pr)o(ocess)g(mapping.)j Fe(S2r)e -Fg(stands)f(for)258 807 y("symbolic)k(to)g(r)o(eal",)g(and)g -(translates)g(the)g(hierar)o(chical)f(symbolic)g(layout)i(description)f -(into)h(physical)258 873 y(layout)f(r)o(equir)o(ed)e(by)g(a)h(given)g -(silicon)h(supplier)l(.)27 b(The)17 b(translation)h(pr)o(ocess)f -(involves)i(complex)d(oper)o(-)258 939 y(ations)i(such)f(as)g -(denotching,)g(oversizing,)h(gap-\002lling)f(and)g(layer)f(adaptation.) -25 b(Output)18 b(formats)f(ar)o(e)258 1006 y(either)h -Ff(CIF)g Fg(or)h Ff(GDSII)p Fg(.)e Fe(S2r)i Fg(r)o(equir)o(es)g(a)f -(parameter)f(\002le)h(for)h(each)f(technology)g(aimed)g(at.)31 -b(This)19 b(\002le)258 1072 y(is)d(shar)o(ed)f(with)h -Fe(druc)p Fg(,)g Fe(lynx)p Fg(,)g Fe(graal)p Fg(,)h Fe(dreal)f -Fg(and)f Fe(genview)p Fg(.)23 b(Fr)o(om)15 b(an)g(implementation)g -(point)h(of)258 1139 y(view)-5 b(,)14 b(these)g(tools)g(use)h(a)e -(bin-based)g(data-structur)o(e)h(that)f(has)i(very)e(good)h -(performances.)203 1246 y Fc(\017)27 b Fe(druc)20 b Fg(is)g(a)e(design) -h(rule)g(checker)l(.)30 b(The)19 b(input)h(\002le)f(is)g(a)g(-)g -(possibly)h(hierar)o(chical)e(-)h(symbolic)g(layout.)258 -1312 y(It)i(checks)f(that)h(a)g(layout)h(is)f(corr)o(ect)f(r)o(egar)o -(ding)g(the)h(set)g(of)h(symbolic)e(design)h(rules.)39 -b(This)22 b(corr)o(ect-)258 1379 y(ness)15 b(must)h(be)d(ensur)o(ed)h -(in)h(or)o(der)e(for)i Fe(s2r)g Fg(to)g(pr)o(oduce)f(a)g(layout)h -(compatible)e(with)i(the)f(tar)o(get)f(silicon)258 1445 -y(foundry)-6 b(.)203 1552 y Fc(\017)27 b Fe(Lynx)18 b -Fg(is)f(a)f(layout)h(extractor)l(.)23 b(The)16 b(input)h(is)g(a)g(-)g -(possibly)g(hierar)o(chical)e(-)i(layout.)25 b(The)16 -b(layout)h(can)f(be)258 1619 y(either)j(symbolic)f(or)h(r)o(eal.)32 -b(The)19 b(output)h(is)f(an)g(extracted)e(netlist)i(with)h(parasitic)f -(capacitances.)30 b(The)258 1685 y(r)o(esulting)15 b(netlist)f(can)f -(either)g(be)g(hierar)o(chical)g(or)h(\003attened)e(\(transistor)j -(netlist\).)203 1792 y Fc(\017)27 b Fe(Lvx)20 b Fg(is)f(a)g(logical)f -(versus)i(extracted)c(net-compar)o(e)i(tool.)32 b(The)19 -b(r)o(esult)g(of)g(a)g(run)f(indicates)h(if)g(the)g(two)258 -1859 y(netlist)e(match)f(together)l(,)g(or)h(if)g(ther)o(e)e(ar)o(e)h -(dif)o(fer)o(ent.)24 b(Note)17 b(that)f Fe(lvx)h Fg(doesn't)g(work)g -(at)f(the)g(transistor)258 1925 y(level.)203 2033 y Fc(\017)27 -b Fe(yagle)15 b Fg(is)f(a)e(functional)j(asbtractor/disassembler)c(for) -j Ff(CMOS)f Fg(cir)o(cuits.)k(It)c(pr)o(ovides)h(a)f -Ff(VHDL)g Fg(Data-)258 2099 y(Flow)e(behavioral)f(description)h(fr)o -(om)g(the)g(transistor)g(netlist)g(of)h(a)e(cir)o(cuit,)h(by)f(\002rst) -i(extracting)d(a)h(pseudo-)258 2165 y(gate)19 b(netlist,)j(and)e -(second)g(translating)g(each)f(pseudo-gate)h(in)g(boolean)f(equations.) -36 b(The)20 b(input)h(\002le)258 2232 y(is)g(a)e(-)h(possibly)g -(extracted)e(-)i(\003attened)e(transistor)i(netlist.)35 -b(The)19 b(output)i(is)f(a)f(simulable)h(behavioral)258 -2298 y Ff(VHDL)h Fg(model)e(\(data-\003ow)h(without)i(timing)e -(informations\).)38 b Fe(Yagle)21 b Fg(can)e(be)g(distinguished)j(fr)o -(om)258 2365 y(commer)o(cial)e(CAD)h(abstractors)g(by)g(the)g(fact)g -(that)g(it)h(does)f(not)h(need)e(a)h(pr)o(ede\002ned)f(cell)h(library)f -(or)258 2431 y(transistor)h(patterns.)36 b(Furthermor)o(e,)20 -b(the)g(use)h(of)f(a)g(pur)o(ely)g(algorithmic)f(appr)o(oach)h(compar)o -(ed)f(to)h(a)258 2497 y(pattern)14 b(matching)f(one)h(implies)g(a)g -(huge)f(gain)h(in)g(performance.)203 2605 y Fc(\017)27 -b Fe(tas)18 b Fg(is)f(a)g(static)g(timing)g(analyzer)l(.)24 -b(It)17 b(takes)f(as)i(input)f(a)g(transistor)h(netlist)f(and)g(pr)o -(oduces)g(a)g(\002le)g(con-)258 2671 y(taining)d(all)g(the)g -(combinatorial)f(paths)h(of)h(the)e(cir)o(cuit,)h(the)f(critical)g -(path)h(being)f(outlined.)203 2778 y Fc(\017)27 b Fe(proof)16 -b Fg(performs)g(a)e(formal)h(comparison)g(between)f(two)h(data)f -(\003ow)h Ff(VHDL)g Fg(descriptions)g(that)g(shar)o(e)258 -2845 y(the)e(same)f(r)o(egister)g(set.)17 b Fe(Proof)c -Fg(supports)i(the)e(same)f(subset)h(of)g Ff(VHDL)g Fg(as)g -Fe(asimut)p Fg(,)h Fe(bop)p Fg(,)g Fe(scmap)f Fg(and)258 -2911 y Fe(yagle)p Fg(.)203 3018 y Fc(\017)27 b Fe(graal)18 -b Fg(is)f(an)g(hierar)o(chical)e(symbolic)h(layout)h(editor)l(.)25 -b(It)17 b(r)o(equir)o(es)f(a)g(X-W)m(indow)i(graphical)e(envir)o(on-) -258 3085 y(ment)g(and)f(the)h(Motif)h(libraries.)22 b -Fe(Graal)17 b Fg(is)f(used)g(for)h(cell)e(layout)h(design)f(or)h -(hierar)o(chical)e(block)i(con-)258 3151 y(struction.)21 -b(It)15 b(pr)o(ovides)g(an)g(on-line)g Ff(DRC)g Fg(and)g(automatic)f -(display)i(of)f(equipotential)g(nets.)21 b(Editing)14 -b(a)258 3218 y(cell)g(under)f Fe(graal)i Fg(is)f(shown)i(\002gur)o(e)d -Ff(??)p Fg(.)203 3325 y Fc(\017)27 b Fe(L2p)15 b Fg(cr)o(eates)d(a)i -(Postscript)h(\002le)f(fr)o(om)g(a)g(layout,)g(symbolic)f(or)h(r)o -(eal.)120 3526 y Fd(3.2)66 b(Cell)17 b(libraries)120 -3672 y Fg(The)d Ff(Alliance)h Fg(package)d(pr)o(ovide)j(a)f(wide)g -(range)f(of)j(libraries,)d(either)h(static,)g(ie.)19 -b(\002xed)14 b(cells,)g(or)g(dynamic,)g(as)120 3738 y(the)i(block)g(is) -h(pr)o(oduced)f(by)g(running)h(a)f(parameterized)e(generator)l(.)23 -b(These)17 b(libraries)e(ar)o(e)h(compatible)f(with)120 -3805 y(any)e(two)i(metals/one)e(polysilicon)i(technology)-6 -b(.)1306 3971 y(7)p eop +7 6 bop 305 390 a Fc(\017)41 b Fe(Ring)24 b Fg(is)i(a)g(speci\002c)f(r) +o(outer)g(dedicated)f(to)i(the)g(\002nal)g(r)o(outing)g(of)f(chip)h +(cor)o(e)f(and)g(input/output)i(pads.)388 490 y Fe(Ring)i +Fg(takes)i(into)g(account)g(the)g(various)g(pr)o(oblems)f(of)h(pad)f +(placement)g(optimization,)k(power)c(and)388 589 y(gr)o(ound)20 +b(distribution.)27 b(A)20 b(set)h(of)g(symbolic)g(pads)f(is)i(included) +e(in)h(the)g(package.)305 756 y Fc(\017)41 b Fe(S2r)20 +b Fg(is)h(the)g(ultimate)g(tool)h(used)e(in)i(our)f(design)g(\003ow)h +(to)f(perform)g(pr)o(ocess)f(mapping.)26 b Fe(S2r)20 +b Fg(stands)h(for)388 855 y("symbolic)28 b(to)f(r)o(eal",)g(and)g +(translates)g(the)g(hierar)o(chical)f(symbolic)j(layout)e(description)h +(into)g(physical)388 955 y(layout)d(r)o(equir)o(ed)g(by)g(a)g(given)h +(silicon)h(supplier)-6 b(.)40 b(The)26 b(translation)g(pr)o(ocess)f +(involves)h(complex)g(oper)o(-)388 1054 y(ations)f(such)h(as)f +(denotching,)i(oversizing,)f(gap-\002lling)g(and)e(layer)h(adaptation.) +38 b(Output)25 b(formats)g(ar)o(e)388 1154 y(either)i +Ff(CIF)i Fg(or)e Ff(GDSII)p Fg(.)i Fe(S2r)e Fg(r)o(equir)o(es)g(a)g +(parameter)g(\002le)h(for)f(each)g(technology)j(aimed)d(at.)46 +b(This)29 b(\002le)388 1254 y(is)23 b(shar)o(ed)f(with)h +Fe(druc)p Fg(,)g Fe(lynx)p Fg(,)f Fe(graal)p Fg(,)g Fe(dreal)g +Fg(and)h Fe(genview)p Fg(.)31 b(Fr)o(om)23 b(an)f(implementation)i +(point)g(of)388 1353 y(view)-8 b(,)21 b(these)f(tools)i(use)f(a)f +(bin-based)g(data-str)o(uctur)o(e)f(that)i(has)f(very)h(good)g +(performances.)305 1519 y Fc(\017)41 b Fe(druc)27 b Fg(is)i(a)f(design) +h(r)o(ule)g(checker)-6 b(.)48 b(The)28 b(input)h(\002le)g(is)f(a)g(-)h +(possibly)g(hierar)o(chical)e(-)h(symbolic)i(layout.)388 +1619 y(It)h(checks)h(that)g(a)f(layout)h(is)g(corr)o(ect)f(r)o(egar)o +(ding)f(the)h(set)h(of)g(symbolic)h(design)f(r)o(ules.)58 +b(This)32 b(corr)o(ect-)388 1719 y(ness)22 b(must)g(be)f(ensur)o(ed)g +(in)h(or)o(der)e(for)i Fe(s2r)f Fg(to)g(pr)o(oduce)g(a)g(layout)h +(compatible)f(with)i(the)e(tar)o(get)g(silicon)388 1818 +y(foundry)-9 b(.)305 1984 y Fc(\017)41 b Fe(Lynx)24 b +Fg(is)h(a)f(layout)h(extractor)-6 b(.)36 b(The)25 b(input)g(is)g(a)f(-) +h(possibly)h(hierar)o(chical)d(-)h(layout.)38 b(The)25 +b(layout)g(can)f(be)388 2084 y(either)k(symbolic)h(or)g(r)o(eal.)47 +b(The)29 b(output)g(is)g(an)f(extracted)f(netlist)i(with)g(parasitic)f +(capacitances.)47 b(The)388 2183 y(r)o(esulting)21 b(netlist)g(can)f +(either)h(be)f(hierar)o(chical)g(or)h(\003attened)f(\(transistor)h +(netlist\).)305 2350 y Fc(\017)41 b Fe(Lvx)27 b Fg(is)i(a)e(logical)i +(versus)f(extracted)e(net-compar)o(e)h(tool.)49 b(The)28 +b(r)o(esult)g(of)g(a)g(r)o(un)g(indicates)g(if)g(the)g(two)388 +2449 y(netlist)d(match)g(together)-6 b(,)25 b(or)g(if)f(ther)o(e)g(ar)o +(e)g(dif)o(fer)o(ent.)35 b(Note)24 b(that)h Fe(lvx)f +Fg(doesn't)h(work)h(at)e(the)h(transistor)388 2549 y(level.)305 +2715 y Fc(\017)41 b Fe(yagle)19 b Fg(is)h(a)f(functional)i +(asbtractor/disassembler)e(for)g Ff(CMOS)h Fg(cir)o(cuits.)25 +b(It)20 b(pr)o(ovides)f(a)g Ff(VHDL)h Fg(Data-)388 2814 +y(Flow)c(behavioral)g(description)g(fr)o(om)g(the)g(transistor)g +(netlist)h(of)f(a)g(cir)o(cuit,)g(by)g(\002rst)g(extracting)g(a)f +(pseudo-)388 2914 y(gate)29 b(netlist,)k(and)c(second)h(translating)h +(each)e(pseudo-gate)g(in)h(boolean)h(equations.)54 b(The)29 +b(input)i(\002le)388 3014 y(is)e(a)g(-)g(possibly)i(extracted)c(-)i +(\003attened)g(transistor)h(netlist.)52 b(The)30 b(output)f(is)h(a)f +(simulable)h(behavioral)388 3113 y Ff(VHDL)f Fg(model)i(\(data-\003ow)e +(without)i(timing)h(informations\).)54 b Fe(Yagle)30 +b Fg(can)f(be)h(distinguished)h(fr)o(om)388 3213 y(commer)o(cial)g(CAD) +h(abstractors)f(by)h(the)g(fact)f(that)h(it)g(does)g(not)g(need)g(a)f +(pr)o(ede\002ned)g(cell)g(library)h(or)388 3313 y(transistor)e +(patterns.)53 b(Furthermor)o(e,)32 b(the)e(use)g(of)g(a)f(pur)o(ely)h +(algorithmic)h(appr)o(oach)d(compar)o(ed)h(to)h(a)388 +3412 y(pattern)20 b(matching)h(one)g(implies)h(a)e(huge)h(gain)g(in)g +(performance.)305 3578 y Fc(\017)41 b Fe(tas)24 b Fg(is)i(a)f(static)g +(timing)i(analyzer)-6 b(.)38 b(It)25 b(takes)g(as)g(input)h(a)f +(transistor)h(netlist)g(and)f(pr)o(oduces)f(a)h(\002le)h(con-)388 +3678 y(taining)21 b(all)g(the)f(combinatorial)i(paths)e(of)h(the)g(cir) +o(cuit,)f(the)h(critical)f(path)h(being)g(outlined.)305 +3844 y Fc(\017)41 b Fe(proof)21 b Fg(performs)h(a)g(formal)g +(comparison)h(between)f(two)h(data)e(\003ow)i Ff(VHDL)f +Fg(descriptions)h(that)f(shar)o(e)388 3944 y(the)d(same)g(r)o(egister)f +(set.)25 b Fe(Proof)18 b Fg(supports)i(the)f(same)g(subset)g(of)g +Ff(VHDL)g Fg(as)g Fe(asimut)p Fg(,)f Fe(bop)p Fg(,)g +Fe(scmap)g Fg(and)388 4043 y Fe(yagle)p Fg(.)305 4209 +y Fc(\017)41 b Fe(graal)24 b Fg(is)h(an)g(hierar)o(chical)f(symbolic)i +(layout)f(editor)-6 b(.)38 b(It)25 b(r)o(equir)o(es)f(a)h(X-W)-5 +b(indow)26 b(graphical)e(envir)o(on-)388 4309 y(ment)g(and)f(the)h +(Motif)f(libraries.)34 b Fe(Graal)23 b Fg(is)h(used)f(for)h(cell)f +(layout)h(design)g(or)g(hierar)o(chical)f(block)h(con-)388 +4408 y(str)o(uction.)31 b(It)22 b(pr)o(ovides)g(an)g(on-line)h +Ff(DRC)g Fg(and)e(automatic)i(display)f(of)g(equipotential)h(nets.)31 +b(Editing)22 b(a)388 4508 y(cell)e(under)h Fe(graal)f +Fg(is)h(shown)h(\002gur)o(e)e Ff(??)p Fg(.)305 4674 y +Fc(\017)41 b Fe(L2p)20 b Fg(cr)o(eates)f(a)h(Postscript)i(\002le)f(fr)o +(om)f(a)g(layout,)h(symbolic)h(or)f(r)o(eal.)180 4983 +y Fd(3.2)99 b(Cell)25 b(libraries)180 5208 y Fg(The)d +Ff(Alliance)c Fg(package)j(pr)o(ovide)g(a)g(wide)h(range)f(of)g +(libraries,)h(either)f(static,)h(ie.)28 b(\002xed)21 +b(cells,)h(or)g(dynamic,)f(as)180 5307 y(the)k(block)g(is)g(pr)o +(oduced)f(by)g(r)o(unning)j(a)d(parameterized)e(generator)-6 +b(.)37 b(These)25 b(libraries)f(ar)o(e)f(compatible)i(with)180 +5407 y(any)c(two)g(metals/one)h(polysilicon)g(technology)-9 +b(.)180 5573 y(Each)20 b(object)h(in)h(the)e(library)h(has,)f(for)h +(static)f(ones,)h(or)g(pr)o(oduces,)f(for)h(dynamics)g(ones,)g(thr)o +(ee)f(views)h(at)f(least)g(:)1959 5956 y(7)p eop %%Page: 8 8 -8 7 bop 120 260 a Fg(Each)13 b(object)g(in)h(the)g(library)e(has,)i -(for)h(static)f(ones,)g(or)g(pr)o(oduces,)f(for)i(dynamics)e(ones,)h -(thr)o(ee)f(views)h(at)g(least)g(:)203 415 y Fc(\017)27 -b Fg(the)14 b(symbolic)g(layout,)f(that)h(describes)f(the)h(cell)f -(topology)-6 b(.)203 526 y Fc(\017)27 b Fg(the)14 b(netlist,)g(in)g -(terms)g(of)g(transistor)h(inter)o(connections.)203 637 -y Fc(\017)27 b Fg(the)14 b(behavior)l(,)f(speci\002ed)h(in)g -Ff(VHDL)g Fg(data)f(\003ow)h(form.)120 791 y(Ar)o(ea)f(loss)j(due)e(to) -h(the)f(symbolic)g(layout)g(compar)o(ed)f(to)i(micr)o(on)f(design)g -(has)h(been)e(estimated)h(ranging)g(fr)o(om)120 858 y(10\045)g(to)g -(20\045.)j(In)c(any)h(case,)f(loosing)i(ar)o(ea)d(is)j(af)o(for)o -(dable,)e(wher)o(e)g(loosing)i(years)e(is)h(not.)120 -1053 y Ff(3.2.1)54 b(Standard)12 b(cell)i(library)120 -1203 y Fg(The)d Fe(sclib)i Fg(library)d(contains)i(boolean)f -(functions,)j(buf)o(fers,)e(mux,)g(latches,)f(\003ip-\003ops,)i -Fb(:)c(:)g(:)k Fg(\(ar)o(ound)f(70)f(cells\).)120 1269 -y(All)18 b(the)g(cells)f(have)h(the)f(same)h(height,)g(shar)o(e)g(the)f -(power)h(and)f(gr)o(ound)h(lines)h(on)f(east)f(and)h(west)g(side,)g -(and)120 1335 y(have)d(pitched)h(I/Os)f(in)h(metal2)e(on)j(north)f(and) -f(south)j(side.)k(They)15 b(ar)o(e)g(supposed)i(to)f(be)f(used)h(with)h -(a)e(usual)120 1402 y(standar)o(d)21 b(cells)h(place)e(and)i(r)o(oute)f -(tool,)k(such)d(as)g Ff(Alliance)p Fg('s)g Fe(scr)p Fg(,)i -Ff(Compass)d Fg(or)g Ff(Cadence)p Fg(.)39 b(These)21 -b(cells)120 1468 y(ar)o(e)16 b(to)h(be)f(used)h(primary)f(for)h(glue)g -(logic,)g(since)g(optimized)f(operators)h(can)f(be)g(obtained)g(using)i -(dedicated)120 1535 y(generators,)13 b(as)g(stated)g(paragraph)g -(3.2.2.)j(The)d Fe(logic)h Fg(tool)h(can)d(map)i(a)f(behaviral)g(VHDL)g -(onto)h(this)g(library)-6 b(.)120 1645 y(The)17 b(\002gur)o(e)g(3.2.1)f -(below)h(shows)i(the)e(dif)o(fer)o(ence)f(between)g Fe(sclib)i -Fg(and)f Fe(dplib)h Fg(r)o(egar)o(ding)e(the)h(shape)g(and)120 -1712 y(contents)d(of)h(a)e(cell.)495 2157 y +8 7 bop 305 390 a Fc(\017)41 b Fg(the)20 b(symbolic)i(layout,)f(that)g +(describes)f(the)h(cell)g(topology)-9 b(.)305 546 y Fc(\017)41 +b Fg(the)20 b(netlist,)i(in)f(terms)g(of)g(transistor)g(inter)o +(connections.)305 702 y Fc(\017)41 b Fg(the)20 b(behavior)-6 +b(,)21 b(speci\002ed)f(in)h Ff(VHDL)g Fg(data)e(\003ow)j(form.)180 +904 y(Ar)o(ea)e(loss)i(due)f(to)h(the)g(symbolic)g(layout)g(compar)o +(ed)e(to)i(micr)o(on)g(design)g(has)f(been)g(estimated)h(ranging)f(fr)o +(om)180 1004 y(10\045)f(to)h(20\045.)j(In)d(any)g(case,)f(loosing)i(ar) +o(ea)d(is)i(af)o(for)o(dable,)c(wher)o(e)k(loosing)h(years)e(is)h(not.) +180 1281 y Ff(3.2.1)81 b(Standard)19 b(cell)g(library)180 +1496 y Fg(The)e Fe(sclib)g Fg(library)f(contains)i(boolean)g +(functions,)g(buf)o(fers,)f(mux,)h(latches,)f(\003ip-\003ops,)i +Fb(:)14 b(:)g(:)j Fg(\(ar)o(ound)f(70)g(cells\).)180 +1595 y(All)27 b(the)f(cells)h(have)f(the)h(same)g(height,)h(shar)o(e)e +(the)h(power)g(and)f(gr)o(ound)h(lines)g(on)g(east)f(and)h(west)g +(side,)g(and)180 1695 y(have)c(pitched)h(I/Os)g(in)g(metal2)f(on)h +(north)h(and)e(south)i(side.)34 b(They)24 b(ar)o(e)e(supposed)i(to)g +(be)f(used)g(with)i(a)e(usual)180 1794 y(standar)o(d)31 +b(cells)h(place)g(and)g(r)o(oute)g(tool,)k(such)d(as)f +Ff(Alliance)p Fg('s)e Fe(scr)p Fg(,)35 b Ff(Compass)c +Fg(or)i Ff(Cadence)p Fg(.)58 b(These)33 b(cells)180 1894 +y(ar)o(e)24 b(to)h(be)g(used)g(primary)g(for)g(glue)g(logic,)i(since)f +(optimized)f(operators)g(can)g(be)g(obtained)g(using)h(dedicated)180 +1994 y(generators,)20 b(as)h(stated)f(paragraph)f Ff(??)p +Fg(.)25 b(The)c Fe(logic)f Fg(tool)h(can)g(map)f(a)h(behaviral)e(VHDL)i +(onto)h(this)f(library)-9 b(.)180 2150 y(The)32 b(\002gur)o(e)g +Ff(??)h Fg(below)f(shows)i(the)f(dif)o(fer)o(ence)d(between)i +Fe(sclib)f Fg(and)h Fe(dplib)g Fg(r)o(egar)o(ding)f(the)h(shape)g(and) +180 2249 y(contents)22 b(of)e(a)h(cell.)743 2906 y 7458719 15290373 11314462 10788208 27759902 44600033 startTexFig - 495 2157 -a + 743 +2906 a %%BeginDocument: ./na3y.ps +%!PS-Adobe-2.0 +%%Title: na3_y +%%Creator: mbk2ps V2.0 +%%For: fred +%%CreationDate: Fri May 28 13:42:41 1993 +%%DocumentSuppliedProcSet: MBKtoPostScript +%%DocumentSuppliedFonts: PatternFont +%%BoundingBox: 172 164 422 678 +%%EndComments +%%BeginFont: PatternFont 1 7 dict dup begin /FontType 3 def @@ -1468,7 +1528,9 @@ begin } bind def end /PatternFont exch definefont pop +%%EndFont +%%BeginProcSet: MBKtoPostScript 1 /bdef {bind def} bind def /arg {exch def} bdef /patternfill { @@ -1605,10 +1667,14 @@ end } for } for } def +%%EndProcSet +%%EndProlog +%%BeginSetup 0.10 setlinewidth 2 setlinecap 0 setlinejoin +%%EndSetup 1.000000 dup scale 127.500000 158.500000 translate @@ -1685,17 +1751,30 @@ end 290 430 moveto (vdd.1) 0 showstring 50 430 moveto (vdd.0) 0 showstring showpage +%%Trailer +%%EndComments + %%EndDocument endTexFig - 495 3570 a Fg(Figur)o(e)e(2:)16 b Fj(Sclib)11 b Fg(version)h(of)h(a) -495 3636 y(thr)o(ee)g(inputs)j Fe(and)e Fg(gate)1501 -1829 y + 743 5026 a Fg(Figur)o(e)c(2:)23 b Fj(Sclib)18 b Fg(version)g(of)g(a) +743 5126 y(thr)o(ee)i(inputs)i Fe(and)e Fg(gate)2251 +2415 y 7458719 19168902 11051335 5657231 28154593 49731010 startTexFig - 1501 1829 a + 2251 2415 a %%BeginDocument: ./na3dp.ps +%!PS-Adobe-2.0 +%%Title: na3_dp +%%Creator: mbk2ps V2.0 +%%For: fred +%%CreationDate: Fri May 28 13:42:51 1993 +%%DocumentSuppliedProcSet: MBKtoPostScript +%%DocumentSuppliedFonts: PatternFont +%%BoundingBox: 168 86 428 756 +%%EndComments +%%BeginFont: PatternFont 1 7 dict dup begin /FontType 3 def @@ -1924,7 +2003,9 @@ begin } bind def end /PatternFont exch definefont pop +%%EndFont +%%BeginProcSet: MBKtoPostScript 1 /bdef {bind def} bind def /arg {exch def} bdef /patternfill { @@ -2061,10 +2142,14 @@ end } for } for } def +%%EndProcSet +%%EndProlog +%%BeginSetup 0.10 setlinewidth 2 setlinecap 0 setlinejoin +%%EndSetup 1.000000 dup scale 127.500000 76.000000 translate @@ -2179,363 +2264,375 @@ end 260 330 moveto (o_5) 0 showstring 260 230 moveto (o_7) 0 showstring showpage +%%Trailer +%%EndComments + %%EndDocument endTexFig - 1501 3570 a Fg(Figur)o(e)i(3:)22 b Fj(Dplib)17 b Fg(version)g(of)1501 -3636 y(a)c(thr)o(ee)g(inputs)j Fe(and)e Fg(gate)1306 -3971 y(8)p eop + 2251 5026 a Fg(Figur)o(e)25 b(3:)33 b Fj(Dplib)25 b +Fg(version)g(of)2251 5126 y(a)20 b(thr)o(ee)g(inputs)i +Fe(and)e Fg(gate)180 5493 y Ff(3.2.2)81 b(Datapath)18 +b(libraries)180 5707 y Fg(Ther)o(e)i(ar)o(e)f(two)j(kinds)f(of)g +(datapath)e(libraries:)1959 5956 y(8)p eop %%Page: 9 9 -9 8 bop 120 260 a Ff(3.2.2)54 b(Datapath)14 b(libraries)120 -410 y Fg(Ther)o(e)f(ar)o(e)g(two)h(kinds)g(of)h(datapath)e(libraries:) -203 565 y Fc(\017)27 b Fe(dplib)18 b Fg(is)f(a)f(cell)g(library)f -(dedicated)f(to)j(high)g(density)f(data-paths.)25 b(It)16 -b(must)h(be)f(used)h(in)f(conjunction)258 631 y(with)h(the)e(data-path) -h(tools)h Fe(fpgen)f Fg(and)g Fe(dpr)p Fg(.)23 b(The)16 -b(cells)f(in)h Fe(dplib)h Fg(have)f(the)f(same)h(functionnalities)258 -698 y(as)g(the)f(ones)h(in)g Fe(sclib)p Fg(,)h(but)f(have)f(a)g -(topology)i(that)e(is)h(usable)g(only)g(within)g(a)f(datapath.)22 -b Fe(Scmap)17 b Fg(can)258 764 y(also)e(map)e(a)h(behavior)f(onto)i -(the)e Fe(dplib)i Fg(library)-6 b(.)203 875 y Fc(\017)27 -b Fe(fplib)15 b Fg(is)f(a)f(set)g(of)h(above)e(30)h(r)o(egular)f -(functions)j(that)f(ar)o(e)e(useful)i(in)g(the)f(design)g(of)h(a)f -(datapath.)j(These)258 941 y(functions)g(range)d(fr)o(om)h(a)f -Fj(n)h Fg(inputs)h Fe(nand)g Fg(gate)e(to)h(a)f Fj(n)h -Fb(times)f Fj(m)h Fg(r)o(egister)f(\002le.)120 1096 y(Her)o(e)19 -b(the)h(cells)f(shar)o(e)h(the)g(power)g(and)f(gr)o(ound)i(lines)f(in)g -(metal2.)34 b(A)20 b(powerful)h(dedicated)d(over)i(the)g(cell)120 -1163 y(r)o(outer)c(can)f(r)o(oute)h(custom)h(blocks)e(and)h(logic)g -(glue)f(in)i(the)e(same)h(structur)o(e.)23 b(Among)16 -b(the)f Fe(fplib)i Fg(function-)120 1229 y(nalities,)h(four)f -(optimized)g(blocks)f(generators)g(should)i(be)e(pr)o(esented)g(in)h -(mor)o(e)g(details,)g(as)g(they)f(r)o(e\003ect)f(the)120 -1295 y(quality)j(of)g(this)h(library)-6 b(.)27 b(All)18 -b(the)f(generators)g(ar)o(e)g(build)h(with)g(a)f(tiler)g(using)i(a)e -(dedicated)f(leaf)h(cell)g(library)-6 b(.)120 1362 y(Their)15 -b(output)h(is)g(a)f(symbolic)g(layout,)h(a)f Ff(VHDL)g -Fg(behavior)l(,)g(a)g(set)g(of)h(pattern)f(for)h(test)f(purpose,)h(a)f -(netlist,)h(an)120 1428 y(icon,)g(and)g(a)f(datasheet)g(indicating)g -(size)h(and)f(timing)h(estimation)g(for)g(a)g(given)f(technology)-6 -b(.)23 b(The)15 b(structural)120 1495 y(parameters)e(varies)g(accor)o -(ding)g(to)h(their)g(functionalities.)203 1650 y Fc(\017)27 -b Fg(optimized)14 b(generators)f(for)h(datapath)f(operators:)258 -1760 y Fe(rsa)p Fg(,)29 b(a)15 b(fast)h(adder)e(generator)l(,)g(with)i -(pr)o(opagation)g(time)f(in)h(log)f Fj(nb)g Fg(and)g(size)h(in)f -Fj(nb)g Fg(log)h Fj(nb)p Fg(,)f(wher)o(e)g Fj(nb)380 -1827 y Fg(is)i(the)e(number)h(of)g(bits.)24 b(Its)16 -b(has)g(2)g(or)g(3)f(input)i(buses,)g(and)f(if)g(needed)e(a)i(carry)f -(input.)24 b(It)16 b(may)f(be)380 1893 y(used)f(as)g(a)g(substractor)g -(or)g(adder/substractor)l(.)p 380 1908 1939 3 v 379 1974 -3 67 v 413 1954 a(Params)p 627 1974 V 65 w(Meaning)p -1862 1974 V 1017 w(Range)p 2317 1974 V 380 1976 1939 -3 v 379 2043 3 67 v 413 2023 a(nb)p 627 2043 V 185 w(number)g(of)g -(bits)p 1862 2043 V 877 w(3)g(to)g(128)p 2317 2043 V -379 2109 V 413 2089 a(cin)p 627 2109 V 175 w(carry)f(in)p -1862 2109 V 1046 w(true)g(or)h(false)p 2317 2109 V 379 -2175 V 413 2155 a(csa)p 627 2175 V 172 w(thr)o(ee)f(inputs)j(adder)p -1862 2175 V 781 w(true)d(or)h(false)p 2317 2175 V 379 -2242 V 413 2222 a(ovr)p 627 2242 V 165 w(over\003ow)g(\003ag)p -1862 2242 V 908 w(true)f(or)h(false)p 2317 2242 V 380 -2244 1939 3 v 258 2312 a Fe(rfg)p Fg(,)29 b(a)13 b(static)h(r)o -(egister)e(\002le)i(generator)l(.)i(It)d(has)h(one)g(write)f(addr)o -(ess)h(,)f(and)h(one)f(or)h(two)g(r)o(ead)f(addr)o(ess.)j(It)380 -2378 y(may)d(be)g(operated)g(as)h(a)f(set)h(of)h(level-sensitive)f -(latches)g(or)g(edge)e(trigger)o(ed)g(\003ip-\003ops.)p -380 2402 V 379 2468 3 67 v 413 2448 a(Params)p 627 2468 -V 65 w(Meaning)p 1862 2468 V 1017 w(Range)p 2317 2468 -V 380 2470 1939 3 v 379 2537 3 67 v 413 2517 a(nb)p 627 -2537 V 185 w(number)i(of)g(bits)p 1862 2537 V 877 w(2)g(to)g(64)p -2317 2537 V 379 2603 V 413 2583 a(nw)p 627 2603 V 170 -w(number)g(of)g(wor)o(ds)p 1862 2603 V 811 w(2)g(to)g(256)p -2317 2603 V 379 2669 V 413 2649 a(bus)p 627 2669 V 161 -w(number)g(of)g(r)o(ead)f(bus)p 1862 2669 V 755 w(1)h(or)f(2)p -2317 2669 V 379 2802 3 133 v 413 2716 a(op)p 627 2802 -V 185 w(mode)h(of)g(operation)p 1862 2802 V 783 w(latch)58 -b(or)h(\003ip-)1896 2782 y(\003op)p 2317 2802 V 379 2935 -V 413 2849 a(low)413 2915 y(power)p 627 2935 V 661 2849 -a(r)o(educe)13 b(power)h(consumption)p 1862 2935 V 562 -w(true)f(or)h(false)p 2317 2935 V 380 2937 1939 3 v 258 -3005 a Fe(bsg)p Fg(,)29 b(a)13 b(barr)o(el)f(shifter)j(generator)l(.)h -(Possible)e(operations)h(ar)o(e)e(:)428 3094 y Ff(\226)28 -b Fg(logical)13 b(right)h(shift)428 3171 y Ff(\226)28 -b Fg(arithmetical)12 b(right)i(shift)428 3249 y Ff(\226)28 -b Fg(logical)13 b(left)h(shift)428 3326 y Ff(\226)28 -b Fg(arithmetical)12 b(left)i(shift)428 3404 y Ff(\226)28 -b Fg(right)13 b(r)o(otation)428 3481 y Ff(\226)28 b Fg(left)14 -b(r)o(otation)p 380 3512 V 379 3578 3 67 v 413 3559 a(Params)p -627 3578 V 65 w(Meaning)p 1862 3578 V 1017 w(Range)p -2317 3578 V 380 3581 1939 3 v 379 3647 3 67 v 413 3627 -a(nb)p 627 3647 V 185 w(number)g(of)g(bits)p 1862 3647 -V 877 w(3)g(to)g(64)p 2317 3647 V 380 3649 1939 3 v 1306 -3971 a(9)p eop +9 8 bop 305 390 a Fc(\017)41 b Fe(dplib)23 b Fg(is)i(a)f(cell)h +(library)f(dedicated)f(to)i(high)h(density)f(data-paths.)35 +b(It)25 b(must)g(be)f(used)h(in)g(conjunction)388 490 +y(with)f(the)g(data-path)e(tools)i Fe(fpgen)f Fg(and)g +Fe(dpr)p Fg(.)34 b(The)24 b(cells)g(in)g Fe(dplib)e Fg(have)i(the)f +(same)h(functionnalities)388 589 y(as)f(the)g(ones)h(in)g +Fe(sclib)p Fg(,)f(but)g(have)g(a)g(topology)i(that)e(is)h(usable)f +(only)h(within)h(a)e(datapath.)32 b Fe(Scmap)22 b Fg(can)388 +689 y(also)f(map)f(a)g(behavior)h(onto)g(the)g Fe(dplib)f +Fg(library)-9 b(.)305 852 y Fc(\017)41 b Fe(fplib)19 +b Fg(is)h(a)f(set)h(of)g(above)f(30)g(r)o(egular)g(functions)i(that)f +(ar)o(e)e(useful)i(in)h(the)f(design)g(of)g(a)f(datapath.)24 +b(These)388 951 y(functions)d(range)g(fr)o(om)f(a)g Fj(n)h +Fg(inputs)h Fe(nand)e Fg(gate)g(to)h(a)f Fj(n)h Fb(times)f +Fj(m)g Fg(r)o(egister)g(\002le.)180 1174 y(Her)o(e)29 +b(the)h(cells)g(shar)o(e)f(the)h(power)g(and)g(gr)o(ound)f(lines)i(in)f +(metal2.)53 b(A)29 b(powerful)h(dedicated)e(over)i(the)g(cell)180 +1274 y(r)o(outer)23 b(can)h(r)o(oute)f(custom)i(blocks)f(and)g(logic)g +(glue)g(in)h(the)f(same)g(str)o(uctur)o(e.)34 b(Among)25 +b(the)f Fe(fplib)f Fg(function-)180 1373 y(nalities,)j(four)g +(optimized)f(blocks)h(generators)e(should)j(be)d(pr)o(esented)h(in)g +(mor)o(e)g(details,)h(as)f(they)g(r)o(e\003ect)g(the)180 +1473 y(quality)i(of)g(this)g(library)-9 b(.)42 b(All)26 +b(the)h(generators)f(ar)o(e)f(build)i(with)g(a)f(tiler)h(using)g(a)f +(dedicated)f(leaf)h(cell)g(library)-9 b(.)180 1573 y(Their)23 +b(output)g(is)g(a)g(symbolic)h(layout,)f(a)g Ff(VHDL)f +Fg(behavior)-6 b(,)23 b(a)f(set)h(of)g(pattern)f(for)h(test)g(purpose,) +g(a)f(netlist,)i(an)180 1672 y(icon,)h(and)e(a)g(datasheet)g +(indicating)h(size)f(and)g(timing)i(estimation)g(for)e(a)g(given)h +(technology)-9 b(.)35 b(The)24 b(str)o(uctural)180 1772 +y(parameters)19 b(varies)h(accor)o(ding)g(to)i(their)e +(functionalities.)305 1994 y Fc(\017)41 b Fg(optimized)20 +b(generators)h(for)f(datapath)g(operators:)388 2157 y +Fe(rsa)p Fg(,)40 b(a)23 b(fast)g(adder)e(generator)-6 +b(,)23 b(with)h(pr)o(opagation)f(time)g(in)h(log)g Fj(nb)g +Fg(and)e(size)h(in)h Fj(nb)g Fg(log)g Fj(nb)p Fg(,)g(wher)o(e)e +Fj(nb)570 2257 y Fg(is)i(the)h(number)f(of)f(bits.)36 +b(Its)24 b(has)g(2)f(or)h(3)g(input)g(buses,)h(and)e(if)h(needed)f(a)g +(carry)g(input.)36 b(It)23 b(may)h(be)570 2356 y(used)d(as)f(a)g +(substractor)h(or)g(adder/substractor)-6 b(.)p 570 2378 +2908 4 v 568 2478 4 100 v 620 2448 a(Params)p 941 2478 +V 97 w(Meaning)p 2793 2478 V 1525 w(Range)p 3476 2478 +V 570 2481 2908 4 v 568 2581 4 100 v 620 2551 a(nb)p +941 2581 V 278 w(number)21 b(of)g(bits)p 2793 2581 V +1315 w(3)f(to)h(128)p 3476 2581 V 568 2680 V 620 2650 +a(cin)p 941 2680 V 263 w(carry)f(in)p 2793 2680 V 1569 +w(tr)o(ue)h(or)g(false)p 3476 2680 V 568 2780 V 620 2750 +a(csa)p 941 2780 V 258 w(thr)o(ee)f(inputs)i(adder)p +2793 2780 V 1172 w(tr)o(ue)f(or)g(false)p 3476 2780 V +568 2880 V 620 2850 a(ovr)p 941 2880 V 247 w(over\003ow)h(\003ag)p +2793 2880 V 1363 w(tr)o(ue)f(or)g(false)p 3476 2880 V +570 2883 2908 4 v 388 2981 a Fe(rfg)p Fg(,)40 b(a)20 +b(static)h(r)o(egister)f(\002le)g(generator)-6 b(.)25 +b(It)c(has)f(one)h(write)g(addr)o(ess)e(,)h(and)g(one)h(or)g(two)g(r)o +(ead)e(addr)o(ess.)24 b(It)570 3081 y(may)d(be)f(operated)g(as)g(a)h +(set)g(of)f(level-sensitive)h(latches)g(or)f(edge)h(trigger)o(ed)e +(\003ip-\003ops.)p 570 3116 V 568 3215 4 100 v 620 3186 +a(Params)p 941 3215 V 97 w(Meaning)p 2793 3215 V 1525 +w(Range)p 3476 3215 V 570 3219 2908 4 v 568 3318 4 100 +v 620 3288 a(nb)p 941 3318 V 278 w(number)i(of)g(bits)p +2793 3318 V 1315 w(2)f(to)h(64)p 3476 3318 V 568 3418 +V 620 3388 a(nw)p 941 3418 V 255 w(number)g(of)g(wor)o(ds)p +2793 3418 V 1215 w(2)f(to)h(256)p 3476 3418 V 568 3518 +V 620 3488 a(bus)p 941 3518 V 241 w(number)g(of)g(r)o(ead)e(bus)p +2793 3518 V 1132 w(1)h(or)h(2)p 3476 3518 V 568 3717 +4 200 v 620 3587 a(op)p 941 3717 V 277 w(mode)g(of)g(operation)p +2793 3717 V 1174 w(latch)88 b(or)g(\003ip-)2844 3687 +y(\003op)p 3476 3717 V 568 3916 V 620 3787 a(low)620 +3886 y(power)p 941 3916 V 992 3787 a(r)o(educe)19 b(power)i +(consumption)p 2793 3916 V 843 w(tr)o(ue)g(or)g(false)p +3476 3916 V 570 3919 2908 4 v 388 4018 a Fe(bsg)p Fg(,)40 +b(a)21 b(barr)o(el)e(shifter)h(generator)-6 b(.)25 b(Possible)d +(operations)f(ar)o(e)e(:)642 4147 y Ff(\226)41 b Fg(logical)22 +b(right)f(shift)642 4262 y Ff(\226)41 b Fg(arithmetical)21 +b(right)g(shift)642 4376 y Ff(\226)41 b Fg(logical)22 +b(left)e(shift)642 4491 y Ff(\226)41 b Fg(arithmetical)21 +b(left)f(shift)642 4606 y Ff(\226)41 b Fg(right)22 b(r)o(otation)642 +4720 y Ff(\226)41 b Fg(left)21 b(r)o(otation)p 570 4764 +V 568 4863 4 100 v 620 4833 a(Params)p 941 4863 V 97 +w(Meaning)p 2793 4863 V 1525 w(Range)p 3476 4863 V 570 +4867 2908 4 v 568 4966 4 100 v 620 4936 a(nb)p 941 4966 +V 278 w(number)g(of)g(bits)p 2793 4966 V 1315 w(3)f(to)h(64)p +3476 4966 V 570 4969 2908 4 v 388 5068 a Fe(amg)p Fg(,)40 +b(an)25 b(integer)f(modi\002ed)h(booth)g(algorithm)g(array)f +(multiplier)-6 b(.)37 b(the)24 b Fj(x)g Fg(and)g Fj(y)g +Fg(inputs)h(ar)o(e)e(indepen-)570 5167 y(dent,)e(and)f(pipeline)h +(stages)f(can)h(be)f(inserted)h(in)g(the)g(cir)o(cuit.)p +570 5202 V 568 5302 4 100 v 620 5272 a(Params)p 941 5302 +V 97 w(Meaning)p 2793 5302 V 1525 w(Range)p 3476 5302 +V 570 5305 2908 4 v 568 5405 4 100 v 620 5375 a(nx)p +941 5405 V 281 w(number)g(of)g(bits)g(of)g(the)g Fj(x)f +Fg(operand)p 2793 5405 V 693 w(8)g(to)h(64)p 3476 5405 +V 568 5505 V 620 5475 a(ny)p 941 5505 V 278 w(number)g(of)g(bits)g(of)g +(the)g Fj(y)f Fg(operand)p 2793 5505 V 693 w(8)g(to)h(64)p +3476 5505 V 568 5704 4 200 v 620 5574 a(ps)p 941 5704 +V 287 w(number)28 b(of)f(pipeline)h(stages)g(to)g(be)f(inserted)g(in)h +(the)992 5674 y(cir)o(cuit)p 2793 5704 V 2844 5574 a(0)92 +b(to)g(min\()3325 5542 y Fa(nx)p 3326 5556 72 4 v 3345 +5603 a(2)3407 5574 y Fg(,)2854 5637 y Fa(n)n(y)p 2854 +5655 71 4 v 2873 5703 a(2)2935 5674 y Fg(\)-1)p 3476 +5704 4 200 v 570 5707 2908 4 v 1959 5956 a(9)p eop %%Page: 10 10 -10 9 bop 258 260 a Fe(amg)p Fg(,)29 b(an)16 b(integer)f(modi\002ed)h -(booth)h(algorithm)f(array)f(multiplier)l(.)25 b(the)16 -b Fj(x)g Fg(and)g Fj(y)g Fg(inputs)i(ar)o(e)d(indepen-)380 -327 y(dent,)e(and)h(pipeline)g(stages)g(can)f(be)g(inserted)g(in)h(the) -g(cir)o(cuit.)p 380 350 1939 3 v 379 416 3 67 v 413 396 -a(Params)p 627 416 V 65 w(Meaning)p 1862 416 V 1017 w(Range)p -2317 416 V 380 419 1939 3 v 379 485 3 67 v 413 465 a(nx)p -627 485 V 187 w(number)g(of)g(bits)g(of)h(the)e Fj(x)h -Fg(operand)p 1862 485 V 462 w(8)g(to)g(64)p 2317 485 -V 379 551 V 413 531 a(ny)p 627 551 V 185 w(number)g(of)g(bits)g(of)h -(the)e Fj(y)h Fg(operand)p 1862 551 V 462 w(8)g(to)g(64)p -2317 551 V 379 684 3 133 v 413 598 a(ps)p 627 684 V 192 -w(number)k(of)h(pipeline)g(stages)f(to)h(be)e(inserted)h(in)h(the)661 -664 y(cir)o(cuit)p 1862 684 V 1896 598 a(0)61 b(to)h(min\()2217 -576 y Fa(nx)p 2217 585 48 3 v 2230 617 a(2)2272 598 y -Fg(,)1903 640 y Fa(n)o(y)p 1903 652 V 1915 683 a(2)1956 -664 y Fg(\)-1)p 2317 684 3 133 v 380 686 1939 3 v 120 -861 a Ff(3.2.3)54 b(Custom)14 b(libraries)120 1010 y -Fg(T)-5 b(wo)20 b(full-custom)h(parameterized)c(generators)i(ar)o(e)g -(also)h(available.)32 b(They)19 b(pr)o(oduce)h(stand-alone)f(blocks,) -120 1077 y(that)24 b(ar)o(e)e(to)i(be)f(r)o(outed)h(only)g(at)f(the)h -(\003oorplan)g(level)f(with)h(other)g(blocks,)i(using)e(either)f -Fe(bbr)i Fg(or)e(better)120 1143 y Fe(xcheops)p Fg(.)203 -1298 y Fc(\017)k Fj(ROM)14 b Fg(and)g Fj(RAM)g Fg(generators:)258 -1409 y Fe(grog)p Fg(,)29 b(a)11 b(generic)f Fj(ROM)h -Fg(generator)l(.)k(The)c(interface)f(is)i(an)f(addr)o(ess)g(bus,)h(a)f -(clock)g(and)g(an)g(output)h(enable)380 1475 y(signal,)17 -b(and)f(a)f(data)g(out)i(bus.)24 b(The)16 b(coding)f(format)i(to)f -(specify)g(the)g Fj(ROM)g Fg(contents)g(is)h(a)e(limited)380 -1542 y(subset)f(of)h(VHDL.)p 380 1551 V 379 1617 3 67 -v 413 1597 a(Params)p 627 1617 V 65 w(Meaning)p 1862 -1617 V 1017 w(Range)p 2317 1617 V 380 1619 1939 3 v 379 -1686 3 67 v 413 1666 a(nb)p 627 1686 V 185 w(number)f(of)g(bits)p -1862 1686 V 877 w(1)g(to)g(64)p 2317 1686 V 379 1818 -3 133 v 413 1732 a(nw)p 627 1818 V 170 w(number)g(of)g(wor)o(ds)p -1862 1818 V 811 w(64,)62 b(128,)h(256,)1896 1798 y Fj(n)14 -b Fg(512,)e(1)i Fc(\024)g Fj(n)f Fc(\024)h Fg(8)p 2317 -1818 V 379 1885 3 67 v 413 1865 a(hz)p 627 1885 V 188 -w(tri-state)g(output)p 1862 1885 V 868 w(true)f(or)h(false)p -2317 1885 V 380 1887 1939 3 v 258 1955 a Fe(rage)p Fg(,)29 -b(a)15 b Fj(RAM)h Fg(generator)l(.)21 b(The)15 b(interface)f(has)i(a)g -(r)o(ead/write)d(addr)o(ess,)j(a)f(write)g(signal)h(indicating)f(if)380 -2021 y(a)f(r)o(ead)e(or)i(a)g(write)f(is)i(to)f(be)f(performed,)g(and)g -(a)h(clock.)p 380 2045 V 379 2111 3 67 v 413 2091 a(Params)p -627 2111 V 65 w(Meaning)p 1862 2111 V 1017 w(Range)p -2317 2111 V 380 2113 1939 3 v 379 2180 3 67 v 413 2160 -a(nb)p 627 2180 V 185 w(number)g(of)g(bits)p 1862 2180 -V 877 w(2)g(to)g(128)p 2317 2180 V 379 2246 V 413 2226 -a(nw)p 627 2246 V 170 w(number)g(of)g(wor)o(ds)p 1862 -2246 V 811 w(128)f(to)h(4096)p 2317 2246 V 379 2445 3 -200 v 413 2292 a(aspect)p 627 2445 V 94 w(aspect)g(ratio)p -1862 2445 V 953 w(narr)o(ow)-5 b(,)1896 2359 y(medium)129 -b(or)1896 2425 y(lar)o(ge)p 2317 2445 V 379 2578 3 133 -v 413 2492 a(ud)p 627 2578 V 181 w(unidir)o(ectional,)16 -b(ie)e(shar)o(e)h(the)g(same)f(bus)i(for)f(data)f(in)661 -2558 y(and)g(out)p 1862 2578 V 1896 2492 a(true)f(or)h(false)p -2317 2578 V 380 2580 1939 3 v 120 2714 a(All)h(these)f(generators)f -(have)h(been)f(designed)h(using)h(the)f Ff(Alliance)g -Fg(CAD)h(tools,)g(for)g(both)f(design)g(and)g(veri\002-)120 -2781 y(cation)g(phases.)120 2976 y Ff(3.2.4)54 b(Pad)13 -b(library)120 3126 y(Alliance)h Fg(pr)o(ovides)h(also)g(a)f(pad)g -(library)-6 b(.)18 b(This)d(library)e(also)i(uses)g(a)g(symbolic)f -(layout)g(appr)o(oach,)g(and)g(ther)o(e-)120 3192 y(for)o(e)j(a)f -(whole)i(chip)f(can)f(be)g(tar)o(geted)f(on)i(several)g(technology)f -(without)i(even)f(the)f(cor)o(e)g(to)i(pad)e(r)o(outing.)27 -b(A)120 3258 y(very)13 b(r)o(obust)i(appr)o(oach)e(has)h(been)f(enfor)o -(ced,)f(as)i(the)g(pads)g(ar)o(e)f(subject)g(to)h(electr)o(ostatic)e -(dischar)o(ge,)h(and)h(also)120 3325 y(mor)o(e)f(sensible)g(to)h -(latch-up)g(than)g(the)f(other)h(parts)f(of)i(the)e(cir)o(cuit)g(due)g -(to)h(the)f(amount)h(of)g(curr)o(ent)f(that)h(\003ows)120 -3391 y(thr)o(ough)h(them.)120 3502 y(Chips)h(using)g(these)e(pads)h -(have)g(been)e(fabricated)g(on)j(ES2)e(1.0)p Fb(\026)p -Fg(m,)g(AMS)h(1.2)p Fb(\026)p Fg(m)f(and)h(SGS-Thomson)i(0.5)p -Fb(\026)p Fg(m)120 3568 y(technology)c(and)h(work)g(as)g(expected.)1292 -3971 y(10)p eop +10 9 bop 180 390 a Ff(3.2.3)81 b(Custom)20 b(libraries)180 +611 y Fg(T)-7 b(wo)29 b(full-custom)h(parameterized)d(generators)i(ar)o +(e)f(also)h(available.)50 b(They)30 b(pr)o(oduce)e(stand-alone)h +(blocks,)180 710 y(that)f(ar)o(e)f(to)h(be)g(r)o(outed)g(only)h(at)f +(the)g(\003oorplan)h(level)f(with)h(other)f(blocks,)j(using)e(either)f +Fe(bbr)g Fg(or)g(better)f Fe(x-)180 810 y(cheops)p Fg(.)305 +1031 y Fc(\017)41 b Fj(ROM)21 b Fg(and)f Fj(RAM)h Fg(generators:)388 +1193 y Fe(grog)p Fg(,)40 b(a)17 b(generic)f Fj(ROM)i +Fg(generator)-6 b(.)23 b(The)17 b(interface)f(is)h(an)g(addr)o(ess)e +(bus,)j(a)f(clock)g(and)f(an)h(output)h(enable)570 1292 +y(signal,)25 b(and)f(a)f(data)g(out)i(bus.)35 b(The)24 +b(coding)h(format)e(to)i(specify)e(the)i Fj(ROM)f Fg(contents)h(is)f(a) +g(limited)570 1392 y(subset)d(of)g(VHDL.)p 570 1405 2908 +4 v 568 1505 4 100 v 620 1475 a(Params)p 941 1505 V 97 +w(Meaning)p 2793 1505 V 1525 w(Range)p 3476 1505 V 570 +1508 2908 4 v 568 1608 4 100 v 620 1578 a(nb)p 941 1608 +V 278 w(number)g(of)g(bits)p 2793 1608 V 1315 w(1)f(to)h(64)p +3476 1608 V 568 1807 4 200 v 620 1678 a(nw)p 941 1807 +V 255 w(number)g(of)g(wor)o(ds)p 2793 1807 V 1215 w(64,)94 +b(128,)f(256,)2844 1777 y Fj(n)21 b Fg(512,)e(1)h Fc(\024)h +Fj(n)f Fc(\024)h Fg(8)p 3476 1807 V 568 1907 4 100 v +620 1877 a(hz)p 941 1907 V 282 w(tri-state)f(output)p +2793 1907 V 1300 w(tr)o(ue)h(or)g(false)p 3476 1907 V +570 1910 2908 4 v 388 2008 a Fe(rage)p Fg(,)40 b(a)23 +b Fj(RAM)h Fg(generator)-6 b(.)33 b(The)23 b(interface)g(has)g(a)g(r)o +(ead/write)f(addr)o(ess,)g(a)h(write)g(signal)h(indicating)g(if)570 +2107 y(a)c(r)o(ead)g(or)g(a)h(write)f(is)i(to)f(be)f(performed,)g(and)g +(a)g(clock.)p 570 2142 V 568 2242 4 100 v 620 2212 a(Params)p +941 2242 V 97 w(Meaning)p 2793 2242 V 1525 w(Range)p +3476 2242 V 570 2245 2908 4 v 568 2345 4 100 v 620 2315 +a(nb)p 941 2345 V 278 w(number)h(of)g(bits)p 2793 2345 +V 1315 w(2)f(to)h(128)p 3476 2345 V 568 2445 V 620 2415 +a(nw)p 941 2445 V 255 w(number)g(of)g(wor)o(ds)p 2793 +2445 V 1215 w(128)e(to)i(4096)p 3476 2445 V 568 2644 +4 200 v 620 2514 a(aspect)p 941 2644 V 141 w(aspect)f(ratio)p +2793 2644 V 1430 w(narr)o(ow)-8 b(,)86 b(medi-)2844 2614 +y(um)21 b(or)g(lar)o(ge)p 3476 2644 V 568 2843 V 620 +2714 a(ud)p 941 2843 V 271 w(unidir)o(ectional,)i(ie)f(shar)o(e)g(the)g +(same)h(bus)f(for)h(data)e(in)992 2813 y(and)g(out)p +2793 2843 V 2844 2714 a(tr)o(ue)g(or)g(false)p 3476 2843 +V 570 2846 2908 4 v 180 3036 a(All)g(these)h(generators)f(have)g(been)g +(designed)g(using)i(the)e Ff(Alliance)e Fg(CAD)i(tools,)h(for)g(both)g +(design)g(and)f(veri\002-)180 3135 y(cation)g(phases.)180 +3422 y Ff(3.2.4)81 b(Pad)20 b(library)180 3643 y(Alliance)f +Fg(pr)o(ovides)i(also)g(a)g(pad)g(library)-9 b(.)27 b(This)c(library)e +(also)g(uses)h(a)f(symbolic)i(layout)f(appr)o(oach,)e(and)h(ther)o(e-) +180 3742 y(for)o(e)j(a)h(whole)h(chip)g(can)f(be)g(tar)o(geted)f(on)i +(several)e(technology)j(without)f(even)g(the)f(cor)o(e)g(to)g(pad)g(r)o +(outing.)39 b(A)180 3842 y(very)20 b(r)o(obust)h(appr)o(oach)e(has)i +(been)f(enfor)o(ced,)f(as)i(the)f(pads)g(ar)o(e)g(subject)g(to)h +(electr)o(ostatic)f(dischar)o(ge,)g(and)g(also)180 3941 +y(mor)o(e)g(sensible)h(to)f(latch-up)g(than)g(the)h(other)f(parts)g(of) +g(the)h(cir)o(cuit)e(due)h(to)h(the)f(amount)h(of)f(curr)o(ent)g(that)g +(\003ows)180 4041 y(thr)o(ough)h(them.)180 4203 y(Chips)i(using)g +(these)f(pads)f(have)h(been)g(fabricated)e(on)j(ES2)e(1.0)p +Fb(\026)p Fg(m,)g(AMS)g(1.2)p Fb(\026)p Fg(m)g(and)h(SGS-Thomson)h(0.5) +p Fb(\026)p Fg(m)180 4303 y(technology)f(and)f(work)g(as)f(expected.) +180 4649 y Fn(4)119 b(Supported)30 b(exchange)g(formats)180 +4901 y Fg(The)e Ff(Alliance)c Fg(CAD)k(system)g(handles)g(many)g +(\002le)g(formats.)46 b(They)27 b(ar)o(e)g(summarized)g(her)o(e.)45 +b(A)27 b(\002le)h(can)f(be)180 5000 y(either)21 b(r)o(ead,)d(using)k(a) +e Fj(parser)p Fg(,)h(or)g(written,)g(using)h(a)e Fj(driver)p +Fg(.)305 5221 y Fc(\017)41 b Fg(Behavioral)19 b(view:)487 +5383 y Ff(\226)41 b Fg(data\003ow)21 b Ff(VHDL)f Fg(parser)g(and)g +(driver)-6 b(.)305 5545 y Fc(\017)41 b Fg(Str)o(uctural)20 +b(view:)487 5707 y Ff(\226)41 b(VHDL)21 b Fg(parser)e(and)i(driver)-6 +b(.)1938 5956 y(10)p eop %%Page: 11 11 -11 10 bop 120 262 a Fn(4)80 b(Supported)18 b(exchange)h(formats)120 -433 y Fg(The)f Ff(Alliance)h Fg(CAD)f(system)h(handles)f(many)g(\002le) -h(formats.)31 b(They)18 b(ar)o(e)f(summarized)h(her)o(e.)30 -b(A)18 b(\002le)h(can)f(be)120 499 y(either)13 b(r)o(ead,)g(using)h(a)g -Fj(parser)p Fg(,)d(or)j(written,)f(using)i(a)f Fj(driver)p -Fg(.)203 654 y Fc(\017)27 b Fg(Behavioral)14 b(view:)325 -765 y Ff(\226)27 b Fg(data\003ow)13 b Ff(VHDL)h Fg(parser)g(and)f -(driver)l(.)203 876 y Fc(\017)27 b Fg(Structural)14 b(view:)325 -986 y Ff(\226)27 b(VHDL)14 b Fg(parser)g(and)f(driver)l(.)325 -1075 y Ff(\226)27 b(EDIF)13 b Fg(parser)h(and)f(driver)l(.)325 -1163 y Ff(\226)27 b(Spice)13 b Fg(parser)h(and)f(driver)l(.)325 -1252 y Ff(\226)27 b(Compass)13 b Fg(parser)g(and)h(driver)l(.)325 -1340 y Ff(\226)27 b(Alliance)14 b Fg(parser)g(and)f(driver)l(.)325 -1429 y Ff(\226)27 b(Hilo)15 b Fg(driver)203 1540 y Fc(\017)27 -b Fg(Physical)15 b(view:)325 1650 y Ff(\226)27 b(Alliance)14 -b Fg(parser)g(and)f(driver)l(,)g(for)h(symbolic)g(layout.)325 -1739 y Ff(\226)27 b(Compass)13 b Fg(parser)g(and)h(driver)l(,)f(for)h -(symbolic)f(layout.)325 1828 y Ff(\226)27 b(Modgen)13 -b Fg(parser)h(and)f(driver)l(,)g(for)i(symbolic)e(layout.)325 -1916 y Ff(\226)27 b(CIF)13 b Fg(parser)h(and)f(driver)l(,)g(for)i(r)o -(eal)e(layout.)325 2005 y Ff(\226)27 b(GDSII)13 b Fg(parser)h(and)f -(driver)l(,)g(for)h(r)o(eal)f(layout.)120 2160 y(Being)j(able)e(to)j -(understand)f(and)g(write)f(many)h(\002le)g(formats)h(is)g(a)e(must.)25 -b(First,)17 b(in)f(a)g(development)f(envir)o(on-)120 -2226 y(ment,)e(as)h(it)h(allows)f(to)g(check)f(the)h(validity)g(of)g -(tools)h(on)f(other)g(CAD)g(systems.)k(Second,)13 b(because)g(some)h -(tools)120 2292 y(ar)o(e)g(not)g(available)g(or)g(desirable)f(within)j -Ff(Alliance)p Fg(,)e(but)h(may)e(be)h(useful)i(however:)i(it)c(is)h -(possible)h(to)e(feed)g(an)120 2359 y(other)g(softwar)o(e)g(with)g(a)g -(design)f(in)i(that)e(situation.)120 2470 y(The)i(experience)e(showa)i -(that)h(many)e(of)i(these)f(formats)h(ar)o(e)e(used)h(daily)-6 -b(.)20 b(For)15 b(example,)f(the)h(design)g(that)g(we)120 -2536 y(fabricate)j(thr)o(ough)i(the)f(CMP)h(services)f(ar)o(e)g -(transmitted)f(using)j(the)e Ff(GDSII)f Fg(format.)34 -b(The)18 b(\002nal)i Ff(DRC)g Fg(on)120 2602 y(these)14 -b(\002les)g(ar)o(e)f(performed)g(using)i Ff(Cadence)d -Fe(pdverify)p Fg(.)120 2713 y(An)j(other)g(example:)i -Ff(Alliance)e Fg(does)f(not)i(have)e(a)g(fault)i(simulator)f(yet.)k -(However)14 b(this)i(kind)f(of)g(tool)g(is)h(very)120 -2780 y(useful)k(to)f(evaluate)e(the)h(fault)i(coverage)d(of)i(a)f(set)g -(of)i(vectors)e(and)g(must)h(be)f(intr)o(oduced)g(in)h(a)f -Ff(VLSI)g Fg(class.)120 2846 y(This)d(is)f(hopefully)h(easilly)e(done)h -(using)h(the)e Ff(Hilo)i Fg(output)g(of)g Ff(Alliance)e -Fg(that)h(feed)f(the)h Fe(hifault)h Fg(simulator)l(.)120 -3081 y Fn(5)80 b(Alliance)18 b(internal)g(organization)120 -3251 y Fg(The)c(complete)f Ff(Alliance)h Fg(CAD)g(system)g(contains)g -(about)g(600)f(000)g(lines)i(of)f(C)g(code,)f(and)h(over)g(600)f(leaf)g -(cells.)120 3318 y(It)e(compiles)g(and)h(runs)f(on)h(most)g -Ff(Unix)f Fg(system,)h(and)f(r)o(equir)o(es)g(the)g(basic)g(X-W)m -(indow)i(library)d(X1)m(1)g(plus)j(Motif.)120 3384 y(The)g -(distribution)i(tape)f(shows)h(that)f(ther)o(e)f(ar)o(e)g(thr)o(ee)g -(kinds)h(of)g(\002les:)203 3539 y Fc(\017)27 b Fg(common)14 -b(data)f(structur)o(es)h(and)g(manipulation)g(primitives.)203 -3650 y Fc(\017)27 b Fg(parsers/drivers)14 b(to)g(r)o(ead)f(and)g(write) -h(external)e(\002le)i(formats.)203 3760 y Fc(\017)27 -b Fg(actual)14 b(tools.)1294 3971 y(1)m(1)p eop +11 10 bop 487 390 a Ff(\226)41 b(EDIF)21 b Fg(parser)f(and)g(driver)-6 +b(.)487 523 y Ff(\226)41 b(Spice)19 b Fg(parser)h(and)g(driver)-6 +b(.)487 656 y Ff(\226)41 b(Compass)20 b Fg(parser)g(and)g(driver)-6 +b(.)487 789 y Ff(\226)41 b(Alliance)18 b Fg(parser)i(and)g(driver)-6 +b(.)487 922 y Ff(\226)41 b(Hilo)21 b Fg(driver)305 1088 +y Fc(\017)41 b Fg(Physical)21 b(view:)487 1254 y Ff(\226)41 +b(Alliance)18 b Fg(parser)i(and)g(driver)-6 b(,)20 b(for)g(symbolic)i +(layout.)487 1386 y Ff(\226)41 b(Compass)20 b Fg(parser)g(and)g(driver) +-6 b(,)19 b(for)i(symbolic)h(layout.)487 1519 y Ff(\226)41 +b(Modgen)20 b Fg(parser)g(and)g(driver)-6 b(,)20 b(for)g(symbolic)i +(layout.)487 1652 y Ff(\226)41 b(CIF)21 b Fg(parser)f(and)g(driver)-6 +b(,)20 b(for)g(r)o(eal)g(layout.)487 1785 y Ff(\226)41 +b(GDSII)22 b Fg(parser)d(and)i(driver)-6 b(,)19 b(for)i(r)o(eal)e +(layout.)180 2017 y(Being)24 b(able)g(to)g(understand)g(and)g(write)g +(many)g(\002le)g(formats)g(is)h(a)f(must.)36 b(First,)25 +b(in)f(a)g(development)g(envir)o(on-)180 2117 y(ment,)d(as)g(it)g +(allows)g(to)h(check)e(the)i(validity)e(of)h(tools)h(on)g(other)f(CAD)f +(systems.)27 b(Second,)20 b(because)g(some)i(tools)180 +2217 y(ar)o(e)e(not)j(available)d(or)i(desirable)e(within)j +Ff(Alliance)p Fg(,)c(but)j(may)g(be)f(useful)h(however:)27 +b(it)22 b(is)g(possible)g(to)h(feed)d(an)180 2316 y(other)h(softwar)o +(e)f(with)h(a)g(design)g(in)g(that)g(situation.)180 2482 +y(The)i(experience)e(showa)j(that)e(many)h(of)g(these)g(formats)f(ar)o +(e)g(used)g(daily)-9 b(.)31 b(For)23 b(example,)f(the)h(design)g(that)g +(we)180 2582 y(fabricate)k(thr)o(ough)j(the)f(CMP)f(services)h(ar)o(e)e +(transmitted)i(using)h(the)f Ff(GDSII)h Fg(format.)49 +b(The)29 b(\002nal)g Ff(DRC)g Fg(on)180 2682 y(these)21 +b(\002les)g(ar)o(e)e(performed)h(using)i Ff(Cadence)c +Fe(pdverify)p Fg(.)180 2848 y(An)k(other)g(example:)28 +b Ff(Alliance)19 b Fg(does)j(not)h(have)e(a)h(fault)g(simulator)g(yet.) +30 b(However)22 b(this)g(kind)h(of)f(tool)h(is)f(very)180 +2947 y(useful)28 b(to)g(evaluate)e(the)i(fault)f(coverage)g(of)h(a)f +(set)h(of)g(vectors)f(and)h(must)g(be)g(intr)o(oduced)f(in)h(a)f +Ff(VLSI)g Fg(class.)180 3047 y(This)21 b(is)g(hopefully)h(easilly)f +(done)f(using)i(the)f Ff(Hilo)f Fg(output)i(of)e Ff(Alliance)e +Fg(that)j(feed)f(the)h Fe(hifault)e Fg(simulator)-6 b(.)180 +3399 y Fn(5)119 b(Alliance)29 b(internal)g(organization)180 +3655 y Fg(The)21 b(complete)g Ff(Alliance)d Fg(CAD)j(system)g(contains) +h(about)f(600)e(000)h(lines)h(of)g(C)g(code,)f(and)h(over)g(600)e(leaf) +h(cells.)180 3754 y(It)d(compiles)h(and)e(r)o(uns)i(on)g(most)g +Ff(Unix)d Fg(system,)j(and)f(r)o(equir)o(es)f(the)h(basic)g(X-W)-5 +b(indow)18 b(library)e(X1)-5 b(1)17 b(plus)h(Motif.)180 +3854 y(The)j(distribution)g(tape)f(shows)i(that)f(ther)o(e)f(ar)o(e)f +(thr)o(ee)h(kinds)i(of)f(\002les:)305 4086 y Fc(\017)41 +b Fg(common)22 b(data)d(str)o(uctur)o(es)i(and)f(manipulation)i +(primitives.)305 4252 y Fc(\017)41 b Fg(parsers/drivers)19 +b(to)i(r)o(ead)e(and)i(write)f(external)g(\002le)h(formats.)305 +4418 y Fc(\017)41 b Fg(actual)19 b(tools.)180 4651 y +Ff(Alliance)c Fg(as)i(been)g(developed)g(in)g(or)o(der)g(to)h(simplify) +g(cooperative)f(work)h(between)f(the)h(CAD)f(tool)h(designers.)180 +4751 y(The)31 b(existence)g(of)g(a)g(common)h(data)e(str)o(uctur)o(e)h +(framework)f(r)o(eleaves)g(the)h(developer)f(of)i(many)f(bur)o(dens:) +180 4850 y(r)o(eading)18 b(and)h(writing)h(many)f(\002le)g(format,)g +(conceptualizing)g(the)g(VLSI)g(objects,)h(writing)g(classical)e(high)i +(level)180 4950 y(and)i(nevertheless)g(complex)g(functions,)h(...)29 +b(All)22 b(the)g Ff(Alliance)d Fg(tools)k(shar)o(e)f(these)g(data)f +(str)o(uctur)o(es)g(and)h(their)180 5049 y(r)o(elated)d(functions.)27 +b(So)20 b(each)g(tool)i(communicates)g(with)f(the)g(other)g(ones)g +(smoothly)-9 b(,)23 b(by)d(constr)o(uction.)180 5402 +y Fn(6)119 b(Use)30 b(of)g(Alliance)f(inside)g(our)h(laboratory)180 +5657 y Ff(Alliance)18 b Fg(is)j(used)g(for)f(both)h(educational)g(and)f +(r)o(esear)o(ch)f(purposes.)25 b(W)-8 b(e)21 b(r)o(elate)f(our)h +(experience)e(below)-8 b(.)1941 5956 y(1)j(1)p eop %%Page: 12 12 -12 11 bop 480 207 1680 3 v 479 273 3 67 v 550 253 a Fg(Pr)o(oject)p -786 273 V 103 w(transistors)p 1108 273 V 68 w(Functionality)p -2158 273 V 480 276 1680 3 v 479 342 3 67 v 569 322 a -Ff(Smal)p 786 342 V 174 w Fg(17)13 b(000)p 1108 342 V -118 w(one)h(bit)f(pr)o(ocessor)h(for)h(SIMD)e(ar)o(chitectur)o(es)p -2158 342 V 480 344 1680 3 v 479 411 3 67 v 514 391 a -Ff(Data-safe)p 786 411 V 117 w Fg(35)g(000)p 1108 411 -V 118 w(dynamic)g(data)g(encryption)g(chips)p 2158 411 -V 480 413 1680 3 v 479 479 3 67 v 574 459 a Ff(TNT)p -786 479 V 178 w Fg(60)g(000)p 1108 479 V 118 w(switch-r)o(outer)h(for)h -(T800)e(transputerss)p 2158 479 V 480 482 1680 3 v 479 -548 3 67 v 551 528 a Ff(FRISC)p 786 548 V 140 w Fg(200)g(000)p -1108 548 V 104 w(\003oating-point)i Ff(RISC)e Fg(micr)o(opr)o(ocessor)p -2158 548 V 480 550 1680 3 v 479 617 3 67 v 557 597 a -Ff(StaCS)p 786 617 V 147 w Fg(875)g(000)p 1108 617 V -104 w(V)-6 b(ery)13 b(Long)g(Instruction)i(W)-5 b(or)o(d)14 -b(pr)o(ocessor)p 2158 617 V 480 619 1680 3 v 479 685 -3 67 v 543 665 a Ff(Rapid2)p 786 685 V 133 w Fg(650)f(000)p -1108 685 V 104 w(SIMD)g(systolic)i(and)f(associative)g(pr)o(ocessor)p -2158 685 V 480 687 1680 3 v 479 754 3 67 v 554 734 a -Ff(Rcube)p 786 754 V 143 w Fg(350)f(000)p 1108 754 V -104 w(Message)g(r)o(outer)h(for)g(parallel)g(machines)p -2158 754 V 480 756 1680 3 v 737 857 a(Figur)o(e)g(4:)i(V)-5 -b(arious)15 b(chips)f(designed)f(with)i Ff(Alliance)p -Fg(.)120 1039 y Ff(Alliance)d Fg(as)g(been)e(developed)h(in)h(or)o(der) -f(to)g(simplify)i(cooperative)e(work)h(between)e(the)h(CAD)h(tool)g -(designers.)120 1105 y(The)20 b(existence)g(of)h(a)f(common)h(data)f -(structur)o(e)h(framework)f(r)o(eleaves)f(the)i(developer)f(of)h(many)f -(bur)o(dens:)120 1171 y(r)o(eading)12 b(and)g(writing)h(many)f(\002le)h -(format,)g(conceptualizing)f(the)h(VLSI)f(objects,)g(writing)h -(classical)f(high)h(level)120 1238 y(and)h(nevertheless)h(complex)f -(functions,)i(...)j(All)c(the)g Ff(Alliance)f Fg(tools)i(shar)o(e)f -(these)f(data)g(structur)o(es)h(and)f(their)120 1304 -y(r)o(elated)e(functions.)19 b(So)14 b(each)f(tool)h(communicates)g -(with)g(the)g(other)f(ones)i(smoothly)-6 b(,)14 b(by)f(construction.) -120 1539 y Fn(6)80 b(Use)20 b(of)g(Alliance)e(inside)h(our)h -(laboratory)120 1709 y Ff(Alliance)14 b Fg(is)g(used)g(for)h(both)f -(educational)f(and)g(r)o(esear)o(ch)g(purposes.)18 b(W)-5 -b(e)14 b(r)o(elate)e(our)j(experience)c(below)-5 b(.)120 -1916 y Fd(Educational)16 b(aspects)120 2065 y Fg(The)k -Ff(Alliance)f Fg(System)h(has)g(been)f(extensively)g(used)h(during)g -(the)f(past)i(eight)e(academic)f(years)h(\(89-97\))h(as)120 -2132 y(a)d(practical)f(support)j(of)f(two)g(under)o(graduate)e -(courses:)25 b(one)17 b(on)h Ff(CMOS)g(VLSI)f Fg(design,)h(the)f(other) -g(one)h(on)120 2198 y Ff(advanced)10 b(computer)h(architecture)p -Fg(.)j(These)e(initiation)h(courses)f(lasts)h(13)f(weeks)f(with)i(a)e -(2)h(hours)h(lectur)o(e)e(and)120 2264 y(4)j(hours)g(spent)h(using)g -(the)e Ff(Alliance)h Fg(system)g(per)g(week,)e(and)i(involves)h(60)e -(students)i(and)e(3)h(teachers.)120 2375 y(The)19 b(`)p -Ff(VLSI)g Fg(design')g(course)g(is)h(for)f(students)h(that)g(have)e(no) -i(pr)o(evious)g(knowledge)e(on)i Ff(VLSI)e Fg(design)h(and)120 -2442 y(mainly)d(come)g(fr)o(om)h(two)g(distinct)g(channels:)22 -b("computer)16 b(science")f(and)h("electrical)e(engineering")h(masters) -120 2508 y(of)g(sciences.)h(During)e(this)h(course,)f(students)g(ar)o -(e)f(r)o(equir)o(ed)g(to)h(design)g(and)g(implement)f(an)h -Ff(AMD2901)f Fg(com-)120 2574 y(patible)f(pr)o(ocessor)l(,)g(starting)h -(fr)o(om)g(a)f(commer)o(cial)e(data-sheet.)16 b(The)c(chip,)h(with)g(a) -f(complexity)f(of)i(about)f(2000)120 2641 y(transistors,)j(is)f -(designed)f(by)g(gr)o(oups)i(of)f(2)g(or)f(3)h(students.)k(The)13 -b(main)h(inter)o(est)f(in)h(this)h(course)e(is)i(to)f(teach)e(the)120 -2707 y(design)i(methodology)-6 b(.)16 b(Most)f(of)g(the)e -Ff(Alliance)h Fg(tools)h(ar)o(e)e(used)h(during)g(this)h(class.)120 -2818 y(The)f(`ar)o(chitectur)o(e')f(course)i(focuses)g(on)g(the)f(way)g -(pr)o(ocessor)h(ar)o(chitectur)o(e,)d(fr)o(om)j(the)f(system)h(point)g -(of)g(view)120 2884 y(and)g(not)h(fr)o(om)g(an)f(implementation)g(one.) -22 b(T)-5 b(ypical)14 b Ff(CISC)h Fg(and)g Ff(RISC)g -Fg(pr)o(ocessors)h(ar)o(e)e(studied,)i(and)f(part)g(of)120 -2951 y(them)e(modelized)g(using)i(our)f Ff(VHDL)g Fg(subset.)j(In)d -(that)g(class,)g(only)g(the)g Fe(asimut)h Fg(simulator)f(is)h(used.)120 -3061 y Ff(Alliance)h Fg(is)h(also)f(used)g(in)g(an)g(intensive)g -(graduate)f(course,)h(for)h(the)e(design)h(of)h(the)f(32)f(bits)h(micr) -o(opr)o(ocessor)120 3128 y Fe(dlx)22 b Ff(RISC)e Fg(pr)o(ocessor)i -(\226)e(30000)g(transistors)i(\226.)39 b(This)22 b(course)f(lasts)h -(two)f(months,)j(and)d(aims)g(only)g(at)g(the)120 3194 -y(implementation)14 b(:)j(the)c(high)h(level)g(behavioral)f(model)g(of) -h(the)g(pr)o(ocessor)g(is)h(given)e(to)h(the)g(students.)k(During)120 -3261 y(that)c(period)f(of)i(time,)e(all)h(the)f Ff(Alliance)h -Fg(tools)h(ar)o(e)e(used.)120 3467 y Fd(Research)18 b(projects)120 -3616 y Fg(These)g(pr)o(ojects)g(range)g(fr)o(om)h(medium)f(complexity)f -(ASICs)i(developed)e(in)i(6)f(months)i(by)e(a)g(couple)g(of)h(de-)120 -3683 y(signers)g Ff(Data-safe)p Fg(,)f Ff(TNT)p Fg(,)f -Ff(Smal)p Fg(,)j Ff(Rf264)p Fg(,etc...\))27 b(to)19 b(high)f -(complexity)g(cir)o(cuits)g(\()p Ff(FRISC)p Fg(,)f Ff(Multick)p -Fg(,)j Ff(StaCS)p Fg(,)120 3749 y Ff(Rapid2)p Fg(,)13 -b Ff(Rcube)p Fg(\))g(developed)g(by)g(a)h(team)f(of)h(PhD)g(students.) -1292 3971 y(12)p eop +12 11 bop 721 311 2519 4 v 719 410 4 100 v 825 380 a +Fg(Pr)o(oject)p 1178 410 V 155 w(transistors)p 1663 410 +V 100 w(Functionality)p 3238 410 V 721 413 2519 4 v 719 +513 4 100 v 854 483 a Ff(Smal)p 1178 513 V 259 w Fg(17)20 +b(000)p 1663 513 V 176 w(one)h(bit)g(pr)o(ocessor)g(for)f(SIMD)g(ar)o +(chitectur)o(es)p 3238 513 V 721 516 2519 4 v 719 616 +4 100 v 771 586 a Ff(Data-safe)p 1178 616 V 175 w Fg(35)g(000)p +1663 616 V 176 w(dynamic)h(data)e(encryption)j(chips)p +3238 616 V 721 619 2519 4 v 719 719 4 100 v 860 689 a +Ff(TNT)p 1178 719 V 269 w Fg(60)e(000)p 1663 719 V 176 +w(switch-r)o(outer)h(for)f(T800)f(transputerss)p 3238 +719 V 721 722 2519 4 v 719 822 4 100 v 826 792 a Ff(FRISC)p +1178 822 V 212 w Fg(200)h(000)p 1663 822 V 155 w(\003oating-point)i +Ff(RISC)f Fg(micr)o(opr)o(ocessor)p 3238 822 V 721 825 +2519 4 v 719 925 4 100 v 835 895 a Ff(StaCS)p 1178 925 +V 220 w Fg(875)f(000)p 1663 925 V 155 w(V)-9 b(ery)20 +b(Long)i(Instr)o(uction)g(W)-8 b(or)o(d)20 b(pr)o(ocessor)p +3238 925 V 721 928 2519 4 v 719 1028 4 100 v 814 998 +a Ff(Rapid2)p 1178 1028 V 199 w Fg(650)g(000)p 1663 1028 +V 155 w(SIMD)g(systolic)i(and)e(associative)h(pr)o(ocessor)p +3238 1028 V 721 1031 2519 4 v 719 1131 4 100 v 830 1101 +a Ff(Rcube)p 1178 1131 V 216 w Fg(350)f(000)p 1663 1131 +V 155 w(Message)g(r)o(outer)g(for)h(parallel)e(machines)p +3238 1131 V 721 1134 2519 4 v 1106 1285 a(Figur)o(e)i(4:)k(V)-8 +b(arious)21 b(chips)g(designed)f(with)i Ff(Alliance)p +Fg(.)180 1552 y Fd(Educational)j(aspects)180 1773 y Fg(The)30 +b Ff(Alliance)d Fg(System)j(has)f(been)h(extensively)g(used)f(during)h +(the)g(past)g(eight)g(academic)e(years)i(\(89-97\))c(as)180 +1873 y(a)g(practical)f(support)h(of)g(two)h(under)o(graduate)d +(courses:)36 b(one)27 b(on)g Ff(CMOS)f(VLSI)f Fg(design,)j(the)e(other) +h(one)f(on)180 1973 y Ff(advanced)16 b(computer)h(architecture)p +Fg(.)k(These)d(initiation)i(courses)e(lasts)g(13)f(weeks)i(with)f(a)g +(2)g(hours)g(lectur)o(e)f(and)180 2072 y(4)j(hours)i(spent)f(using)g +(the)g Ff(Alliance)d Fg(system)k(per)e(week,)g(and)h(involves)g(60)f +(students)h(and)f(3)h(teachers.)180 2235 y(The)29 b(`)p +Ff(VLSI)f Fg(design')h(course)g(is)g(for)f(students)h(that)g(have)f(no) +h(pr)o(evious)g(knowledge)g(on)g Ff(VLSI)f Fg(design)h(and)180 +2335 y(mainly)c(come)g(fr)o(om)g(two)g(distinct)h(channels:)34 +b("computer)24 b(science")h(and)f("electrical)g(engineering")h(masters) +180 2434 y(of)c(sciences.)26 b(During)21 b(this)h(course,)e(students)i +(ar)o(e)d(r)o(equir)o(ed)g(to)j(design)f(and)f(implement)i(an)e +Ff(AMD2901)f Fg(com-)180 2534 y(patible)f(pr)o(ocessor)-6 +b(,)18 b(starting)h(fr)o(om)f(a)g(commer)o(cial)g(data-sheet.)23 +b(The)c(chip,)g(with)g(a)f(complexity)h(of)g(about)f(2000)180 +2634 y(transistors,)j(is)g(designed)f(by)h(gr)o(oups)f(of)h(2)f(or)h(3) +f(students.)26 b(The)20 b(main)h(inter)o(est)f(in)h(this)g(course)g(is) +g(to)g(teach)f(the)180 2733 y(design)h(methodology)-9 +b(.)27 b(Most)21 b(of)g(the)g Ff(Alliance)c Fg(tools)22 +b(ar)o(e)e(used)g(during)h(this)h(class.)180 2896 y(The)f(`ar)o +(chitectur)o(e')f(course)i(focuses)f(on)h(the)g(way)g(pr)o(ocessor)f +(ar)o(chitectur)o(e,)e(fr)o(om)i(the)h(system)g(point)g(of)g(view)180 +2996 y(and)h(not)g(fr)o(om)g(an)g(implementation)h(one.)33 +b(T)-7 b(ypical)22 b Ff(CISC)h Fg(and)g Ff(RISC)f Fg(pr)o(ocessors)h +(ar)o(e)f(studied,)h(and)g(part)f(of)180 3096 y(them)f(modelized)f +(using)i(our)f Ff(VHDL)f Fg(subset.)26 b(In)21 b(that)g(class,)f(only)i +(the)f Fe(asimut)f Fg(simulator)h(is)g(used.)180 3259 +y Ff(Alliance)g Fg(is)j(also)g(used)g(in)g(an)g(intensive)h(graduate)d +(course,)i(for)g(the)g(design)g(of)g(the)g(32)f(bits)h(micr)o(opr)o +(ocessor)180 3358 y Fe(dlx)31 b Ff(RISC)h Fg(pr)o(ocessor)f(\226)g +(30000)e(transistors)k(\226.)57 b(This)33 b(course)e(lasts)h(two)g +(months,)k(and)31 b(aims)h(only)h(at)e(the)180 3458 y(implementation)22 +b(:)j(the)c(high)h(level)e(behavioral)g(model)h(of)g(the)g(pr)o +(ocessor)f(is)h(given)g(to)h(the)e(students.)26 b(During)180 +3557 y(that)21 b(period)f(of)h(time,)g(all)f(the)h Ff(Alliance)d +Fg(tools)k(ar)o(e)d(used.)180 3862 y Fd(Research)24 b(projects)180 +4084 y Fg(These)k(pr)o(ojects)f(range)g(fr)o(om)g(medium)h(complexity)h +(ASICs)e(developed)f(in)i(6)f(months)j(by)d(a)h(couple)f(of)h(de-)180 +4183 y(signers)g Ff(Data-safe)p Fg(,)e Ff(TNT)p Fg(,)i +Ff(Smal)p Fg(,)g Ff(Rf264)p Fg(,etc...\))42 b(to)28 b(high)g +(complexity)g(cir)o(cuits)f(\()p Ff(FRISC)p Fg(,)g Ff(Multick)p +Fg(,)g Ff(StaCS)p Fg(,)180 4283 y Ff(Rapid2)p Fg(,)19 +b Ff(Rcube)p Fg(\))g(developed)h(by)g(a)h(team)f(of)h(PhD)g(students.) +180 4446 y(The)k(thr)o(ee)g(lar)o(gest)g(cir)o(cuits)g(described)f(in)i +(table)f Ff(??)g Fg(use)g(not)h(only)h(standar)o(d-cells)c(but)j(also)f +(parameterized)180 4545 y(generators)h(for)f(r)o(egular)g(blocks)h +(like)h Fj(RAM)p Fg(s,)g(data-paths,)f(or)g(\003oating-point)h +(operators.)41 b(The)25 b Ff(FRISC)h Fg(and)180 4645 +y Ff(TNT)31 b Fg(pr)o(ojects)g(successfully)g(used)f(the)g +Ff(Cadence)f Fg(and)h Ff(Compass)f Fg(place)h(and)g(r)o(oute)g(tools,)k +(and)c(ther)o(efor)o(e)180 4745 y(pr)o(ove)20 b(the)h(inter)o +(operability)f(of)h(the)g Ff(Alliance)d Fg(system.)180 +4908 y(A)i(pictur)o(e)g(of)h(the)g Ff(StaCS)e Fg(pr)o(ocessor)i(is)g +(shown)h(\002gur)o(e)e Ff(??)p Fg(.)180 5255 y Fn(7)119 +b(Conclusion)180 5508 y Fg(W)-8 b(e)20 b(ar)o(e)e(very)h(satis\002ed)g +(to)h(use)f(a)g(set)h(of)f(tools)i(of)e(our)h(own)g(for)g(teaching)f +Ff(CMOS)h(VLSI)e Fg(design)i(for)f(two)h(good)180 5608 +y(r)o(easons.)41 b(First,)27 b(we)f(simply)h(can't)f(af)o(for)o(d)d(50) +i(high)i(end)f(workstations)h(to)f(r)o(un)h(commer)o(cial)e(CAD)h +(systems)180 5707 y(like)18 b Ff(Compass)p Fg(,)f Ff(Mentor)h(Graphics) +e Fg(or)i Ff(Cadence)p Fg(.)23 b(Second,)17 b(both)i(the)f +Ff(Compass)f Fg(and)g Ff(Cadence)f Fg(system)i(have)1938 +5956 y(12)p eop %%Page: 13 13 -13 12 bop 120 260 a Fg(The)18 b(thr)o(ee)g(lar)o(gest)g(cir)o(cuits)g -(described)f(in)i(table)e(4)h(use)h(not)g(only)g(standar)o(d-cells)f -(but)h(also)g(parameterized)120 327 y(generators)d(for)i(r)o(egular)f -(blocks)g(like)f Fj(RAM)p Fg(s,)j(data-paths,)f(or)f(\003oating-point)i -(operators.)27 b(The)17 b Ff(FRISC)f Fg(and)120 393 y -Ff(TNT)k Fg(pr)o(ojects)g(successfully)i(used)f(the)f -Ff(Cadence)e Fg(and)i Ff(Compass)f Fg(place)h(and)g(r)o(oute)g(tools,)j -(and)d(ther)o(efor)o(e)120 459 y(pr)o(ove)14 b(the)g(inter)o -(operability)e(of)j(the)f Ff(Alliance)f Fg(system.)120 -570 y(A)h(pictur)o(e)f(of)i(the)f Ff(StaCS)f Fg(pr)o(ocessor)h(is)h -(shown)g(\002gur)o(e)f Ff(??)o Fg(.)120 805 y Fn(7)80 -b(Conclusion)120 975 y Fg(W)-5 b(e)13 b(ar)o(e)f(very)g(satis\002ed)i -(to)f(use)g(a)g(set)g(of)h(tools)g(of)f(our)h(own)f(for)h(teaching)e -Ff(CMOS)h(VLSI)f Fg(design)h(for)h(two)f(good)120 1042 -y(r)o(easons.)28 b(First,)18 b(we)f(simply)h(can't)f(af)o(for)o(d)h(50) -e(high)i(end)f(workstations)h(to)g(run)f(commer)o(cial)f(CAD)h(systems) -120 1108 y(like)11 b Ff(Compass)p Fg(,)g Ff(Mentor)h(Graphics)e -Fg(or)i Ff(Cadence)p Fg(.)j(Second,)c(both)h(the)g Ff(Compass)e -Fg(and)i Ff(Cadence)e Fg(system)i(have)120 1174 y(been)h(used)h(in)h(r) -o(esear)o(ch)e(pr)o(oject)h(at)f Ff(MASI)p Fg(.)h(They)g(ar)o(e)f -(powerful)i(and)f(sophisticated)h(envir)o(onments)g(but)f(ar)o(e)120 -1241 y(much)i(too)h(complex)e(for)i(novice)f(under)o(graduate)f -(students.)25 b(The)16 b(gr)o(eat)f(advantage)g(of)i(the)f -Ff(Alliance)g Fg(CAD)120 1307 y(system)i(is)g(that)f(we)h(have)f(done)g -(our)h(best)f(to)h(stick)g(to)f(the)h(basic)f(yet)f(powerful)j -(concepts)e(of)i Ff(VLSI)d Fg(design.)120 1374 y(T)-5 -b(o)21 b(each)f(tool)i(corr)o(espond)f(a)g(unique)h(functionnality)-6 -b(,)23 b(that)e(cannot)h(be)e(changed)g(or)h(worked)f(ar)o(ound)i(by) -120 1440 y(parameter)14 b(\002les.)24 b(At)16 b(last,)g(we)g -(experienced)d(that)j(the)g(technology)f(migration)h(and)f(pr)o(ocess)i -(independence)120 1507 y(ar)o(e)c(key)g(issues.)18 b(Hence,)13 -b(it)h(is)g(crucial)f(to)h(r)o(ely)f(on)h(a)g(portable)f(library)g(at)g -(the)h(symbolic)f(layout)h(level.)120 1617 y(The)g Ff(Alliance)g -Fg(package)f(is)i(now)f(in)h(use)g(all)f(over)g(the)g(world,)g(and)g -(mor)o(e)g(than)g(250)g(sites)h(have)f(r)o(egister)o(ed)e(to-)120 -1684 y(day)-6 b(.)15 b(It)10 b(is)h(available)f(thr)o(ough)h(anonymous) -g Fe(ftp)g Fg(at)g Fe(ftp.lip6.fr)p Fg(,)i(under)d(the)h -Fe(/lip6/softs/alliance)120 1750 y Fg(dir)o(ectory)-6 -b(.)120 1861 y(Ther)o(e)13 b(is)i(an)f Ff(Alliance)g -Fg(mailing)g(list,)h(wher)o(e)f(users)h(can)e(shar)o(e)h(their)g(views) -h(and)f(pr)o(oblems,)g(and)f(our)i(team)e(is)120 1927 -y(always)i(r)o(eady)e(to)i(answer)f(questions.)21 b(The)15 -b(addr)o(ess)f(of)h(this)h(mailing)e(list)i(is)f Fe -(alliance@asim.lip6.fr)p Fg(.)120 1994 y(The)e(support)j(of)e -Ff(Alliance)g Fg(can)g(be)e(joined)i(at)g Fe(alliance-support@asim.li)q -(p6.f)q(r)p Fg(.)1292 3971 y(13)p eop +13 12 bop 180 390 a Fg(been)21 b(used)g(in)h(r)o(esear)o(ch)d(pr)o +(oject)i(at)g Ff(MASI)p Fg(.)g(They)g(ar)o(e)f(powerful)i(and)e +(sophisticated)i(envir)o(onments)g(but)f(ar)o(e)180 490 +y(much)k(too)g(complex)f(for)g(novice)h(under)o(graduate)d(students.)37 +b(The)24 b(gr)o(eat)f(advantage)g(of)h(the)h Ff(Alliance)c +Fg(CAD)180 589 y(system)27 b(is)g(that)f(we)g(have)g(done)h(our)f(best) +g(to)h(stick)g(to)f(the)h(basic)f(yet)g(powerful)g(concepts)h(of)f +Ff(VLSI)g Fg(design.)180 689 y(T)-8 b(o)32 b(each)f(tool)i(corr)o +(espond)e(a)g(unique)i(functionnality)-9 b(,)35 b(that)d(cannot)g(be)f +(changed)g(or)h(worked)g(ar)o(ound)f(by)180 789 y(parameter)22 +b(\002les.)35 b(At)24 b(last,)g(we)g(experienced)e(that)i(the)g +(technology)h(migration)g(and)e(pr)o(ocess)h(independence)180 +888 y(ar)o(e)19 b(key)i(issues.)26 b(Hence,)21 b(it)g(is)g(cr)o(ucial)f +(to)h(r)o(ely)f(on)i(a)e(portable)g(library)h(at)f(the)h(symbolic)h +(layout)f(level.)180 1054 y(The)g Ff(Alliance)e Fg(package)h(is)i(now)g +(in)g(use)g(all)f(over)g(the)g(world,)h(and)f(mor)o(e)g(than)h(250)e +(sites)h(have)g(r)o(egister)o(ed)f(to-)180 1154 y(day)-9 +b(.)23 b(It)16 b(is)g(available)e(thr)o(ough)j(anonymous)g +Fe(ftp)e Fg(at)h Fe(ftp.lip6.fr)p Fg(,)e(under)h(the)h +Fe(/lip6/softs/alliance)180 1254 y Fg(dir)o(ectory)-9 +b(.)180 1420 y(Ther)o(e)20 b(is)i(an)f Ff(Alliance)d +Fg(mailing)23 b(list,)e(wher)o(e)g(users)g(can)g(shar)o(e)g(their)g +(views)h(and)e(pr)o(oblems,)h(and)g(our)h(team)f(is)180 +1519 y(always)h(r)o(eady)e(to)j(answer)e(questions.)31 +b(The)22 b(addr)o(ess)f(of)h(this)g(mailing)h(list)g(is)f +Fe(alliance@asim.lip6.fr)p Fg(.)180 1619 y(The)f(support)g(of)f +Ff(Alliance)e Fg(can)j(be)f(joined)i(at)e Fe +(alliance-support@asim.lip6.fr)p Fg(.)1938 5956 y(13)p +eop %%Trailer end userdict /end-hook known{end-hook}if diff --git a/alliance/share/doc/overview/Makefile b/alliance/share/doc/overview/Makefile index e5688bf9..8e1b890a 100644 --- a/alliance/share/doc/overview/Makefile +++ b/alliance/share/doc/overview/Makefile @@ -1,11 +1,13 @@ MYFILE=overview -all : $(MYFILE).tex +ps : $(MYFILE).tex latex $(MYFILE).tex dvips $(MYFILE).dvi -o $(MYFILE).ps + cp -f $(MYFILE).ps .. + view : - gs $(MYFILE).ps + gv $(MYFILE).ps clean : rm -f $(MYFILE).ps *.log *.dvi *.aux