Eindhoven University of Technology MASTER Ontwerp van … · door J.P. Dieleman afstudeerverslag...

68
Eindhoven University of Technology MASTER Ontwerp van een non-blocking netwerk voor een digitale telefooncentrale Dieleman, J.P. Award date: 1987 Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim. Download date: 03. Jul. 2018

Transcript of Eindhoven University of Technology MASTER Ontwerp van … · door J.P. Dieleman afstudeerverslag...

Eindhoven University of Technology

MASTER

Ontwerp van een non-blocking netwerk voor een digitale telefooncentrale

Dieleman, J.P.

Award date:1987

DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Studenttheses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the documentas presented in the repository. The required complexity or quality of research of student theses may vary by program, and the requiredminimum study period may vary in duration.

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright ownersand it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain

Take down policyIf you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediatelyand investigate your claim.

Download date: 03. Jul. 2018

TECHNISCHE UNIVERSITEIT EINDHOVEN

FACULTEIT DER ELEKTROTECHNIEK

ONTWERP VAN EEN NON-BLOCKING NETWERKVOOR EEN DIGITALE TELEFOONCENTRALE

door J.P. Dieleman

afstudeerverslagperiode oktober 1986 - augustus 1987afstudeerhoogleraar : prof. ir. A. Heetman

voorwoord

Dit verslag is ontstaan naar aanleiding van mlJn afstudeerwerk bij devakgroep Digitale Systemen (EB). Het afstudeerwek betrof een opdrachtbinnen het proj ekt Digitale Telefonie en is onder begeleiding vanprofessor A. Heetman uitgevoerd.

Ik ben veel personen dank verschuldigd voor de hulp die ze mij tijdenshet afstuderen hebben geboden. In het bijzonder wil ik professor Heetmanbedanken voor zlJn enthousiaste begeleiding. Zijn enthousiasme endeskundigheid samen maakten een kort gesprek met hem vaak zinvoller danlange uiteenzettingen met menig ander.

Daarnaast gaat mijn dank uit naar aile medewerkers en studenten van devakgroep EB voor het scheppen van een aangename, zij het enigszinschaotische, werksfeer.

De vakgroep Automatisch Systeemontweroen (ES) wil ik bedanken voor hungastvrijheid. Een groot gedeelte van mijn afstudeerwerk heeft daarplaatsgevonden. Veel medewerkers van deze vakgroep heb ik regelmatiglastig gevallen met vragen. Hun geduld wordt door mij zeer op prij sgesteld. Met name wil ik hier bedanken dr. F. Theeuwen, ir. L. vanGinneken. ir. J. Pineda, ing. H. Rohenbach en H. Huijnen.

Van de vakgroep Informatietheorie (EI) wil ik dr. A. Vinck bedanken voorzijn bijdrage aan het onderwerp " foutencorrigerende codes".

Hans Dieleman

Eindhoven, augustus 1987.

2

Samenvatting

Een digitale telefooncentrale die gebruik maakt van het Time DivisionMultiplex principe moet zowel in de tijd als in de plaats kunnenschake len time- en space-switching. Space-switching kan wordengerealiseerd met een schakelnetwerk.

Het antwerp van een schakelnetwerk dat geschikt is voor een TDM-formaatvan 64 tijdsloten per frame van 125 us wordt besproken. Hetschakelnetwerk is non-blocking. Dit wordt gerealiseerd door gebruik temaken van een schakelmatrix als er weinig «36) lijnen zijn en van een3-traps Clos-netwerk als er veel lijnen nodig zijn.

Bij het antwerp wordt aandacht besteed aan de mogelijkheden die er zlJnvoor foutenbeheersing. De schakelinformatie kan worden beveiligd zodatenkele fouten kunnen worden gecorrigeerd en dubbele fouten gedetekteerd.Hetzelfde geldt voor de te schakelen informatie. Andere fouten kunnenaIleen door functioneel testen worden gevonden.

Een 4*4 schakelmatrix zander foutencorrectie is in NMOS-techniek alsgeintegreerd circuit ontworpen. Het antwerp is opgedeeld in een aantaldeelelementen die allen door simulatie de juiste werking zijn getest.Het geheel is nag niet gesimuleerd. Dit moet nag gebeuren voordat het ICkan worden gemaakt.

De ontworpen deelelmenten kunnen opnieuw worden gebruikt indien hetschakelnetwerk wordt uitgebreid of aangepast.

3

Inhoudsopgave

1. Inleiding 52. Digitale Telefonie ,., 6

2.1 Het PCM/TDM principe 62.2 De hoeveelheid verkeer per lijn 72.3 Het doorschakelen van telefoongesprekken 82.4 OplJouw van een centrale 8

2.4.1 Matrix van time-shifters 82.4.2 Schakelnetwerk in combinatie met time-shifters 10

3. Ontwerp van een non-blocking netwerk 143.1 Bas is struktuur 14

3.1.1 16*16 matrix 143.1.2 16*1 element 15

3.2 Foutenbeheersing 163.2.1 Foutenbeheersing in het geheugen 163.2.2 Testbaarheid van een matrix 183.2.3 Foutencontrole op de lijn 19

3.3 Het 3-traps netwerk 194. Realisatie van een 4*4 schakelmatrix in NMOS 22

4.1 Transistoren en logische elementen in NMOS 224.1.1 De transistor 224.1.2 De inverter 234.1.3 NANDS en NORS 23

4.2 Ontwerp van de compounds voor de schakelmatrix 244.2.1 Het schuifgeheugen 244.2.2 De multiplexer 254.2.3 Interconnectie van compounds 264.2.4 Vermogensdissipatie 28

4.3 Realisatie van de compounds voor de schakelmatrix 294.3.1 Compound "input" 304.3.2 Compound "multipl" 314.3.3 Compound "memory" 334.3.4 Compound "select" 354.3.5 Compound "direct" 364.3.6 Compound "tripad" 374.3.7 Compound "in" 38

4.4 Het totale IC : layout en vermogensdissipatie 394.4.1 Layout 394.4.2 Vermogensdissipatie 40

4.5 CMOS-technologie 415. Conclusies en aanbevelingen 43Literatuur 44

Bijlage 1Bijlage 2

Foutencorrigerende codes 45Simula tiere suI ta ten 56

4

1. Inleiding

De telefonie is een oud vakgebied. De basis werd in 1876 gelegd doorGraham Bell met de uitvinding van de elektromagnetische telefoon. Reedsin 1878 werden in de Verenigde Staten de eerste telefooncentrales ingebruik genomen. Sindsdien hebben diverse ontwikkelingen er voor gezorgddat het telefoonverkeer automatisch kan worden afgehandeld en dat ersprake is van een goede kwaliteit en betrouwbaarheid.

Door de invoering van de digitale technieken in de telefoon-centralesvinden de laatste jaren ingrijpende veranderingen binnen de telefonieplaats. Digitale centrales die werken met puIs-code modulatie (PCM) entime-division multiplexing (TDM) kunnen veel kleiner worden gemaakt dande oude centrales met relais-techniek. Bij de vakgroep Digitale Systemenvan de faculteit der Elektrotechniek is in mei 1986 een projektopgestart met dergelijke digit ale telefooncentrales als onderwerp.

Digitale telefooncentrales die gebruik maken van de PCM-TDM techniekmoeten zowel in de tijd als in de plaats kunnen schakelen. Het schakelenin de tijd kan geschieden met een zogenaamde time-shifter, het schakelenin de plaats kan worden gerealiseerd met een schakelnetwerk.

Binnen het projekt is reeds aandacht besteed aan de ontwikkeling van eentime-shifter. Zie hiervoor het afstudeerverslag van Joost Reijalt enRein de Vries [2]. In dit verslag wordt het ontwerp van een non-blockingschakelnetwerk behandeld.

De indeling van het versiag is als voIgt. In hoofdstuk 2 wordt ingegaanop het gebruikte PCM-TDM formaat en de relatie tussen de opbouw van dete Ie fooncentrale en het aantal te bedienen abonnees. In hoofdstuk 3wordt het ontwerp van het non-blocking schakelnetwerk besproken en demoge I ij kheden voor f ou tenbeheer- sing aangeduid. Vervolgens wordt inhoofdstuk 4 de realisatie van een 4*4 schakelmatrix in NMOS besproken.In bijiage 1 wordt de theorie en praktijk van foutencorrigerende codesbesproken voor zover dit hier van belang is. In bijlage 2 tenslottestaan de resultaten van simulaties van deelelementen van de 4*4 schakel­matrix.

5

2. Digitale telefonie

In de telefonie kan met veel voordeel gebruik worden gemaakt vandigitale transmissietechnieken. Dit heeft ook consequenties voor detelefooncentrales. De gebruikte transmissietechniek en de struktuur vande telefooncentrale zijn nauw verbonden en moeten juist op elkaar wordenafgestemd.

Daarom wordt eerst de hier gebruikte transmissietechniek beschreven(par. 2.1). Vervolgens wordt ingegaan op de capaciteit die deze techniekbiedt als zij wordt gebruikt voor een stochastisch verschijnsel als detelefonie (par. 2.2). Tenslotte wordt gekeken naar de consequenties diede transmissietechniek heeft voor de taken van de digitaletelefooncentrale (par. 2.3) en naar de mogelijke opbouw van zo'ncentrale.

2.1 Het PCM/TDM principe

Het telefoonverkeer moet in digitale vorm aan de centrale wordenaangeboden. Hiertoe wordt het spraaksignaal gesampled met een frequentievan 8kHz en gequantiseerd in 8 bits. 20 ontstaat een digitaal signaalmet een bitsnelheid van 64 kbit/s. Het signaal wordt uiteindelijk inTime Division Multiplex (TDM) vorm aan de centrale aangeboden, waarbijgebruik wordt gemaakt van 64 tijdsloten per frame van 125 us. Een enander wordt geillustreerd in figuur 2.1.

frame 125 ust

~

fig 2.1 TDM formaat.

Op deze manier is de bitsnelheid op een lijn 64 * 8/125 us = 4.096Mbit/s. Het verdient echter aanbeveling om meer bits per tijdslot tereserveren zodat op de lijn aan foutenbeheersing kan worden gedaan. Ditheeft tot gevolg dat de totale bitsnelheid wordt verhoogd. 20 geven 4extra bits per tijdslot een totale bitsnelheid van 6.144 Mbit/s. Defoutbeheersing komt uitgebreider ter sprake in paragraaf 3.2.

6

2.2 De hoeveelheid verkeer per lijn

Met het PCM-formaat zoals beschreven in paragraaf 2.1 is het mogelijk om64 kanalen per lijn te gebruiken. Het aantal abonnees dat met een lijnkan worden bediend is echter groter dan 64 omdat niet aIle abonnees delijn continu nodig zullen hebben. In de praktijk wordt er van uitgegaandat van elke 100 abonnees er gemiddeld 6 tegelijk gebruik maken van detelefoon. Anders gezegd : 100 abonnees produceren 6 Erlang aan verkeer.Er kunnen daarom meer dan 64 abonnees op een lijn worden aangesloten.Dit betekent echter dat er een kans bestaat dat teveel abonneestegelijkertijd een verbinding willen hebben en dat er daarom blokkeringoptreedt. Deze kans moet zo klein mogelijk worden gehouden. Eenblokkeringskans van 0.1% tot 1% is in de praktijk acceptabel.

Om de blokkeringskans voor een bepaalde hoeveelheid aangeboden verkeerte kunnen berekenen moeten een aantal veronderstellingen worden gemaakt.In dit geval :

* de aankomsten van de telefoongesprekken zijn negatiefexponentieel verdeeld

* de houdtijden van de telefoongesprekken zijn negatiefexponentieel verdeeld

* aIle tijdsloten zijn gelijkwaardig

De eerste twee veronderstellingen zijn voor de telefonie zeergebruikelijk en benaderen de werkelijkheid goed.De derdeveronderstelling heeft tot gevolg dat op een lijn elk vrij tijdslot voorhet opzetten van een verbinding kan worden gekozen zodat efficientgebruik kan worden gemaakt van de beschikbare tijdsloten. Een abonnee isdaarmee niet vast verbonden aan een bepaald tijdslot.

Met bovengenoemde veronderstellingen kan de lijn met 64 ka~alen wordengemodelleerd als wachtrij. Het is dan een M/M/64/64 queue. In figuur 2.2wordt dit geillustreerd.

u 2u

I

rIB64u

fig 2.2 M/M/64/64 queue.

I is het aantal oproepen per tijdseenheid en u het aantal sterfgevallenper tijdseenheid. De blokkeringskans van dit systeem kan worden berekendmet de Erlang-1 formule [1]. De formule luidt:

7

In dit geval is m=6q en a is de hoeveelheid aangeboden verkeer. Deformule geeft een blokkeringskans van 0.1% voor een hoeveelheidaangeboden verkeer van 44 Erlang en een blokkeringskans van 1% voor 50.5Erlang verkeer. Dit betekent dat. afhankelijk van de geaccepteerdeblokkering. 700 tot 850 abonnees van een lijn gebruik kunnen maken.

2.3 Het doorschakelen van telefoongesprekken

Een digitale telefooncentrale die gebruik maakt van het TDM-principekrijgt er een aantal taken bij die voor oude telefooncentrales nietnoodzakelijk waren. 20 is het nu niet meer voldoende als de centrale eenverbinding kan opzetten tussen twee lijnen. Ook op een lijn moet kunnenworden geschakeld, het moet namelijk mogelijk zijn een signaal van eentijdslot naar een ander tijdslot te verschuiven. Het onderdeel in decentrale dat deze taak op zich neemt krijgt de naam "time-shifter". Maarook het opzetten van een verbinding tussen twee lijnen wordt moeilijkeromdat zo'n verbinding ieder frame opnieuw voor de duur van een tijdslotmoet worden gemaakt. Per frame zal de telefooncentrale 64 keer hetverbindingspatroon moeten kunnen veranderen.

De schakeltaken van een telefooncentrale kunnen aldus worden verdeeld intime-switching en space-switching time-switching behelst hetverschuiven van tijdsloten op een lijn en space -switching het schakelentussen verschillende lijnen voor de duur van een tijdslot. Beide takenworden in figuur 2.3 geillustreerd.

1\

SWitchl'l:ets

--------! Outlets.--I

~',--iI.--

fig 2.3 Time- en space-switching

2.4 Opbouw van een centrale

Er zijn verschillende mogelijkheden omtelefooncentrale. time- en space- swi tching.mogelijkheden wordt hier besproken.

de schakeltaken van dete realiseren. Een aantal

2.4.1 Matrix van time-shiftersDe matrix van time-shifters wordt geillustreerd in fig 2.4.

8

TSE= Time Switch Element

PCM-in 1 •~ ~TSE-----?>- TSE-----?>-----------------

PCM-in 2~i

iTSE~

!

, !\!/-I

PCM-out 2'\,/

PCM-out 1

I

--T-.~-E-:::-'-,-Te-~-E"___7'-:,-'-.------------..-------..-I-T~EJLJ~

PCM-out 8

PCM-in 8

fig 2.4 Matrix van time-shifters.

Er ZlJn n ingangen en n uitgangen, in de figuur is n=8 gekozen. Op elkknooppunt van een ingaande met een uitgaande lijn is een time-shifteraangebracht. Het is daarom altijd mogelijk om van een vrij tijdslot opeen ingaande lijn naar een vrij tijdslot op een uitgaande lijn teschakelen. Het netwerk is dus niet-blokkerend. De organisatie van hetnetwerk is zo dat als een bepaalde time-shifter een uitgaand tijdslotgebruikt de andere time-shifters in dezelfde kolom van de matrix dattijdslot niet meer kunnen gebruiken en gedurende dat tijdslot hunuitgang tri-state maken.

De matrix van time-shifters struktuur, en een mogelijke architektuur vande time- shifters daar in. wordt besproken in het afstudeervers lag vanJoost Reyalt en Rein de Vries[2].

Het aantal abonnees dat een telefooncentrale met een dergelijkestruktuur kan bedienen hangt af van de grootte van de matrix. Met 8ingaande en 8 uitgaande lijnen (64 time-shifters) zoals in figuur 2.4kunnen ongeveer 8*750 = 6000 abonnees worden aangesloten. Dit omdat decentrale niet-blokkerend is en elke lijn daarom met de hoogst mogelijkeverkeersintensiteit kan worden belast, zodat de berekening van paragraaf1.2 van toepassing is.

9

Er zijn een aantal nadelen verbonden met de matrix van time-shiftersstruktuur. De time-shifters in de matrix worden relatief slechtgebruikt. Het aktief zijn van een van de time-shifters schakelt immersde andere time-shifters in dezelfde kolom uit. Deze inefficientie neemtdaarnaast toe als de matrix wordt uitgebreid om meer abonnees te kunnenbedienen. In het geval van de 8*8 matrix geeft het toevoegen van eenextra ingaande en uitgaande lijn een extra capaciteit van 750 abonneesmaar het gaat ten koste van 17 extra time-shifters.

2.4.2 Schakelnetwerk in combinatie met time-shiftersSpace- en time-switching kunnen ook gescheiden worden gehouden. Time­switching geschiedt dan weer met behulp van een time- shifter, space­switching wordt gedaan met behulp van een schakelnetwerk. Hetschakelnetwerk moet de binnenkomende lijnen kunnen doorschakelen naar degewenste uitgaande lijnen. De ge-wenste verbindingen zullen elk tijdslotanders zijn omdat elk tijdslot een andere gebruiker heeft. Zodoende moethet schakelnetwerk 64 keer per frame een ander verbindingspatroon maken.

De combinatie van time-shifters met een schakelnetwerk kan opverschillende manieren worden gemaakt. In figuur 2.5 wordt deeenvoudigste mogelijkheid geillustreerd. Het is de zogenaamde T-Sstruktuur.

---1 TS ~space

switch

• •• •• •

---1 TS 1--fig 2.5. Combinatie schakelnetwerk/time-shifters, T-S struktuur.

Om een vergelijking te kunnen maken tussen de T-S struktuur en de matrixvan time-shifters is het interessant am te kijken hoeveel verkeer meteen centrale als in figuur 2.5 kan worden verwerkt. Voor hetschakelnetwerk wordt een non-blocking type verondersteld. Dat wil zeggendat het schakelnetwerk altijd een verbinding kan leggen tussen een vrijeingang en een vrije uitgang, onafhankelijk van de hoeveelheid verkeer.Nu moet worden opgemerkt dat hierdoor niet de gehele centrale non­blocking wordt. De time-shifters kunnen name1ijk nog b10kkeringveroorzaken. In figuur 2.6 wordt een voorbeeld gegeven van een situatiewaarin blokkering optreedt.

10

non

blocking

spaceswitch

k --------------1 ~ k

fig 2.6 Blokkering veroorzaakt door time-shifters.

Op lijn 1 moeten de tijdsloten 2 en 3 naar respectievelijk lijn 1 en 2.Op deze uitgaande lijnen is aIleen tijdslot 8 nog vrij. De time-shifterop lijn 1 kan echter slechts een van de twee verbindingen opzetten.

Om de blokkeringskans te kunnen berekenen kan het systeem op de volgendewijze worden gemodelleerd. De 64 tijdsloten per frame worden beschouwdals aparte kanalen. Een time-shifter kan worden gezien als een niet­blokkerende schakelmatrix met 64 ingangen en 64 uitgangen, waarbij hettijdslotnummer correspondeert met het nummer van de in- respectievelijkuitgang van de matrix. Het non-blocking netwerk (de space switch)wordt in het model 64 keer gerepresenteerd, een keer voor elk tijdslot.In dit model komt de speciale funktie van het schakelnetwerk , 64 keerper frame een ander verbindingspatroon maken, nog eens duidelijk naarvoren. Voor een centrale met k in- en uitgaande lijnen ziet het modeleruit zoals in figuur 2.7 is geillustreerd.

I 64

1

6~~1

k

2

2/\

I 2 k

••

••

k64

fig 2.7 Model voor een T-5 centrale.

11

Op eenvoudiger W1JZe kan het model ook worden weergegeven met symbolenzoals in figuur 2.8. Zie ook [3], [4] bIz 327-347.

1 k1 ~ 0------0-

~ 0-------0- BI' I

IIII,

64~ 0-------0-

1 ko 0-----0

o 0------0 CI i II I II I II I II I II I I

c) 0------0 64

1 6 <>------6I

6 6-------6IIIII

6------6k

A

fig 2.8 Symbolische weergave van het model.

Bij de berekening van de blokkeringskans van het systeem wordt er weervanuit gegaan dat het voor de verbinding niet uitmaakt welk tijdslotwordt gekozen (aIle tijdsloten zijn gelijkwaardig). Ook wordtverondersteld dat elke uitgaande lijn een andere richtingvertegenwoordigt. Het model maakt duidelijk dat er sprake is van eenzogenaamd "link systeem" waarvan de blokkeringskans met behulp van dedoor C.Jacobaeus afgeleide formule kan worden berekend. Zie [3].

Stel er zijn m uitgaande lijnen in elke richting. Beschouw een bepaalderichting en stel dat er van deze richting p lijnen bezet zijn. De kanshierop wordt G(p) genoemd. Als er p lijnen bezet zijn treedt blokkeringop indien in de B trap m-p of meer lijnen bezet zijn waarvan er m-ptoegang zouden kunnen geven tot de nog vrije lijnen. De kans op hetbezet zijn van deze m-p lijnen noemen we H(m-p). De totaleblokkeringskans wordt nu :

EL H(m-p)G(p)

Voor de funkties G en H kunnen verschillende verdelingen worden gekozen.In dit geval veronderstellen we voor G de Erlang-verdeling en voor H deBernouilli verdeling. De blokkeringskans is dan :

EL = ----------

E1 m(A/b),waarin A de hoeveelheid verkeer in een kolom van de A-trap is, B dehoeveelheid verkeer in een kolom van de B-trap en b=B/m.

12

Er moet worden opgemerkt dat er bij de berekeningen is aangenomen dat deverdelingen H(m-p) en G(p) ongecorreleerd zijn. In werkelijkheid is ditniet het geval. De afwijking die hierdoor in de berekende waardeontstaat is echter klein. Zie hiervoor [4],blz 351-354 en[3],blz 37-40.

In dit geval is m=64 en A=B. Deze gegevens ingevuld in de formule levertvoor A=44 een blokkeringskans van 0.01 en voor A=40 een kans van 0.001.

Indien niet meer dan 0.1% blokkering gewenst is kan per ingaande lijn 40Erlang aan verkeer worden verwerkt. Voor een centrale van 400 Erlang(ongeveer 6500 abonnees) kan daarom worden volstaan met 10 time-shiftersen een 10*10 non-blocking netwerk.

Er zijn ook andere combinaties van een schakelnetwerk met time-shiftersmogelijk, zoals S-T, T-S-T, S-T-S, T-S-S-S-T etc. Een S-T netwerk isgelijkwaardig aan een T-S netwerk. T-S-T geeft een extra time-shiftmogelijkheid aan de uitgang. Aangezien alle tijdsloten gelijkwaardigworden verondersteld biedt het T-S-T netwerk niet meer mogelijkheden danhet T-S netwerk. S-T-S kan een niet-blokkerend netwerk zijn. T-S-S-S-Theeft een schakelnetwerk bestaande uit drie trappen (zie ook hoofdstuk3) .

De keuze die uiteindelijk gemaakt wordt zal afhangen van de gewenstegrootte van de telefooncentrale. Hier wordt uitgegaan van een centralemet een capaciteit gelijk aan die van een matrix van 64 time-shifters,ongeveer 6000 abonnees. Een T-S netwerk met 10 lijnen is hiervoorvoldoende.

Voor de gegeven verkeersintensiteit is verder aIleen de S-T-S struktuurnog interessant. Zoals eerder vermeld kan dit een non-blocking centralezijn , mits de space-switches non-blocking zijn en de besturing flexibelgenoeg is om ook tij dens gesprekken de toewij zing van kanalen aan detime-shifters te herzien. Het kan namelijk voorkomen dat voor een nieuwbinnenkomend gesprek weI de gewenste in- en uitgaande tijdsloten vrijzijn maar niet op dezelfde time-shifter. Herziening van dekanaaltoewijzingen kan dit probleem oplossen. Gezien de problemen diedit voor de besturing oplevert lijkt de T-S struktuur echter de voorkeurte genieten.

Uiteindelijk blij ft dan de keuze over tussen de T-S struktuur en dematrix van time-shifters. De eerste mogelijkheid heeft het voordeel vanveel minder benodigde hardware, de laatste heeft een eenvoudigerbe s turing. Deze overwegingen zullen meespelen bij het maken van eenkeuze. Het belangrijkste punt blij ft echter de gewenste capaciteit vande telefooncentrale. Naarmate deze groter wordt zal de matrix van time­shifters steeds minder rendabel worden en zullen, na de T-S struktuur,ook andere combinaties van time-shifters en space-switches tot demogelijkheden gaan behoren.

13

3. antwerp van een non-blocking netwerk

Een non-blocking schakelnetwerk moet elk van zijn ingangen met een vrijeuitgang kunnen doorverbinden voor de duur van een tijdslot. Deinformatie op welk moment welke ingang met welke uitgang moet wordenverbonden wordt van buitenaf aangeboden. De intelligentie die nodig isam een verbinding op te bouwen, in stand te houden en later weer af tebreken is dus extern aanwezig.

Bij de beschrijving van het antwerp wordt eerst de basisstruktuurbehandeld (par. 3.1). Vervolgens wordt beschreven hoe deze kan wordenuitgebreid am foutenbeheersing moge1ijk te maken (par. 3.2). Tenslottekomt het 3-traps netwerk aan de orde (par. 3.3). Het 3-traps netwerk kantot besparingen in de hardware 1eiden a1s er re1atief vee1 1ijnen moetenworden geschake1d.

3.1 Basisstruktuur

Voor de bespreking van de basisstruktuur wordt uitgegaan van een 16*16schake1matrix. Matrices met meer of minder knooppunten hebben dezelfdestruktuur en kunnen met enke1e k1eine aanpassingen uit een 16*16 matrixworden afgeleid. Pas a1s het aanta1 ingangen grater dan 35 is wordt hetrendabel am over te stappen op een 3-traps netwerk. Dit wordt besprokenin paragraaf 3.3.

3.1.1 16*16 matrixIn figuur 3.1 is deuitgang.

matrix opgedeeld in 16 elementen met elk een eigen

~_.---_.._~, '

i ,---------'"

, i-- v'--~ 1---

I I! ,

I II

II I ,

___ .....l..~~_____l________'_..._

16 *1

16 *1

~----'TDIII uit

-,TDM uit

fig 3.1 apbouw van een 16*16 matrix

Ieder element kan een van de 16 ingangen se1ekteren en dezedoorverbinden met zijn uitgang. Het uitwisselen van informatie met deschakelelementen gaat via de bidirectionele control-bus. Het write/nreadsignaa1 bepaalt de richting over deze bus. A11een het element dat op een

14

bepaald moment geselekteerd is heeft toegang tot de control-bus. Als cslaag is wordt geen enkel element geselekteerd.

3.1.2 16*1 elementEen 16*1 element is opgebouwd zoals in figuur 3.2 is aangegeven.

1 -----------

nsel nr/w control

fig 3.2 Opbouw van een 16*1 element

Het bestaat in hoofdzaak uit een multiplexer die wordt aangestuurd dooreen geheugen. Het geheugen heeft 64 plaatsen en vormt een "end-aroundshift register". Een cyclus duurt precies een frametijd. Elk tijdslotschuift de informatie in het geheugen een plaats door. De inhoud van deeerste geheugenplaats bepaalt welke van de 16 ingangen gedurende hetlopende tijdslot met de uitgang wordt doorverbonden. Elke geheugenplaatsheeft 5 bits. Een bit geeft aan of er gedurende het tijdslot al dan nietmoet worden geschakeld, de overige 4 bits geven de ingang aan die,afhankelijk van het eerste bit, wordt doorgeschakeld.

Een aantal poorten zorgt ervoor dat de informatie uit het geheugen kanworden gelezen en dat nieuwe informatie in het geheugen kan wordenweggeschreven. Dit wordt geregeld met de read/write/control lijnen. Alsnsel hoog is. het betreffende element is dan niet geselekteerd, zijnzowel read als write laag en is de terugkoppellus gesloten. Als nsellaag is en read hoog blijft de lus gesloten en wordt er daarnaast eenverbinding met de control-bus gemaakt. De situatie met nsel laag enwrite hoog tenslotte sluit de terugkoppeling af en geeft de control-busrechtstreeks toegang tot het geheugen. Het tijdstip waarop wordt gelezenof geschreven bepaalt op welk tijdslot de informatie betrekking heeft.Er dient te worden opgemerkt dat bij de struktuur van figuur 3.2 deinformatie onder in het geheugen wordt weggeschreven en daarom pas over63 tijdsloten "aktief" zal zijn.

15

3.2 Foutenbeheersing

Aan de betrouwbaarheid van telefooncentrales worden hoge eisen gesteld.Eventueel optredende fouten moeten in een zo vroeg mogelijk stadiumworden gedetekteerd en indien mogelijk worden gecorrigeerd. Voor ditdoel moet de basisstruktuur van het schakelnetwerk worden uitgebreid.

Eerst wordt de mogelijkheid tot foutenbeheersing in het geheugenbehandeld (par. 3.2.1). Hiermee kan worden voorkomen dat een in hetgeheugen optredende fout de schakelinformatie aantast. Vervolgens komtde testbaarheid van een matrix aan de orde (par. 3.2.2). Niet ailemogelijk optredende fouten kunnen worden gecorrigeerd. Door de matrixtestbaar te maken is detektie van de fouten wei mogelijk. Tenslottewordt de mogelijkheid tot foutencontrole op de lijn beschreven. Hiermeekan de te schakelen informatie tegen fouten worden beveiligd.

3.2.1 Foutenbeheersing in het geheugenDe woorden in het geheugen van een 16*1 schakelelement zijn 5 bitsbreed. Om aile enkele fouten te kunnen corrigeren en aile dubbele foutente detekteren moeten er minstens 5 checkbits aan elk woord wordentoegevoegd. De benodigde geheugenruimte wordt daarmee 2 maal zo groot.Foutencorrigerende codes werken meer rendabel met langere woorden en uitdat oogpunt zou het beter zijn om verschillende woorden samen te nemenof per kolom de codewoorden te maken. Dit werkt echter nadelig voor debesturing van de matrix omdat het veranderen van een woord tot gevolgheeft dat het hele blok waar de code op werkt moet worden veranderd. Hetis daarom beter om de fouten per woord te corrigeren en de extrabenodigde geheugenruimte te accepteren.

In figuur ,-, is de nieuwe opbouw van een 16*1 element geschetst.

16·--------..

nsel nr/w control

fig 3.3 16*1 element met foutencorrectie

16

re.el

Het geheugen is 10 bits breed geworden en er is een "error control" bloktoegevoegd. Dit blok heeft tot taak opgetreden fouten te detekteren enindien mogelijk te corrigeren. Tevens verzorgt het de melding van foutennaar buiten toe.

De foutencorrigerende codes die voor deze toepassing in aanmerking komenzijn een (verkorte) Hamming code of een lineaire blokcode . De Hammingcode heeft de voorkeur omdat de decoder daarvan de minste hardware nodigheeft. Voor een beschrijving van bovengenoemde codes wordt verwezen naarbij lage 1.

De Hamming-decoder kan zowel in seriele als in parallelle vorm wordengeimplementeerd. De seriele versie is het eenvoudigst en kost de minstehardware. Het nadeel van seriele decodering is dat het meer tijd kostwaardoor minimum eisen aan de snelheid van de gebruikte componentenmoeten worden gesteld. Dit probleem zal worden geillustreerd aan de handvan figuur 3.4.

!~~~~ syndroomberekening 1 _

I il'----------------II

_l- 81~lr--~-"Tf~~,-- I-G

L_____ - -: -j -1-~ 1 --lLJ-----r7r1 ~y --n---par. write par. read shift2 shiftl

fig 3.4 Seriele Hamming decoder.

Het register wordt parallel geladen omdat aIle 10 bits tegelijkertijduit het geheugen komen. Vervolgens moeten de 10 bits serieel in het blok"syndroomberekening" worden ge schoven. Daarna moeten de bits weerserieel uit het register worden geschoven waarbij tegelijkertijdfoutcorrectie plaatsvindt. Tenslotte moeten de (gecorrigeerde) bitsparallel naar buiten worden gebracht. Met de constructie van figuur 3.4wordt bereikt dat voor aIle handelingen maar een register nodig is.

Het geheel van bits parallel laden, fouten corrigeren en paralleldoorgeven kan zo in 22 stappen worden uitgevoerd. Hiervoor zijn 125us/64 = 1.95 us beschikbaar. Per stap is dit 89 ns. Ais deze snelheidkan worden gehaald kan de seriele Hammingdecoder worden gebruikt. Andersmoet voor de parallelle implementatie worden gekozen. Dit gaat ten kostevan extra hardware.

Het error-control blokbuitenwereld. Een aantalgehouden. Ten eerste is het

17

moet opgetreden fouten melden aan dedingen moet daarbij in de gaten worden

van belang te weten in welk tijdslot de fout

is opgetreden. Ten tweede moet er een onderscheid worden gemaakt tussenenkele en dubbele fouten.

Het eerste probleem kan worden opgelost door een "alarm"-lijn te makenwaarop aIle decoders van het schakelnetwerk zijn aangesloten. Zodra erergens een enkele of een dubbele fout wordt geconstateerd wordt dit viadeze lijn gesignaleerd gedurende het tijdslot waarop het alarmbetrekking heeft. Als buiten het netwerk de alarmlijn in de gaten wordtgehouden kan daar worden geconstateerd in welk tijdslot een fout isopgetreden. Daarna kunnen de verschillende schakelelementen wordengescand. Nadeel van deze oplossing is dat als er een tweede foutoptreedt voordat de eerste fout is gelocaliseerd niet meer kan wordennagegaan welke fout bij welk tijdslot hoort. Aan de andere kant mogen weaannemen dat de kans op deze situatie zeer klein is. Het is oak mogelijkde geheugenwoorden breder te maken zodat er bij elk woord wordtbijgehouden of er een fout is opgetreden. Het eerdergenoemde probleembestaat dan niet meer. Deze oplossing brengt echter meer hardware metzich mee.

Het tweede probleem kan worden opgelost door in de decoder tweeflipflops aan te brengen, een die wordt geset bij een enkele fout en eendie wordt geset bij een dubbele fout. Deze flipflops moeten oak weerkunnen worden gereset. Als een bepaalde fout reeds is gelocaliseerd maarniet kan worden verholpen moet het alarm kunen worden uitgezet. In datgeval zal het desbetreffende onderdeel niet meer worden gebruikt en moetworden voorkomen dat het tach steeds een foutsignaal blijft afgeven. Eenalarm dat kan worden uitgeschakeld moet oak kunnen worden aangezet. AIlegenoemde signaleringen kunnen worden gerealiseerd met twee ingaande entwee uitgaande lijnen per decoder. De lijnen van verschillende decoderskunnen worden gemultiplexed op dezelfde manier als de control-bus.

3.2.2 Testbaarheid van een matrixEr kunnen oak fouten optreden in andere onderdelen van hetschakelnetwerk. Zo kan een multiplexer niet goed funktioneren of eenpoort defekt zijn. Het is moeilijk am een beveiliging tegen dergelijkefouten aan te brengen. Het is niet noodzakelijk aIle fouten tecorrigeren , van belang is dat de fouten gedetekteerd kunnen worden.

Detektie van aanwezige fouten is mogelijk door de matrix op juistewerking te testen. Daartoe moeten in- en uitgangen van de matrix vrijtoegankelijk zijn. In een centrale zal dit in het algemeen niet hetgeval zijn omdat de matrix is opgenomen in een bepaalde configuratie.Dit probleem kan worden opgelost door de matrix te voorzien van test in-

en uitgangen zoals in figuur 3.5 wordt geillustreerd.

18

TDM-in /---l/

Test-in---~I

i/

test

1 matrix

1/

V/'~

/ Test-uit

1/

fig 3.5 Testfaciliteit van een matrix.

Normaal gesproken is het signaal "test" laag en is de matrix via degewone in- en uitgangen opgenomen in de totale configuratie van detelefooncentrale. Door "test" hoog te maken worden de normale in- enuitgangen losgekoppeld en kan via de testbussen toegang tot de matrixworden verkregen. De matrix kan zo volledig worden getest onafhankelijkvan de configuratie waarin ze is opgenomen.

3.2.3 Foutencontrole op de lijnDoor het toepassen van foutencontrole op de lijn kan de telefooncentraleverder worden beveiligd tegen fouten. De informatie op de lijnen wordthiertoe bij binnenkomst in de centrale voorzien van extra checkbits.Voordat de informatie de centrale weer verlaat worden eventueelopgetreden fouten gedetekteerd en waar mogelijk gecorrigeerd, waarna decheckbits weer worden verwijderd.

Als foutencode is hier de verkorte Hamming-code weer de meest geschikte.Bij keuze voor de mogelijkheid tot correctie van elke enkele fout endetektie van elke dubbele fout kan de (15,10) code opnieuw wordengebruikt als basis voor de verkorte code (zie bijlage 1). In totaalmoeten dan5"bits aan de oorspronkelijke 8 informatiebits wordentoegevoegd. Gezien de seriele aankomst van de bits is de serieleHamming-decoder hier eenvoudig toepasbaar.

Het in paragraaf 3.2.1 gesignaleerde probleem van de foutmelding kan opdezelfde manier worden opgelost als daar besproken.

3.3. Het 3-traps netwerk

De mee s t eenvoudige manier om een niet-blokkerend schakelnetwerk temaken is met behulp van een matrix die aile ingangen met een uitgang kanve rbinden. Voor N ingangen en uitgangen zijn N2 schakelknooppuntennodig. Het aantal knooppunten neemt kwadratisch toe met het aantallijnen.

Een methode om het aantal knooppunten van een groot schakelnetwerk tebeperken en daarbij het netwerk toch niet-blokkerend te houden is

19

beschreven door Clos[5]. In plaats van een grote schakelmatrix wordtgebruik gemaakt van meerdere kleinere matrices. In figuur 3.6 wordt destruktuur van een 3-traps netwerk geschetst .

1

•1 20-1

IiII

I /I • / •N

• •

•-.0 N/n 20-1

i

~ -.

fig 3.6. Drie-traps Clos-netwerk.

Er zijn N ingangen en N uitgangen. De eerste trap bestaat uit N/nmatrices met n ingangen en (2n-1) uitgangen. De tweede trap bestaat uit(2n-1) matrices met N/n ingangen en N/n uitgangen. De derde trap bestaatuit N/n matrices met (2n-1) ingangen en n uitgangen. Door de matricesonderling te verbinden zoals in figuur 3.6 is aangegeven wordt een non­blocking netwerk verkregen.

In het artikel van Clos wordt beschreven hoe, bij gegeven N, eenoptimale n kan worden gevonden. Als voorbeeld wordt er vanuit gegaan dateen schakelnetwerk van 64 lijnen moet worden ontworpen. Het blijkt datvoor N=60 of N=65 de optimale waarde n=5 is (N=64 kan niet voor n=5).Met N=65 wordt het volgende netwerk gevonden

eerste trap 13 matrices van 5*9tweede trap 9 matrices van 13*13derde trap 13 matrices van 9*5totaal 2691 knooppunten.

Het bovenstaande netwerk is optimaal gezien het aantal knooppunten. Derealisatie ervan zal echter niet het meest economische netwerkopleveren. Geen van de getallen die optreden z~Jn machten van twee. Vande benodigde hardware wordt pas efficient gebruik gemaakt als dezegetallen wei machten van twee zijn.

Daarom is het verstandig enkele alternatieven te bekijken. Voor anderewaarden van n wordt voor de opbouw van het netwerk gevonden:

n=4 : N=64 eerste trap 16 matrices van 4*7tweede trap 7 matrices van 16*16derde trap 16 matrices van 7*4

20

n=6

n=7

totaal 2688 knooppunten.

N=66 eerste trap 11 matrices van 6*11tweede trap 11 matrices van 11*11derde trap 11 matrices van 11*6totaal 2783 knooppunten.

N=70 eerste trap 10 matrices van 7*13tweede trap 13 matrices van 10*10derde trap 10 matrices van 13*7totaal 3120 knooppunten.

n=8 N=64 eerste traptweede trapderde traptotaal 2880

8 matrices van 8*1515 matrices van 8*88 matrices van 15*8knooppunten.

Uit bovenstaande opsonuning bIijkt dat n=4 de beste keuze is, zowel watbetreft het aantal knooppunten als de opbouw van de matrices. In figuur3.7 wordt geiIIustreerd hoe de opbouw van het netwerk voor deze keuzeis.

-.11

..~ 4"7 7"4

•• •

•• •

•\

~• ----.

16 1/ 16

7~

4"7 7"4 ----./~

" ..• 16"16

fig 3.7 Clos netwerk voor N=64 en n=4.

Het aantal knooppunten in een 3-traps netwerk is geIijk aan 6N3/2_3N.Voor elke N>=36 is dit aantal kleiner dan N2. Als het netwerk meer dan36 in- en uitgangen heeft is het rendabel om een 3-traps netwerk tegebruiken.

21

4. Realisatie van een 4*4 schakelmatrix in NMOS

Aan de Technische Universiteit Eindhoven bestaat de mogelijkheid om eengeintegreerd circuit in NMOS-technologie te maken. De Computer AidedDesign (CAD) hulpmiddelen daarvoor zijn aanwezig op de vakgroepAutomatisch Systeemontwerpen (ES). Het IC wordt uiteindelijk gemaakt opde Eindhovense Fabricage Faciliteit voor Integrated Circuits (EFFIC).

Deze mogelijkheid is gebruikt om een schakelmatrix zoals beschreven inhoofdstuk 3 in een geintegreerd circuit te realiseren. Om decomplexiteit van het ontwerp te beperken is besloten om een 4*4schakelmatrix zonder foutencorrectie te maken.

Eerst wordt behandeld hoe de logische elementen inverters, NANDS,NORS er in NMOS uit komen te zien (par. 4.1). Vervolgens wordtingegaan op het ontwerp van de deelelementen (compounds) van de totaleschakelmatrix en op de interconnectie en vermogensdissipatie van dezecompounds (par 4.2). Daarna wordt de realisatie van de compoundsbehandeld (par 4.3). Vervolgens wordt de layout van het totale ICbesproken en wordt een schatting van de vermogensdissipatie gemaakt(par. 4.4 ). Tenslotte wordt ingegaan op de consequenties van hetgebruik van een andere technologie (par. 4.5).

Voor een beschrijving van de gebruikte CAD-hulpmiddelen en het NMOS­proces van EFFIC wordt verwezen naar [9].

4.1 Transistoren en logische elementen in NMOS

4.1.1 De transistor

In figuur 4.1 wordt het symbool voor een NMOS transistor gegeven.d d

.1 EI .! I~/I, --I

Is

enhancement depletion

fig 4.1 NMOS transistor.

Van belang zijn de volgende parameters

de breedte van het kanaalde lengte van het kanaalde threshold spanningeen constante

De parameters Vth en K liggen vast. Zij zijn direkt afhankelijkgekozen NMOST-proces. Er wordt gebruik gemaakt van tweetransistoren : de enhancement transistoren, waarvoor geldt Vth>Odepletion transistoren, waarvoor geldt Vth<O.

22

van hetsoorten, en de

---0 Vss

De breedte en lengte van het kanaal kunnen weI worden gevarieerd en dekeuze ervan is van belang voor een goede werking van de schakeling.

De stroom-spanningsvergelijkingen van de NMOST kunnen in bovenstaandeparameters worden uitgedrukt. In vereenvoudigde vorm. waarbij een aantalminder belangrijke effecten wordt verwaarloosd. luiden de vergelijkingen

voor Ved-Vth<O Ids = K(W/L) (V gs -V t h)2d1t is de verzadigde toestand.

voor Ved-Vth>O Ids = K(W/L) (2(Vgs-Vth)Vds-Vds2)h1er is de transistor niet in verzadiging.

Van belang is vooral het inzicht dat de stroom Ids recht even redig ismet de verhouding W/L.

4.1.2 De inverterEen inverter kan worden gemaakt met behulp van een depletion load en eenenhancement driver transistor zoals in figuur 4.2 wordt geillustreerd.

'I------0 vd d

r~20~

I I

0-~ 16 / 6

~----,

1 -

fig 4.2 Een inverter.

Voor een goede werking van de inverter moet de verhouding tussen de W/Lvan de depletion "pull up" transistor en de enhancement "pull down"transistor een bepaalde waarde hebben. Zie hiervoor Mead&Conway[10]. bIz9-10. Zij definieren Z=L/W en vinden dat voor een goed werkende inverterzal moeten gelden Zpu/Zpd=4.

Voor het huidige NMOST-proces van EFFIC is reeds een goede inverterontworpen waarbij voor de pull up transistor W/L=6/20 is genomen en voorde pull down transistor W/L=6/6 (aIle getallen in micrometer). Daarmeegeldt Zpu/Zpd=3.3 hetgeen dicht in de buurt van de door Mead&Conwaygenoemde waarde ligt. Tevens is de inverter de kleinst mogelijke die nagmet een zogenaamd "direct load" contact kan worden uitgevoerd ( zie[9]). De inverter heeft een vertragingstijd van 7 a 8 nanoseconde.

4.1.3 NANDS en NORSUit de ontworpen inverter kunnen goed werkendegeleid. Voor een beschrijving daarvan

23

NANDS en NORS af wordenwordt verwezen naar

MeaJ&Conway[10J, bIz 15-17 . Hier wordt aIleen de uitkomst vermeld : eenNAND met meerdere ingangen kan worden beschouwd als een inverter met dekanaallengte van de pull down transistor gelijk aan het aantal ingangenvan de NAND maal de kanaallengte van de pull down transistoren van dezeNAND. Een goede 2- inpu t NAND kan daa rom wo rden gemaakt doo r dekanaallengte van de pull up transistor twee keer te vergroten of door dekanaalbreedte van de pull down transistoren twee keer te vergroten. Inbeide gevallen zal het resultaat een equivalente inverter met degewenste Zpu/Zpd verhouding 3.3 zijn. De tweede keuze levert eensnellere NAND op omdat de stromen door de transistoren groter zijn danin het eerste geval ( zie par. 4.1.1.).

Een goed ",rerkende NOR kan worden gemaakt door aan de pull downtransistor van de originele inverter transistoren parallel te zetten metdezelfde W/L verhouding.

4.2 antwerp van de compounds voor de schakelmatrix

In hoofdstuk 3 is besproken hoe een 16*16 matrix is opgebouwd uit 16*1elementen. Op ana loge wijze zal de 4*4 matrix worden opgebouwd uit 4*1elementen. De belangrijkste onderdelen van deze 4*1 elementen zijn hetschuifgeheugen en de mul tiplexer. Hoe deze onderdelen kunnen zijnopgebouwd wordt besproken in paragraaf 4.2.1 respectievelijk 4.2.2. Deproblemen die op kunnen treden bij de interconnectie van compounds komenter sprake in paragraaf 4.2.3. De vermogensdissipatie en de daarmeesamenhangende aspecten komen aan de orde in paragraaf 4.2.4.

4.2.1 Het schuifgeheugenHet schuifgeheugen heeft 64 plaatsen van 3 bits. Het kan wordenbeschouwd als 3 schuifregisters met 64 plaatsen. De realisatie van eenschuiregistercel met twee inverters, twee "pass" transistoren en eentwee-fasen niet-overlappende klok wordt geillustreerd in figuur 4.1.

0-------~I------T------0Vdd

nr-;/20 rl [~/20I-I 'lL---1-i ~--~ oul

1'--- Il

11-in0-----_ 12/~-ll_~/6 -112/n [12/6

phi 1 0----=-r- IIphi 2 0------ - --~i--- -- i

;)---- ----~------------------------'-------0 Vss

fig 4.1 Een schuifregistercel.

phi2j-1 ,--j

____~ L ~

De pass transistoren zijn een soort schakelaars. Een 0 op de gate van detransistor geeft een hoge weerstand op het source-drain pad (schakelaar

24

open) terwij I een 1 op de gate een lage weerstand geeft (schakelaargesloten) .

De werking van de schuifregistercel kan worden geillustreerd aan de handvan een voorbeeld. Stel dat er een 1 op de in gang van de cel staat. Aisphil hoog wordt zal de 1 op de ingang naar de eerste inverter wordendoorgelaten. De uitgang van deze inverter wordt daardoor laag, maar hetlaag zijn van phi2 verhindert dat het signaal naar de tweede inverterwordt doorgelaten. Bij het laag worden van phil is er geen pad meer vande ingang naar de eerste inverter maar door de capaciteit van de gatevan de pull down transistor van deze inverter blijft de spanning op dezegate toch hoog. Het hoog worden van phi2 zorgt voor het openen van detweede pass transistor zodat de 0 naar de tweede inverter wordtgetransporteerd hetgeen resulteert in een 1 op de uitgang van deschuifregistercel. Op deze manier is na een klokcyclus de 1 van deingang naar de uitgang gebracht. Door meerdere cellen achter elkaar teplaatsen wordt een schuifregister gemaakt.

Er zijn twee punten die van belang zijn voor de juiste werking van eenschuifregister met de opbouw van figuur 4.1.

Ten eerste moeten de inverters anders worden gedimensioneerd dan degewone inverter. De pass transistoren zijn namelijk geen idealeschakelaars. Zij laten een 0 weI goed door maar een 1 niet. De spanningVdd zal na het passeren van een of meer pass transistoren nog maar Vdd­Vth zijn. am toch goede logische niveaus te krijgen moet de verhoudingZpu/Zpd van de inverters worden aangepast. Zie Mead&Conway[IO], bIz24,25. Daar wordt afgeleid dat de verhouding ongeveer een faktor 2 moetworden vergroot. Daarom is gekozen voor inverters met een direct loadpull up transistor met W/L=6/20 en een pull down transistor metW/L=12/6.

Ten tweede is er een ondergrens aan de frequentie waarop de schakelingnog goed funkt ioneert. Het is dynamische logica . Er wordt gebruikgemaakt van spanningen veroorzaakt door de lading op de gate-capaciteitvan een transistor. Deze lading lekt weg waardoor de spanning lagerwordt. In de praktijk betekent dit dat de minimale frequentie waarop hetschuifregister nog goed funktioneert enkele kiloHertz zal zijn. Voortoepassing in de schakelmatrix is dit geen probleem omdat dewerkfrequentie daar 512 kHz zal zijn.

4.2.2 De multiplexerDe multiplexer heeft 4 ingangen en 1 uitgang. Besturing geschiedt doorhet 3-bits woord dat het geheugen aanbiedt. Een bit bepaalt of er weIdan niet moet worden geschakeld, de overige bits bepalen welke ingangmoet worden doorgeschakeld. De multiplexer kan met pass-transistorenworden gerealiseerd zoals in figuur 4.2 wordt geillustreerd.

25

out

fig 4.2 Multiplexer

De decoder die 2 bits decodeert am de pass-transistor van een van de 4ingangen te openen is niet getekend. Zoals in paragraaf 4.2.1 is vermelddegradeert een pass-transistor het hoog-signaal zodat de eerstvolgendetrap hiervoor moet worden aangepast.

4.2.3 Interconnectie van compoundsBij de interconnectie van compounds kan het voorkomen dat relatief grateafstanden moeten worden overbrugd met aluminium of polysilicium lijnen.Deze lijnen hebben een bepaalde capaciteit en vormen daarmee eenbelasting voor de uitgaande trap van een compound. Daarnaast heeft decompound die wordt aangestuurd een zekere ingangscapaciteit die moetworden opgeteld bij de lijncapaciteit om de totale belasting van desturende compound te krijgen. De uitgangstrap van de sturende compoundmoet op deze belasting berekend zijn.

De uitgangstrap van een compound zal vaak een inverter zijn. Daaromwordt hier beschreven hoe een inverter kan worden gedimensioneerd voorhet aansturen van een bepaalde capaciteit. Voor het dimensioneren vanande re log i s che e lemen ten al s ui tgangstrap kan dezelfde redener ingworden gebruikt.

In figuur 4.3 is de inverter met een belastingscapaciteit Cl aan deuitgang getekend. De gate-capaciteit van de pull-down transistor is ookvan belang en is daarom gestippeld weergegeven.

~~--~----0v d d

i~" ~II ~-~ CIo -~-!. 6/6 i

C g ~-=:l_~~~ 1 12) vs s

fig 4.3 Inverter met belasting

26

De depletion load transistor kan worden beschouwd als een stroombron dieeen constante stroom levert. Als de pull-down transistor open staatwordt alle stroom naar aarde afgevoerd en is de uitgangsspanning van deinverter laag. Als de pull-down transistor dicht is zal de stroom decapaciteit Cl opladen totdat de uitgangsspanning hoog is. am alle stroomte kunnen "sinken" moet de weerstand van de pull-down transistor kleinerzijn dan de weerstand van de pull-up transistor. Een verschil inweerstand van een faktor 4 wordt vaak gebruikt. Dit hangt rechtstreekssamen met de in paragraaf 4.1.2 vermelde Zpu/Zpd verhouding. Een gevolgvan dit verschil is een asymmetrie in stijg- en daaltijden: de stijgtijdzal 4 maal langer zijn dan de daaltijd.

De absolute waarden van stijg- en daaltijden hangen bij gegeven Zpu/Zpdaf van de sterkte van de stroombron en de grootte van Cl' De stroom- enspanningsvergelijkingen van een MOST in verzadigde toestand, zoalsbeschreven in paragraaf 4.1.1, maakt duidelijk dat de sterkte van destroombron evenredig is aan de verhoudin W/L. Een grotere W/L verhoudingzal bij gegeven Cl een kortere stijgtijd tot gevolg hebben. Hetvergroten van de W/L verhouding van de pull-up transistor heeft totgevolg dat de W/L verhouding van de pull-down transistor eveneens moetworden vergroot. In het algemeen betekent dit het vergroten van W bijgelijkblijvende L (L heeft meestal de minimumwaarde). Daardoor neemt degatecapaciteit Cg toe. Dit betekent dat de trap die de inverteraanstuurt zwaarder wordt belast.

Het aansturen van een relatief grote belasting met een "grote" inverterheeft geen zin omdat het probleem daarmee naar de voorgaande trap wordtverschoven. De oplossing wordt gevonden in het gebruik van een aantalinverters achter elkaar, waarbij iedere inverter groter dan zijnvoorganger wordt gedimensioneerd. In Mead&Conway[10] , blz 13, wordtafgeleid dat de optimale Cl/C g verhouding 2.7 is. De verhouding is danoptimaal in die zin dat de snelst mogelijke stijg- en daaltijden wordengehaald. Verhoudingen varierend van 2 tot 8 zijn acceptabel.

am een stuurtrap te kunnen dimensioneren moet een schatting van degrootte van de van belang zijnde capaciteiten worden gemaakt. Dit zijnde gate-capaciteiten van de transistoren en de capaciteiten van deinterconnectielijnen in polysilicium en aluminium. De grootte van dezecapaciteiten kan worden berekend met de formule voor de capaciteit vaneen vlakke plaat condensator

Cd

waarin d de dikte en £~ de relatieve permittiviteit van het dielektricumis. Voor het NMOS proces van EFFIC geldt :

!.~= 3.9

gate-capaciteiten dpolysilicium daluminium d

700 A = 7*10- 8 m (thin oxide)0.5 urn1.0 urn

Hieruit volgt voor de grootte van de capaciteiten

27

gatespolysiliciumaluminium

CCC

4.9*10- 4

7.0*10- 5

3.5*10- 5

pF/um~pFlumpf/um2

Uit deze getallen blijkt waarom de interconnectie-capaciteiten nietmogen worden verwaarloosd een polysiliciumlijn met 14* de lengte endezelfde breedte als een transistor heeft dezelfde capaciteit als dietransistor.

De weerstand van de interconnectielijnen is bij lange verbindingen vanbelang. Voor het NMOS proces van EFFIC geldt voor devierkantsweerstanden van polysilicium en aluminium :

polysiliciumaluminium

RR

0.0317

Lange verbindingen moeten daarom in aluminium worden uitgevoerd.

4.2.4 VermogensdissipatieDe vermogensdissipatie van het IC mag maximaal 1 Watt zlJn. Het vermogendat wordt gedissipeerd hangt af van de toestand waarin het IC verkeert.Een inverter met een 1 op de uitgang dissipeert meer vermogen dan eeninverter met een 0 op de uitgang. Om een schatting van het gedissipeerdevermogen te maken wordt verondersteld dat gemiddeld de helft van deinverters (NANDS, NORS) een 0 op de uitgang heeft en de andere helft een1-De vermogensdissipatie van een inverter met een pull-up transistor metverhouding W/L=6/20 en een pull-down transistor met W/L=6/6 is bepaaldmet behulp van een SPICE-simulatie. Dit leverde de volgende resultaten :

uitgang=Ouitgang=l

dissipatie= 1.7*10- 4 Wdissipatie= 1.0*10- 10 W

Hieruit blijkt dat aIleen de toestand met een lage uitgang van belang isvoor de dissipatie. Voor de berekening van de totale dissipatie van hetIC kan de inverter indien de uitgang laag is vervangen worden gedachtdoor een weerstand van 150k Inverters met andere W/L verhoudingenkunnen op dezelfde manier vervangen worden gedacht door een weerstand.De waarde van 150k moet dan evenredig aan het verschil in W/Lverhouding worden aangepast.

De banen die de voedingsspanning over het Ie distribueren moetenberekend zijn op de stromen die de verschillende compounds nodig hebben.Voedingsbanen worden altijd in aluminium uitgevoerd omdat polysiliciumeen te hoge weerstand heeft. De benodigde breedte van de banen wordtbepaald door de stroom die er doorheen moet lopen. Als de banen te smalworden gemaakt treedt een effekt op wat bekend staat als "metalmigration". Zie[13],blz 142. Metal migration kan leiden tot eenonderbreking in de baan. Om dit te voorkomen moet de baanbreedte in urngroter of gelijk zijn aan de stroom in rnA die door de desbetreffendebaan loopt. Het kleinste aluminiumbaantje dat in EFFIC kan worden

28

gemaakt heeft een breedte van 6 um en mag daarom maximaal 6 rnA aanstroom voeren.

4.3 Realisatie van de compounds voor de schakelmatrix

De gerealiseerde compounds zullen worden besprokenschematische voorstelling van het totale Ie.voorstelling is in figuur 4.4 weergegeven.

aan de hand van eenDeze schematische

~-------I-------I------I-------!

I I I I II I 1 II I I 1

, "I I, II I, ,

I "I I II I II I I

:i_~~u~__ ~ ~P_~~ __~n ~u! __:}-"_~ut __:

~---------,--~-------~---------~----------, I I, I

IIIIIIIIII,,I

l'!.1_u_1_tipl ;~~I t~~I_I muIJ ipL_ rn_u~Ii_~I __

i L 'JL- ~I~I'

outO

/ /' '. / " .. " / "LJ ._lc.~ ~L~ I~ I'

"---.--.-' -~I , I'

~u It 'out2 ou t3

- 1

memory

: memory

ou tl ..--------------..'l.«

I

i----I

--i

I- - --,

memory

memory

: memory

; memory

r---------------.. ou 10~J"",

-------------------,II

i~/II-- ----------------,

, I

: ~ i /~~ (1', :,; memo~y____ __ _ ___ ~ rl C memory '-::~ -- -----~

n~::~__=n=m_Jw; mo=~lmnnm-=== ::-~ --=-=--L~ ---- ..-- ---j H1J-----. ---~-

• ou t1 i rlJ t i-------'"z,'-------..,

1 'I, memory

,j LlJJ i-

se lee I

,,,;tripsd ~ripadjdpad_

in in in

fig 4.4 Schematische voorstelling van de realistie van de

schakelmatrix.

29

De vier blokken bestaand uit "memory"compounds zlJn de schuifgeheugens.Zij sturen de multiplexers, compoundnaam "multipl", aan. De multiplexersschakelen signalen afkomstig van de buitenwereld weer terug naar debuitenwereld en zijn daarom voorzien van in- en outputdrivers. Deinputdrivers zijn gerealiseerd in de compounds "input". De outputdriverszijn opgenomen in de compounds "multipl". De compound "select" regelt detoegang van een van de schuifgeheugens tot de control-bus. De informatiedie daarvoor van buitenaf nodig is komt binnen via twee inputpads binnendeze compound en een derde inputpad buiten de compound. De inputpadbuiten de compound is opgenomen in een compound van het "input"-type enis bedoeld voor de distributie van het ncs-signaal over het IC.Uitwisseling van informatie met de buitenwereld via de control-bus wordtgeregeld door de compounds "tripad". Tripad kan zowel informatie van debuitenwereld op de control-bus zetten als informatie van de control-busnaar buiten brengen. De richting wordt bepaald door de compound"direct". De kloksignalen phil en phi2 en het signaal write/nread wordenvia de compounds "inp" op het IC gebracht.

In de volgende paragrafen zullen de verschillende compounds afzonderlijkworden beschreven. De compounds zijn op logisch niveau gesimuleerd metbehulp van de Switch Level Simulator, een van de CAD-hulpmiddelen dievoor het IC-ontwerp beschikbaar is. De resultaten van deze simulatieszijn opgenomen in bijlage 2. Op de plaatsen waar dit van belang is zalnaar deze bijlage worden verwezen. De compounds zijn op hetcomputersysteem 2 van de vakgroep ES onder de directory hans_d/ layoutopgenomen in de layout-file ic.lay.

4.3.1 Compound "input"De compound "input" is opgebouwd uit een input-pad, een "protection­gate" en een driver. De protection-gate is na de input-pad opgenomen enbiedt bescherming tegen gate-oxide doors lag die door statische ladingveroorzaakt zou kunnen worden. Voor een beschrijving van de protection­gate wordt verwezen naar [9], bIz 50-53. De protection-gate kan metinbegrip van de input-pad worden aangeroepen uit de standaardbibliotheekonder de naam "protg". Zie [11].

De protection-gate wordt gevolgd door een drivertrap bestaande uit eeninverter en een inverterend superbuffer. De driver wordt geillustreerdin figuur 4.5.

_I'----J,----:J---,----~0v dd

~ 1~6 r~6 j-11~/6

I ~ I '~1 ' f-------" ••,I. 0 ---1 ~3/~ c H'~ -1 ~6

___..L.--------'--_ ---0 v ss

fig. 4.5. Drivertrap van "input".

30

Een superbuffer heeft symmetrische stijg- en daaltijden. Bij een gewoneinverter zijn de stijg- en daaltijden niet symmetrisch zoals vermeld inparagraaf 4.2.3. Zie ook [10], bIz 17-18.

De driver kan een capaciteit aansturen van 4* de gate-capaciteit van een96/6 transistor, ofweI 1.1 pF. Op het IC is de maximale lengte van deverbindingen tussen input en multipl ongeveer 2400 urn. De verbindingenzijn uitgevoerd in aluminium met een baanbreedte van 6 urn. Deverbindingscapaciteit is daarmee 0.5 pF. De verdere belasting wordtgevormd door 4 gate-capaciteiten van 12/6 transistoren met een totalecapaciteit van 0.15 pF. De totale belastingscapaciteit is nu 0.7 pF ,kleiner dan wat de driver aan zou kunnen sturen.

Input wordt ook gebruikt voor het doorgeven van het ncs-signaal. Daarbestaat de belasting uit 2300 urn aluminiumbaan van 6 urn en tweetransistoren van respectievelijk 23/6 en 20/6. De totale belasting isdaarmee kleiner dan 0.7 pF en geeft geen problemen voor de driver.

In bij lage 2 staan de resultaten van de simulatie met SLS. Voor desimulatie is de uitgang met 1 pF belast. De vertragingstijd van ingangnaar uitgang is voor een stijgende flank 6 ns en voor een dalende flank14 ns. De asymmetrie wordt veroorzaakt door de inverter die voor hetsuperbuffer is opgenomen.

4.3.2 Compound "multipl"De compound "multipl" bestaat uit een multiplexer en een bootdriver. Debootdriver is voorzien van een output-pad. De bootdriver kan uit destandaardbibliotheek worden aangeroepen onder de naam "bootdriv". Vooreen beschrijving van de bootdriver wordt verwezen naar [11]. Hetmultiplexer-gedeelte wordt in figuur 4.6 geillustreerd.

31

------;

cont

g3

0---~----~-

Vdd Vdd

i

I-i IT;6 rf;6L -J L __L ---gO

I na ~J-,

o~ ~~16 oo~ ~6,2~ I 0'I IVss Vss

fig 4.6 Multiplexer-gedeelte van "multipl"

De ingangen worden geschakeld met behulp van pass-transistoren zoals inparagraaf 4.2.2 is vermeld. De gates van de pass-transistoren wordengestuurd door vier 2-input NORS. In figuur 4.6 is er een van getekend.Samen met twee inverters zorgen de NORS voor het decoderen van 2 bits("a" en "b" genoemd) die het geheugen aanbiedt. Het andere bit ("cont"genoemd) regelt het al dan niet doorschakelen van een van de ingangen.Dit bit wordt niet gebruikt om de multiplexer-uitgang in tri-statetoestand te brengen omdat de standaardbibliotheek geen tri-stateoutputdrivers heeft. In plaats daarvan wordt het bit gebruikt om deuitgang continu laag te maken als geen verbinding is gewenst.Afhankelijk van de bits a, b en cont worden de volgende verbindingengerealiseerd :

cont=l a=x b=x test1=0cont=O a=O b=O testl=in3cont=O a=O b=l testl=in2cont=O a=l b=O testl=in1cont=O a=l b=l test1=inO

Bij de simu1atie met SLS is de output-pad met 3.5 pF capaciteit be1ast.Uit de resultaten blijkt dat een stijgende flank op een van de ingangeneen vertraging van 26 ns naar de uitgang heeft. Voor een dalende flankis dit 24 ns.

32

phil--.

Dit resultaat kan worden gecombineerd met de resultaten van de simulatievan "input". Een signaal dat van buiten het IC afkomstig is. door demultiplexer wordt geschakeld en weer naar buiten wordt gevoerdondervindt op het IC een vertraging. Voor een stijgende flank is dit 32ns en voor een dalende flank 38 ns. Bij deze vertragingstijd is nog nietde tijd opgenomen die het duurt om de multiplexer naar een nieuwe ingangom te schakelen.

4.3.3 Compound "memory"De compound "memory" is opgebouwd uit de compounds "shift", "driver","driver2" en "control". Deze sub-compounds zijn met elkaar verbonden opde wijze zoals in figuur 4.7 wordt geillustreerd.

~--------~----------------------------------

1-----+1 :

~:

I - ~hiftdrher I r

t--------I ~_J r---------------

drher

nsel __ •

n rea d •

conI --. control

rh er2

in

64 • shift

>--- -----~-----

,-----------------------_.-

fig 4.7 Compound "memory"

De compound "shift" wordt 64 keer gebruikt. Het is de schuifregisterceldie in figuur 4.1 is geillustreerd. De schuifregistercellen zijn inserie geplaatst. Om de afmetingen van de compound "memory" handelbaar tehouden is dit op zig-zag wijze gebeurt. Er zijn 4 rijen van 13 cellen en1 rij van 12 cellen gebruikt. In bijlage 2 is een simulatie van "shift"opgenomen.

De compound "driver" wordt gebruikt om de kloksignalen phil en phi2 enhet out-signaal te versterken. "Driver" is opgebouwd uit een aantalinverters en een inverterend superbuffer zoals in figuur 4.8 wordtgeillustreerd.

33

0--------,----,------,---------,----,--------0 Vdd

out

0---~---J----L-------'-----'-------0Vss

fig. 4.8 Compound "driver"

"Driver2" verschilt aIleen van "driver" doordat de laatste trap van hetsuperbuffer buiten de compound is opgenomen. Dit is gedaan am efficientvan de beschikbare ruimte binnen "memory" gebruik te kunnen maken.

Voor de kloksignalen is de belasting ongeveer 5000 urn aluminium van 6 urnbreedte en 64 transistoren met een W/L verhouding van 12/6. Dit geefteen totale capaciteit van 3.3 pF. Deze belastingscapaciteit is 5 keergrater dan de gatecapaciteit van de pull down transistor in de laatstetrap van "driver" zodat beide goed op elkaar zijn afgestemd.

De belasting die het out-signaal ondervindt hangt af van de plaats vande betreffende "memory"-compound op het IC. In het meest ongunstigegeval is dit een aluminiumbaan van 5000 urn zodat de maximale belasting 1pF is. Dit levert geen problemen voor "driver".

Bij de simulatie is "driver" met een extra uitgangscapaciteit van 3.5 pFbelast. Voor een stijgende flank werd een vertragingstijd van 34 nsgevonden, voor een dalende flank 14 ns.

De compound "control" regelt het lezen en schrijven in het geheugen. Infiguur 4.9 wordt deze compound geillustreerd.

34

'---------'--------------0 out

con t ~)--~---~-~ ------,f---~

i n CJ~ ~- ~.~-~

fig 4.9 Compound "control"

"In" is, via de versterkingstrap, verbonden met de uitgang van hetschuifregister. "Out" is verbonden met de ingang van het schuifregister.Afhankelijk van de signalen "nsel" en "nr/w" worden "in", "out" en"cont" op de volgende wijze met elkaar verbonden

nsel=l nr/w=xnsel=O nr/w=O

nsel=O nr/w=l

in->outin->outin->cont

cont->out

Het lezen en schrijven z1Jn apart gesimuleerd omdat SLS problemen heeftmet het bi-directionele karakter van de control-bus.

De compound "memory" is ook in z1Jn geheel getest. Vanuit debe gins it ua tie, waarin aIle schuifregistercellen een onbekende waardehebben, is via de control-bus een patroon in het schuifregistergeschoven. Bij de simulatie is gebruik gemaakt van een twee-fasen niet­overlappende klok met een periode van 2 us, in overeenstenuning met desituatie zoals deze in de uiteindelijke toepassing zal zijn. Uit desimulatieresultaten blijkt het ingelezen patroon zoals gewenst na 64klokslagen aan de uitgang te verschijnen. De outputsignalen zijn 29 nsna de opgaande flank van phi2 stabiel.

4.3.4 Compound "select"De compound "select" is opgebouwd uit twee input-pads met protection­gates en de logica zoals deze in figuur 4.10 wordt geillustreerd.

35

r(,;.- . --~-'I-I~' "Vdd

L_-~----lL, 0 DselOI I, , ~r----

DCS~~~-~ E6 D~ E6 D~ ~6 -1 E;6L __l _-,-I--------"----10 Vss

fig 4.10 Compound "select"

De signalen "a" en "b" zijn afkomstig van de input-pads en wordengebruikt om een van de vier schuifgeheugens te selekteren. Naast a en bzijn ook na en nb nodig. In de figuur is aIleen de invertertrap voor ageillustreerd. a wordt verkregen door na te inverteren. Dit is gedaan omzo de de belasting van de protection-gate laag te houden, wat desnelheid ten goede komt. Het signaal "ncs" is afkomstig van buiten decompound. AIleen als ncs laag is zal een van de schuifgeheugens wordengeselekteerd. In figuur 4.10 is alleen het gedeelte van de schakelinggeillustreerd dat het signaal "nselO" genereert. De signalen nsell,nse12 en nse13 worden op dezelfde wij ze opgewekt maar met een anderecombinatie van de signalen a, na, ben nb. Voor de pull downtransistoren van de NOR worden, afhankelijk van het gewensteuitgangssignaal , als ingangssignalen genomen :

nselO ncsnsell ncsnse12 ncsnse13 ncs

na nba nb

na ba b

De belastingscapaciteit voor de nsel-signalen wordt geschat op 1 pF. Deuitgangstrap met een 96{6 pull down transistor is daarvoor toereikend.

Bij de simulatie zlJn de 1 pF belastingscapaciteiten aan de nsel­uitgangen extra aangebracht. De vertragingstijd die het uitgangssignaalondervindt is niet voor elke uitgang hetzelfde. In het meest ongunstigegeval is de vert raging 32 ns voor het aktief worden en 34 ns voor hetterugvallen naar de niet-aktieve toestand.

4.3.5 Compound "direct"De compound "direct" wordt in figuur 4.11 geillustreerd.

36

12)~--] - ~Vdd

r~ 111~.~6I -~ 9-0""

"1'0--1 ~~6 201~ h~ ~0/6ncs0- I CI --l

12) . t== ~vssfig 4.11 Compound "direct"

Als ncs=1 is wordt cont=1 Dit heeft tot gevolg dat de compound"tripad" in de input-mode wordt geschakeld (signalen van de input-padgaan naar de control-bus). Bij ncs=O en nr/w=1 blij ft dit het geval.Indien ncs=O en nr/w=O wordt cont=O en daarmee zal "tripad"overschakelen naar de output-mode.

De compound "direct" is dicht bij de compounds "tripad" geplaatst zodater weinig bedradingscapaciteit is. De belasting van "direct" is daaromlaag en bij de simulatie niet meegenomen.

4.3.6 Compound "tripad"De compound "tripad" bestaat uit een input/output-pad met protection­gate en twee drivers: een voor input en een voor output. De compound isontworpen door Jose Pineda (vakgroep ES) en onder zijn directoryopvraagbaar. De compound wordt gei11ustreerd in figuur 4.12.

37

Vrld()

v55

con

i/o

fig. 4.12 Compound "tripad"

Het signaal "can" bepaalt de richting van het signaaltransport

con=lcon==O

pad -> io10 -> pad

Op het IC vormt de control-bus samen met gate-capaciteiten een belastingvan 3.5 pF voor io. Bij de simulatie zijn zowel io als pad belast met3.5 pF. De gevonden vertragingstijden zijn :

input-mode (con==l) : s tij gende flank 30 nsdalende flank 31 ns

output-mode (con=O) : stij gende flank 23 nsdalende flank 42 ns

4.3.7 Compound "in"De compound ,. in" bestaat uit een input-pad met protection-gate en eensub-compound "driver". Deze onderdelen zijn in de paragrafen 4.3.1 en4.3.3 al aan de orde geweest en worden hier niet verder behandeld.

38

4.4 Het totale IC layout en vermogensdissipatie

4.4.1 LayoutDe layout van het totale IC wordt gegeven in figuur 4.13.

I~ir- rr-

I~ 0 0 0 :J

0 Di 01 0 :

b.a=~ lJ Wb.a=foo ~I-o b--I-

,. ,-- ' ,

, - ~

L ' ,

I . 1111ffllll~ i- -

, " Ill'" Ij1111[1111 j~i%

,d1ri lilJ1i11:~rI ',I' II IIII"JI'II!

~ 111111111111]111:1il1 I

" '1111 :iiji~lllI~I ~III! i.;lI~

'I ~11"'111'JI III" lit! I,t I- i I!i J'llllll0 I 11111I~ ,I]!.

i I I!' ~ Jill ~tI I ~ """ ~ mil ~ mil!l.J i Ii

.... L~- -- --- -~ -

~lm1irmi

! ~' j'"j J, 1'" j IluI' :I t I ~ I 11 ( I I 11! J:; L, li'""II,ll"'II'I'1

0I j I I II II

I," J'j> J."'~I"lj' 'Ii '-

:;;:;;t i

'Il"~" 1.1""":

11~!i11~~ij:l:i=--t'

--

~ ,,)!: 11l 1:,1l1 !

~II' r,Willliili, 'I I'~H 'J,:'

----

I .' Ii 11111~'t I

n '1'1111~i1l!1i u ~ " fij'I' W "il'

,~~ I!~. H'r----" d I

! I ':1 I: ,

UIJL ~ ]

WI--

0 0 0LJ i0 iJ

X:

fig. 4.13 Layout van het IC

39

De layout heeft de compoundnaam "switch". Het totalede schakeling in beslag wordt genomen is 4423verschillende compounds kunnen worden teruggevondenfiguur 4.4 te vergelijken. De ligging van de pads is

oppervlak dat doorurn * 4324 urn. Dedoor de layout metals voIgt :

bovenkant, van links naar rechts Vsup,inO,inl,in2,in3,outO,­outl,out2,out3

linkerkant, van boven naar onderVsup,a,b,ncs

onderkant, van links naar rechtscontroll,controI2,controI3,phil,phi2,nr/w

De vier schuifgeheugens bestaan uit drie "memory" compounds die eeneigen control-signaal krijgen (controll,controI2 of control3). Bij hetinlezen van informatie zal het control-signaal na het doorlopen van hetgehele schuifregister via de output van "memory" op de input van"multipl" komen. De relatie tussen de control-signalen en de input­signalen van "multipl" is als voIgt:

contI <--> acont2 <--> bcont3 <--> cont

Ais schuifgeheugen 0 is geselekteerd en een write-signaal wordt gegevenmet op de control-bus contl,cont2,cont3=0,0,0 zal dit na 63 klokslagentot gevolg hebben dat in3 met outO wordt verbonden.

4.4.2 VermogensdissipatieDe vermogensdissipatie van het totale IC kan worden geschat op de manierzoals in paragraaf 4.2.4 wordt beschreven. Er wordt verondersteld dat dehelft van aIle inverters een 0 op de uitgang heeft.

Het verbruik van aIle schuifregistercellen samen is 64*3*4*1.7*10- 4 Watt= 0.13 Watt.

Een SPICE-simulatie van de compound "driver" gaf voor de dissipatie vandeze compound afhankelijk van het uitgangssignaal:

uitgang hoaguitgang laag

0.00745 W0.0238 W

De gemiddelde dissipatie is 0.0156 Watt. De compound "driver" wordt 39maal gebruikt. De bootdrivers die in "multipl" worden gebruikt en decompounds "tripad" hebben een dissipatie die in dezelfde orde vangrootte ligt als van "driver". AIle drivers samen dissiperen daaromongeveer 46*0.0156 Watt = 0.72 Watt.

De dissipatie van de compound "input" kan met de methode van paragraaf4.2.4 worden geschat

uitgang=Ouitgang=1

equivalente weerstand 45 kequivalente weerstand 45 k II 11 k

40

9 k

De gemiddelde dissipatie van "input" is 0.0017 Watt. Deze compound wordt5 maal gebruikt. Dit geeft een totale dissipatie van 0.008 Watt.

Op ana loge wijzw wordt voor de compound "select" een dissipatie van0.007 Watt gevonden.

De schakeling bevat verder nog een honderdtal poorten met 6/6 depletionload transistoren. De totale dissipatie daarvan wordt geschat op 0.03Watt.

De op deze w1Jze berekende totale dissipatie is 0.9 Watt. Dit ligt onderde toegestane waarde van 1 Watt. De gebruikte methode geeft slechts eenschatting van het gedissipeerde vermogen, waardoor in de werkelijkheideen zekere afwijking kan worden gevonden.

4.5 CMOS-technologie

Het ontwerp is in NMOS uitgevoerd. Een andere VLSI techniek waarin hetontwerp zou kunnen worden gerealiseerd is CMOS. De consequenties van hetgebruik van deze technologie wordt besproken.

Het grote voordeel van het gebruik van CMOS boven NMOS is de lagerevermogensdissipatie van CMOS-schakelingen. In CMOS-schakelingen wordtaIleen vermogen gedissipeerd bij het overschakelen van de ene toestandnaar de andere toestand. Het gedissipeerde vermogen is daarom evenredigmet de schakelfrequentie. Bij een schakelfrequentie in de orde vangrootte van 10 MHz is de dissipatie van een CMOS schakeling ongeveereven groot als die van een NMOS-schakeling ( [14], bIz 522 ). In deschakelmatrix is de werkfrequentie 512 kHz zodat het ontwerp uitgevoerdin CMOS aanzienlijk minder vermogen zal dissiperen dan de NMOS­uitvoering.

Het aantal transistoren dat voor een CMOS-schakeling nodig is is in hetalgemeen groter dan voor dezelfde NMOS-schakeling. Bij het gebruik vanstatische logica heeft NMOS voor logische elementen met N ingangen N+1transistoren nodig. Voor CMOS zijn het er 2N. Bij het gebruik vandynamische logica wordt het verschil kleiner. Zie hiervoor ook [12]. Hetgrootste gedeelte van de schakelmatrix be staat uit schuifregistercellenvan 6 transistoren. In CMOS uitgevoerd bestaan de cellen uit 8transistoren. De verhouding Zpu/Zpd voor CMOS is kleiner dan voor NMOS ([12], bIz 28 ) zodat de inverters kleiner zouden kunnen zijn. Deschuifregistercellen in CMOS-uitvoering zullen daarom ongeveer evengroot zijn als in de NMOS-uitvoering. Dit heeft tot gevolg dat deschakelmatrix in NMOS of CMOS uitgevoerd ongeveer dezelfde oppervlaktezal beslaan.

De snelheid die gehaald kan worden is een ander belangrijk punt. Defaktor die bepalend is voor de maximale snelheid waarop de schakelmatrixkan opereren is de vertragingstijd die ontstaat door het multiplexer­gedeelte. De bits van de TDM-lijnen moeten daar serieel doorheen zodatdaar de hoogste frequentie zal optreden. Uit het ontwerp blijkt dat de

41

vertragingstijd wordt veroorzaakt door de benodigde drivers. De driversbestaan uit een keten van inverters. In [13], blz 195 wordt afgeleid dateen keten van inverters uitgevoerd in CMOS een faktor 2 langzamer is dandezelfde keten uitgevoerd in NMOS. De NMOS-schakelmatrix zal daarom meteen 2 maal hogere bitsnelheid kunnen werken dan de CMOS-schakelmatrix.

42

5.Conclusies en aanbevelingen

Bij het ontwerp van het schakelnetwerk is van een basisstruktuuruitgegaan. De basisstruktuur vervult aIleen de gewenste schakelfunktieen heeft geen mogelijkheden tot foutenbeheersing.

Er is een mogelijkheid geschetst om deze basisstruktuur uit te breidenzodat foutenbeheersing weI mogelijk is. Daarbij wordt zowel deschakelinformatie als de te schake len informatie van checkbits voorzienzodat enkele fouten kunnen worden gecorrigeerd en dubbele foutengedetekteerd. Andere mogelij ke fouten kunnen worden gevonden door dematrix op juiste werking te testen. Hiervoor zijn test in- en uitgangentoegevoegd.

Het ontwerp van een time-shifter uitgevoerd door Joost Reijalt en Reinde Vries gaat uit van een andere foutencorrigerende code voor debeveiliging van de te schake len informatie. Als time-shifter enschakelnetwerk samen worden gebruikt behoeft de te schake len informatiemaar een keer te worden gecorrigeerd. Er moet dan weI een uniformfo rmaa t wo rden a fge sproken. Aan de opzet van het schake lne twerkverandert dit verder niets.

Het ontwerp in NMOS van een 4*4 schakelmatrix is zonder foutencorrectieuitgevoerd. Het IC heeft echter al bijna de maximale grootte. Ditbetekent dat het niet zonder meer mogelijk is om op EFFIC een 4*4schakelmatrix met foutencorrectie te maken. Matrices met meer in- enuitgangen zijn ook niet mogelijk.Grotere schakelnetwerken zullen op meerdere IC's moeten worden gemaakt.

Het IC moet nog worden gesimuleerd voor het kan worden gemaakt.

43

Literatuur

[1) Heetman, A., Wacht tij d en stagnatietheorie. Dictaat TV Eindhoven,no 5564.

(2) Reija1t, J.J.M., en R.J.F. de Vries, Ontwikkeling van eentimeshifter met foutcorrectie voor een digitale telefooncentrale.Afstudeerverslag TV Eindhoven, vakgroep EB, mei 1987.

(3) Syski, R., Introduction to congestion theory in telephone systems.Elsevier Science Publishers B.V., Amsterdam, 2nd edition, 1986.

(4) Jacobaeus, C., 'A study on congestion in link systems'. EricssonTechnics, No 48, pp 1-68, 1950.

(5) Clos, C., 'A study of non-blocking switching networks'. Bell Syst.Tech. J., vol 32, March 1953, pp 406-424.

(6) Peterson, W.W., and E.J. Weldon, Jr., Error correcting codes. JohnWiley & Sons, Inc., New York, N.Y., 2nd ed., 1972.

(7) Hamming, R. W., 'Error detecting and error correc ting code s '. BellSyst. Tech. J., vol 29, April 1950, pp 147-160.

(8) Lin, S., An introduction to error-correcting codes. Prentice-Hall,New Jersey, 1970.

[9] IC-praktikum, deel 1 : IC-ontwerp. Dictaat TV Eindhoven, no 5677.[10] Mead, C., and L. Conway, Introduction to VLSI systems. Addisson­

Wesley Publishing Company, Inc., Phillippines, 1980.[11] Sommen, P.T. van der, 'The design of a library of IC layout

design'. Stageverslag TV Eindhoven, vakgroep ES.[12] Weste, N., and K. Eshraghian, Principles of CMOS VLSI design, a

systems perspective. Addison-Wesley, Amsterdam, 1985.[13] Mukherjee, A., Introduction to NMOS and CMOS VLSI systems design.

Prentice-Hall, Englewood Cliffs, New Jersey, 1986.(14) EI-Kareh, B., and R.J. Bombard, Introduction to VLSI silicon

devices. Kluwer Academic Publishers, Dordrecht, 1986.

44

Bijiage 1. Foutencorrigerende codes

1.1. Cyclische codes

1.1.1. InieidingDe elementen van een codevector ~=(vO,vl'" .,vn -l) worden voor cyclischecodes beschouwd ais coefficienten van een polynoom

Een codewoord heeft de Iengte n. Het aantal informatiebits hierin is ken het aantal controlebits is n-k.

Een bericht dat uit k informatiebits bestaat wordt beschreven door hetberichtpolynoom ~(X)

Het codepolynoom ~(X) dat bij het berichtpolynoom ~(X) hoort wordtverkregen door ~(X) te vermenigvuldigen met een generatorpolynoom g(X):

~(X) = ~(X)g(X)

Voor cyclische codes met codewoorden ter Iengte n en k informatiebits,zogenaamde (n,k) cyclische codes, is g(X) van de graad n-k en is g(X)een factor van Xn+l.

Codes die op bovengenoemde manier worden gemaakt zijn in het algemeenniet systematisch, dat wil zeggen een codewoord van de code is niet opte delen in een biok informatiebits en een biok controlebits. De codeskunnen echter weI systematisch worden gemaakt. Daartoe wordt geschreven

zodat E(X) de rest is van de deling:

Het codepolynoom ~(X) heeft dan de volgende vorm:

Een codewoord ziet er ais voIgt uit:

met r de controlebits en m de informatiebits. nu duideIijk gescheiden.

Stel dat er in het ontvangen codewoord fouten zijn opgetreden. Dit woordis nu te schrijven ais ~+~ ' met e de foutenvector. Er geldt :

~(X)+~(X)

45

~(X) is de rest van de deling van het ontvangen codewoord door g(X) enwordt het syndroom genoemd. Het syndroom geeft informatie over deopgetreden fout. Een circuit waarmee het syndroom kan wordenuitgerekend, een syndroomgenerator van g(X), wordt geiIIustreerd infiguur 1. Zie ook [6],bIz 231. Er geldt : g(X)=gO+' .. +gr_lxr-l+grxr.

fig 1. Een syndroomgenerator van g(X).

De registers moeten eerst de waarde 0 krijgen. De coefficienten van hetontvangen codewoord worden daarna een voor een naar binnen geschoven tebeginnen met de hoogste orde coefficient. Na n shifts bevatten deregisters de rest van de deling door g(X) .

1.1.2 Hammingcodes voor correctie van enkele bitfoutenEen Hammingcode die een bitfout kan corrigeren heeft de volgendeparameters :

n Zm-ln-k mk 2m-m-l

De code heeft als generatorpolynoom een zogenaamd primitief polynoom vande graad m. Dit polynoom wordt E(X) genoemd. Uit de parameters bIijktdat er niet voor elke keen Hammingcode bestaat. 20 kan er voor woordenvan 5 informatiebits, k=S, geen Hammingcode worden gevonden. Ditprobleem kan worden opgelost door gebruik te maken van een verkorteHammingcode. Voordat daar verder op ingegaan wordt is het verstandigeerst het decodeerprincipe van een "gewone" Hammingcode te bekijken.

Het decodeerprincipe berust op twee theorema's :

(1) Stel dat ~(X) het syndroom is dat behoort bij een n-tuple!(X). Het syndroom van een cyclische verschuiving van !(X),dus van X!(X), wordt verkregen door de syndroomgenerator vang(X) een keer te verschuiven met als beginwaarde ~(X).

(2) Als voor het syndroom van r(X) de rest van de deling Xn­k!(X)!g(X) wordt genomen, en aIle fouten Iiggen in de hoogsteorde n-k symbolen van !(X), dan verschijnt het niet-nulgedeelte van het foutenpatroon in de overeenkomstige positiesvan het syndroom.

Voor het bewij s van bovengenoemde theorema' s wordt verwezen naar [6],par. 8.9.

In figuur 2 wordt de opbouw van een Hammingcode-decoder geiIIustreerd.

46

inp"'t~ ---,

J-----i~~ co"~ctecA

OlAl:f'l..</:;

figuur 2. Een Hammingcode-decoder.

De inputvector v wordt tegelijkertijd in het buffer en in hetsyndroomregister geschoven. Als alle elementen van ~ zijn verwerkt is deinhoud van het syndroomregister gelijk aan de rest van de deling :

Als er geen fouten zijn opgetreden is s(X) = Q. Als het hoogste orde bitfout is zal volgens theorema (2) de inhoud van het syndroomregister00 .. 01 zijn. Bij uitlezen uit het buffer wordt deze fout gecorrigeerd.Een bitfout op een andere plaats zal volgens theorema (1) op het juistetijdstip worden gecorrigeerd indien het syndroomregister gelijk met hetbuffer wordt geschoven.

1.1.3 Hammingcode voor correctie van enkele fouten en detektie vandubbele foutenDoor als generatorpolynoom g(X) (1+X).2(X)hetzelfde polynoom is als in paragraaf 1.1.2worden gecorrigeerd.

te nemen waarbij .2 (X)kunnen dubbele fouten

De ontvangen vector wordt £(X) genoemd en er wordt uitgerekend

.9.1(X).2(X)+2.p(X)

.9.2 (X) (1+X)+sa

Er zijn vier gevallen mogelijk

(1)

( 2)

( 3 )

2.p(X)=Q en sa=OIn dit geval is E(X) deelbaar door (1+X).E(X) en daaromeen codevector.

2.p(X)=Q en sa=1Er is een enkele bitfout opgetreden die kan wordengecorrigeerd met behulp van de in paragraaf 1.1.2beschreven methode.

2.p(X)=Q en sa=O

47

~(X) is niet deelbaar door £(X) .ma~r wel door (I+X). Ditwijst op een foutvector ~(X)=Xl+XJ . Er is een dubbelefout opgetreden.

(4) ~p(X)=Q en sa=1Dit wijst op een oneven aantal fouten groter dan een.

Een decoder die bovengenoemde gevallen kan onderscheiden wordtgeillustreerd in figuur 3.

inpt.<t---l~--------------------------.

e.rr-o f'"

fig 3. Hammingcode-decoder voor correctie van enkele fouten endetektie van dubbele fouten.

1.1.4. Verkorte Hammingcode voor correctie van enkele bitfouten endetektie van dubbele bitfouten in een 5-bits woordVan een cyclische code kan een verkorte cyclische code gemaakt wordendoor alleen een subset van codewoorden te beschouwen waarvan een aantalhoogste orde informatiebits nul zijn. Deze subset vormt weliswaar nietmeer een cyclische code, maar foutendetektie en correctie kan opdezelfde manier geschieden als bij de onverkorte code. De decoder moetalleen ieder codewoord van een aantal extra nullen te voorzien.

De Ha~~ingcode met de kleinste n die voor een 5 bits informatie woordkan worden gebruikt heeft de volgende parameters :

n 15m 4n-k m+l = 5

Een primitief polynoom van graad 4 is £(X)=I+X+X4 . Als generator­polynoom voor een code met bovenstaande parameters moet genomen worden :

Omdat er slechts 5 informatiebits zlJn worden van de code die door ~(X)

wordt gegenereerd slechts die woorden beschouwd waarvan de 5 hoogsteorde bits nul zijn. De decoder zou dan ieder ontvangen woord door 5

48

nullen moeten laten voorafgaan. Het is echter eenvoudiger am in plaatsdaarvan de vector XSr(X) te beschouwen ( r(X) is weer de ontvangenvector). De ontvanger-moet nu niet het syndr~om van Xn-kE(X) berekenenmaar het syndroom van Xn-k+SE(X).

De decoder bestaat uit twee delen : een gedeelte dat deelt door I+X+X4en een gedeelte dat deelt door 1+X. Het gedeelte dat de deling doorI+X+X4 uitvoert is gebaseerd op op de (IS,II) enkele fouten corrigerendeHammingcode. Da t wil zeggen n-k=4. er zijn 4 controlebits en 11informatiebits. Omdat hier de verkorte code wordt beschouwd met de Shoogste orde bits gelijk aan nul wordt het syndroom ~(X) uitgerekendvolgens :

i(X) wordt de rest van de deling X9/ g (X) genoemd :

zodat geldt :

Het syndroom kan daarmee worden bepaald door de rest uit te rekenen vande deling van E(X)i(X) door g(X). Er geldt :

i(X) = X9+(XS+X2+X) (X4+X+l) = X3+X

zoda t he t syndroom bepaald moet worden van (X3+X) E (X) / (X4+X+1 ). Eenschakeling waarmee dit kan wordt gegeven in figuur 4.

fig 4. Syndroomgenerator.

Het tweede gedeelte van de decoder moet de rest van de delingxn-k+S.E.(X) / (1+X) uitrekenen. Omdat Xn-k+S niet deelbaar is door I+Xvolstaat het am de rest van de deling E(X)/(I+X) uit te rekenen. Dit kangedaan worden met de schakeling van figuur S.

49

fig 5. Deling door 1+X.

De gehele schakeling komt er uit te zien zoals in figuur 6 wordtgeillustreerd.

buHer

;"puti-------- --. ----,

fig 6. Decoder voor de verkorte Hammingcode.

1.2 Niet-systematische Hammingcode

De Hammingcode in de originele vorm zoals deze wordt beschreven doorHamming, zie [7], is niet systematisch . Decodering van deze code is hetmee s t eenvoud i gals alle bits tegelij kertij d (parallel) beschikbaarzijn.

De controlebits staan op de posities 1,2,4,8 etc in het codewoord envoeren een even paritycheck uit. 20 ontstaat een even aantal enen in degecodeerde woorden. Elk controlebit voert een paritycheck uit overbepaalde bits in het woord , waarbij dit zo georganiseerd is dat decontrolebits samen de plaats van het foute bit aangeven in binairerepresentatie. De onderstaande tabel geeft aan welke posities deverschillende controlebits moeten testen.

controlebit12

34

geteste posities1,3,5,7,92,3,6,7,10,114,5,6,7,12,13,14,15,208,9,10,11,12,13,14,15,24

50

Door voor de controlebits de posities 1,2,4,8 etc te kiezen worden dezebits onafhankelijk van elkaar.

De code kan worden uitgebreid am dubbele fouten te detekteren. Daartoewordt met een extra bit een even paritycheck over aIle bits uitgevoerd.Bij decodering van het ontvangen codewoord zijn er, afhankelijk van hetaantal opgetreden fouten, 3 situaties te onderscheiden :

(1) geen fouten. Aan elke paritycheck wordt voldaan(2) een fout. De laatste paritycheck gaat altijd fout,ook alshet bit zelf fout is. Het "checking number", het getal dat deandere controlebits samen vormen, geeft de positie van hetfoute bit aan. Checking number 0 betekent dat de laatstetestpositie fout is.(3) twee fouten. Aan de laatste paritycheck wordt voldaan,maar het checking number geeft aan dat er iets fout is.

1.2.1 Een niet-systematische Hammingcode voor dubbele fouten detektie enenkele fouten correctie in een woord van 5 bitsOp de wij ze zoa I s in paragraaf 1.2 beschreven kan een code wordengemaakt voor detektie van enkele fouten en correctie van dubbele foutenin een woord van 5 bits.

De decoder moet 5 paritychecks uitvoeren

cl rO+r2+ r 4+r6+ r8c2 rl+ r Z+ r 5+ r 6c3 r3+ r 4+ r 5+ r 6c4 r7+r8c5 rO+rl+rZ+r3+r4+r5+r6+r7+r8+r9

Hierin zijn r de bits van het ontvangen woord.

In figuur 7 wordt geillustreerd hoe de decoder eruit kan zien.

51

r. r. r'l. r~ r" r~ r"t t'"cS ,...~

+ &-ro"'.+1"'1.

r)+r"'s' rl.

r"f + •If

C, C'l Cll C" Cs-

c,~c, +"C, +

~

• •

fig 7. Hammingdecoder voor woorden met 5 informatiebits.

1.3 Een lineaire systematische blokcode met Hamming distance 4

Om een fout te kunnen corrigeren en twee fouten te detekteren is eencode met ten minste Hamming distance 4 nodig. Een dergelijke code kanworden ontwerpen door het opstellen van de generatormatrix. Doorvermenigvuldiging van de informatiebits-vector met de generatormatrixontstaat de codewoord-vector.

Er wordt weer uitgegaan van 5 informatiebits en als generatormatrix Gwordt genomen :

1 0 0 0 0 0 1 1 1 10 1 0 0 0 1 0 1 1 1

G 0 0 1 0 0 1 1 0 1 10 0 0 1 0 1 1 1 0 10 0 0 0 1 1 1 1 1 0

Dat zo een code met Hamming distance 4 wordt verkregen is als voIgt nate gaan :

Van een lineaire code is de Hamming distance gelijk aan het minimumgewicht van de niet-nul codevectoren. Zie [8],blz 44.

De codevectoren in de matrix G hebben gewicht 5. Een lineairecombinatie van 2 van deze vectoren heeft een gewicht 4. Eencombinatie van 3 vectoren heeft een gewicht 5. Een combinatie van 4vectoren heett gewicht 8. Een combinatie van 5 vectoren tens lotteheeft een gewicht 5.

Uit het bovenstaande voIgt dat het minimumgewicht van de codevectoren endus de Hamming distance gelijk is aan 4.

52

Bij de generatormatrix G hoort een paritycheck-matrix H. Elke vectoropgebouwd uit een lineaire combinatie van de rijen van G staat loodrechtop elke rij van H. Voor deze code wordt gevonden:

f' 1 1 1 1 0 0 0 01 0 1 1 1 0 1 0 0 0

H 1 1 0 1 1 0 0 1 0 01 1 1 0 1 0 0 0 1 01 1 1 1 0 0 0 0 0 1

De getransponeerde matrix van H, HT is,

0 1 1 1 11 0 1 1 11 1 0 1 11 1 1 0 11 1 1 1 0

HT 1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1

Foutendetektie gebeurt door het uitrekenen van het syndroom

s = rHT

Voor codewoorden geldt ~=Q . Als blijkt dat s=O dan is er een foutopgetreden en geeft de samenstelling van s informatie over de plaatswaar de fout is opgetreden.

Er kunnen 5 gevallen worden onderscheiden :

( 1 ) Er is een fout opgetreden in de in fa rma tiebi ts. Defoutenvector is :

~ 1 0 0 0 0 0 0 0 0 0 ) en s 0 1 1 1 1of e 0 1 0 0 0 0 0 0 0 0 ) en s 1 0 1 1 1of e 0 0 1 0 0 0 0 0 0 0 ) en s 1 1 0 1 1of e 0 0 0 1 0 0 0 0 0 0 ) en s 1 1 1 0 1of e ( 0 0 0 0 1 0 0 0 0 0 ) en s 1 1 1 1 0Steeds heeft s een gewicht 4.

( 2 ) Er is een fout opgetreden in de controlebits. Defoutenvector is :

e = ( 0 0 0 0 0 1 0 0 0 0 ) en s ( 1 0 0 0 0 )

e = ( 0 0 0 0 0 0 0 0 0 1 ) en s ( 0 0 0 0 1 )

Steeds heeft s een gewicht 1-

( 3 ) Er zij n 2 fouten opgetreden in de informatiebits. Defoutenvector is

53

e 1 1 0 0 0 0 0 0 0 0 en s 1 1 0 0 0of e 0 1 1 0 0 0 0 0 0 0 en s 0 1 1 0 0

of e = ( 1 0 0 0 1 0 0 0 0 0 ) en s ( 1 0 0 0 1 )

etc.Steeds heeft s een gewicht 2.

( 4 ) Er zijn twee fouten opgetreden in de controlebits. Defoutenvector is :

~ = ( 0 0 0 0 0 1 1 0 0 0 ) en s = ( 1 1 0 0 0 )

e = ( 0 0 0 0 0 1 0 0 0 1 ) en s ( 1 0 0 0 1 )

etc.Steeds heeft ~ een gewicht 2.

( 5 ) Er is een fout opgetreden in de informa t iebit s en een foutin de controlebitsDe foutenvector is

e ( 1 0 0 0 0 1 0 0 0 0 en s 1 1 1 1 1e = ( 0 1 0 0 0 1 0 0 0 0 en s 0 0 1 1 1

etc.Steeds heeft s een gewicht 3 of 5.

Uit het voorafgaande kunnen de volgende conclusies worden getrokken :

- als ~ gewicht 1 heeft is er een fout opgetreden in decontrolebits. Het syndroom geeft meteen aan waar in decontrolebits de fout is opgetreden.

- als ~ gewicht 4 he eft is er een fout opgetreden in deinformatiebits. De 0 in het syndroom geeft de plaats aan waarde fout is opgetreden.

- als ~ een gewicht ongelijk aan 1 of 4 heeft is er eendubbele fout opgetreden.

Een decoder die hierop is gebaseerd wordt in figuur 8 geillustreerd.

54

fig 8. Decoder voor de lineaire blokcode.

1.4 Hardware-kosten van de decoders

De drie besproken codes hebben dezelfde foutencorrigende en detekterendecapaciteiten. De eenvoud van de bijbehorende decoder zal bij het makenvan een keuze van belang zijn. De hardware-kosten voor realisatie inNMOS van de decoders zijn

verkorte Hammingcodeniet-systematische Hammingcodelineaire blokcode

150 transistoren.240 transistoren350 transistoren

Bij de berekening isschuifregisters voor deDeze decoder verwerkt dede bits parallel.

uitgegaan van het gebruik van dynamischerealisatie van de verkorte Hammingcode-decoder.bits serieel. De andere twee decoders verwerken

55

simulatie "input"

set vsup = h*­set ground = 1*-

set in = 1*50 h*50option sigunitoption outaccoption leveloption stepoption simperiodprint in out

1*50 h*50InlOp3on250

1*50

=============================================================================S L S

version: 2.0S I M U L A T ION RES U L T S

=============================================================================time I i 0

in le-09 sec I n uI t

=============================================================================0.00 a x0.00 a a

50.00 1 a56.11 1 1

100.00 0 1113.97 0 0150.00 1 0156.11 1 1200.00 a 1213.97 a 0

=============================================================================network : input nodes :

=============================================================================

57

sirnulatie "rnultipl"

set vsup = h*-set ground = 1*-

set cont = 1*200 h*200set a = h*50 h*50 1*50 1*250set b = h*50 1*50 h*50 1*250set inO h*50 1*100 h*250set inl 1*50 1*10 h*30 1*10 1*-set in2 = 1*100 1*10 h*30 1*10 1*-set in3 = h*180 1*40 h*200

option sigunitoption outaccoption leveloption stepoption simperiodprint cont a b inO

InlOp3on400

inl in2 in3 out test1

=============================================================================S L S

version: 2.0S I M U L A T ION RES U L T S

=============================================================================timein le-09 sec

cab iii i 0 to n n n n u en 012 3 t st t

1=============================================================================

0.000.000.00

50.0057.7660.0073.1573.8474.3074.3684.9185.9790.0097.76

100.00110.00113.15113.84122.79135.07136.02140.00147.76150.00163.15163.84174.89175.29180.00187.63187.66188.59200.00203.05203.74220.00

o 1 1 1 0 0 1 x xo 1 1 1 0 0 1 x 101110 011 101000 0 III010 0 0 0 110o 1 0 0 1 0 1 1 0o 1 0 0 1 0 1 x 0o 1 0 0 101 0 0o 1 0 0 1 0 lOxo 1 0 0 1 0 101o 1 0 0 1 0 1 x 1o 1 0 0 1 0 1 1 1o 1 0 000 1 1 1o 1 0 0 0 0 1 1 0o 0 1 0 0 0 1 1 0o 0 1 0 0 1 1 1 0o 0 1 0 0 1 1 x 0o 0 1 0 0 1 100o 0 1 0 0 1 1 0 1o 0 1 0 0 1 1 x 1001 0 0 1 1 1 1o 0 1 0 0 0 1 1 1o 0 1 0 0 0 1 1 0o 0 0 1 0 0 1 1 0000 100 1 x 0o 0 0 1 0 0 100o 0 0 1 0 0 lOxo 0 0 1 0 0 1 0 1o 0 0 1 0 0 0 0 1o 0 0 100 0 x 1o 0 0 1 0 0 0 x 0o 0 0 1 0 0 0101 0 0 1 0 0 0 1 01 0 0 1 0 0 0 x 01 0 0 1 0 0 0 0 01 0 0 100 100

=============================================================================

network : multip1 nodes : 2=============================================================================

58

simulatie "shift"

set vsup = h*-set ground = 1*-

set phil h*2 1*2 h*2 1*2set phi2 1*2 h*2 1*2 h*2set in 1*4 h*4

option siqunitoption outaccoption leveloption stepoption simperiodprint phil phi2 in

lulOOn3on8

out==a=============z==========z============================__~_====_====~=======

S L Sversion: 2.0

S I M U L A T ION RES U L T S=================================================--~-========================

time I p p i 0in le-06 sec I h h n u

Iii tI 1 2

===========================z=================================================0.0 I 1 0 0 x2.0 I 0 lOx2.0 I 0 1 0 04.0 I 1 0 1 06.0 I 0 1 1 06.0 I 0 1 1 1

===--=--======================-__=============================z====__==_=======network : shift nodes : 1

==z========_==========-=== ~==~======--================== =================

59

simulatie "control"

write

======================================~

==============~=========================

======================================

========================================

set vsup= h*­set ground = 1*-

==========================:===========network : control

======================================

read

===========================================================:

time Inn i c 0in le-08 sec I s r n 0 u

lee n tI 1 a tI d

============================================================0.00 I a a 0 a a2.00 I a a 1 a a2.05 I a a 1 1 a2.07 a a 1 1 15.00 a a a 1 15.02 0 a 0 0 15.03 a a 0 a a7.00 a a 1 a a7.05 a a 1 1 a7.07 a a 1 1 1

10.00 0 0 0 1 110.02 a a a a 110.03 0 a a a a12.00 0 a 1 a a12.05 a a 1 1 a12.07 I a a 1 1 115.00 I a a a 1 115.02 I a a 0 a 115.03 I a 0 0 a 017.00 I a a 1 a a17.05 I a a 1 1 a17.07 I a a 1 1 120. 00 I 1 a a 1 120.02 I 1 a 0 0 120.03 I 1 a a a 022.00 I 1 a 1 a a22.07 I 1 a 1 a 125.00 I 1 a a a 125.03 I 1 a 0 0 027.00 I 1 a 1 a a27.07 I 1 a 1 a 130.00 I 1 a a a 13 O. 03 I 1 a a a 032.00 I 1 0 1 0 032.07 I 1 a 1 a 135.00 I 1 a 0 a 135.03 I 1 a a a 037.00 I 1 a 1 a a37.07 I 1 0 1 0 140.00 I 1 1 0 0 140.03 I 1 1 0 a a42.00 I 1 1 1 a a42.07 I 1 1 1 a 145.00 I 1 1 0 0 145. 03 I 1 1 0 a 047. 00 I 1 1 1 a 047.07 I 1 1 1 a 150.00 I 1 1 0 a 1

S L Sversion: 2.0

S r M U L A T ION RES U L T S

set in= (1*2 h*3)*­set nse1 = 1*20 h*30set nread = 1*40 h*10option sigunit IOnoption outacc lOOpoption level = 3option step = offoption simperiod = 50print nse1 nread in cont out

============================================================n n i c 0s r n 0 ue e n t1 a t

d

timein le-08 sec

0.00 I a 1 a a a-2.00 I 0 1 1 a a3.00 I a 1 1 1 a3.07 I 0 1 1 1 15.00 I a 1 a a 15. 03 I 0 1 a 0 a7.00 I a 1 1 a a8.00 I a 1 1 1 a8.07 I 0 1 1 1 1

10.00 I a 1 a a 110. 03 I a 1 a a a12.00 I a 1 1 a a13. 00 I 0 1 1 1 a13. 07 I a 1 1 1 115.00 I a 1 a a 115.03 I a 1 a a a17.00 I 0 1 1 0 a18. 00 I a 1 1 1 a18.07 I a 1 1 1 120.00 I 1 1 a 0 120.03 I 1 1 a a a22.00 I 1 1 1 0 022.07 I 1 1 1 a 123.00 I 1 1 1 1 125.00 I 1 1 a a 125. 03 I 1 1 a a a27.00 I 1 1 1 a 027.07 I 1 1 1 0 128.00 I 1 1 1 1 130.00 I 1 1 a a 130.03 I 1 1 a a a32.00 I 1 1 1 a 032.07 i 1 1 1 a 133.00 I 1 1 1 1 135.00 I 1 1 a a 135.03 I 1 1 a 0 a37.00 I 1 1 1 0 037.07 I 1 1 1 a 138.00 I 1 1 1 1 140.00 I 1 0 0 0 140.03 I 1 a a a a42.00 I 1 a 1 0 042.07 I 1 a 1 a 143.00 I 1 a 1 1 145.00 I 1 0 0 a 145.03 I 1 a a a a47.00 I 1 0 1 0 047.07 I 1 0 1 a 148.00 I 1 0 1 1 150.00 I 1 a a a 1

set vsup= h*­set ground = 1*-

set in= (1*2 h*3)*­set nse1 = 1*20 h*30set nread = h*40 1*10set cont = (1*3 h*2)*-option sigunit IOnoption outacc lOOpoption level = 3option step = offoption simperiod = 50print nsel nread in cont out

S L Sversion: 2.0

S I M U L A T ION RES U L T S

network : control================================-----~=

60

simulatie "memory"

set vsup = h*­set ground = 1*-

set phil = (1*1 h*8 1*11)*­set phi2 = (1*11 h*8 1*1)*­set nsel = h*20 1*1280 h*1300set nread = h*20 h*1280 1*1300set cont = (h*60 1*40)*-

optionoptionoptionoptionoptionprint

sigunitoutacclevelstepsimperiodphil phi2

= lOOnc In

3off2600

nsel nread cont in out

S L Sversion: 2.0

S I M U L A T ION RES U L T S=============================================================================timein 1e-07 sec

p p nne i 0h h s ron ui i e e n t1 2 1 a t

d=============================================================================

0.001. 009.00

11. 0019.0020.0020.2221. 0029.0031. 0039.0041. 0049.0051. 0059.0060.0061. 0069.0071. 0079.0081. 0089.0091. 0099.00

100.00100.01101. 00109.00111.00119.00121. 00129.00131.00139.00141. 00149.00151. 00159.00160.00161. 00169.00171. 00179.00181. 00189.00191.00199.00200.00200.01201.00209.00211.00219.00221. 00229.00

o 0 1 1 1 x x1 0 1 1 1 x xo 0 1 1 1 x xo 1 1 1 1 x xo 0 1 1 1 x xo 0 0 1 1 x xo 0 0 1 1 1 x10011 1 xo 0 0 1 1 1 xo 1 0 1 1 1 xo 0 0 1 1 1 x1 0 011 1 xo 0 0 1 1 1 x01011 1 x00011 1 xo 0 0 1 0 0 x1 0 0 1 0 0 x000 1 0 0 xo 1 0 1 0 0 xo 0 0 1 0 0 x1 0 0 1 0 0 x000 1 0 0 x01010 0 x00010 0 xo 0 011 0 xo 0 0 1 1 1 x1 0 0 1 1 1 x00011 1 x01011 1 xo 0 0 1 1 1 x1 0 0 1 1 1 xo 0 0 1 1 1 xo 1 0 1 1 1 xo 0 0 1 1 1 x1 0 0 1 1 1 xo 0 0 1 1 1 xo 1 0 1 1 1 xo 0 0 1 1 1 xo 0 0 1 0 0 x1 001 0 0 xo 0 0 1 0 0 xo 1 0 1 0 0 xo 0 010 0 x1 0 0 1 0 0 xo 001 0 0 xo 1 0 1 0 0 xo 0 010 0 xo 0 0 1 lOxo 001 1 1 x1 0 0 1 1 1 xo 0 0 1 1 1 xo 1 0 1 1 1 xo 0 0 1 1 1 x1 0 011 1 x000 1 1 1 x

61

231.00 0 1 0 1 1 1 X 519.00 0 0 0 1 1 1 X 801. 00 1 0 0 1 1 1 X239.00 0 0 0 1 1 1 X 521.00 1 0 0 1 1 1 X 809.00 0 0 0 1 1 1 X241.00 1 0 0 1 1 1 X 529.00 0 0 0 1 1 1 X 811. 00 0 1 0 1 1 1 X249.00 0 0 0 1 1 1 X 531. 00 0 1 0 1 1 1 X 819.00 0 0 0 1 1 1 X251.00 0 1 0 1 1 1 X 539.00 0 0 0 1 1 1 X 821. 00 1 0 0 1 1 1 X

259.00 0 0 0 1 1 1 X 541. 00 1 0 0 1 1 1 X 829.00 0 0 0 1 1 1 X260.00 0 0 0 1 0 0 X 549.00 0 0 0 1 1 1 X 831. 00 0 1 0 1 1 1 X

261. 00 1 0 0 1 0 0 X 551. 00 0 1 0 1 1 1 X 839.00 0 0 0 1 1 1 X269.00 0 0 0 1 0 0 X 559.00 0 0 0 1 1 1 X 841. 00 1 0 0 1 1 1 X

271.00 0 1 0 1 0 0 X 560.00 0 0 0 1 0 0 X 849.00 0 0 0 1 1 1 X279.00 0 0 0 1 0 0 X 561. 00 1 0 0 1 0 0 X 851. 00 0 1 0 1 1 1 X281. 00 1 0 0 1 0 0 X 569.00 0 0 0 1 0 0 X 859.00 0 0 0 1 1 1 X289.00 0 0 0 1 0 0 X 571. 00 0 1 0 1 0 0 X 860.00 0 0 0 1 0 0 X291. 00 0 1 0 1 0 0 X 579.00 0 0 0 1 0 0 X 861. 00 1 0 0 1 0 0 X299.00 0 0 0 1 0 0 X 581. 00 1 0 0 1 0 0 X 869.00 0 0 0 1 0 0 X300.00 0 0 0 1 1 0 X 589.00 0 0 0 1 0 0 X 871.00 0 1 0 1 0 0 X300.01 0 0 0 1 1 1 X 591. 00 0 1 0 1 0 0 X 879.00 0 0 0 1 0 0 X301. 00 1 0 0 1 1 1 X 599.00 0 0 0 1 0 0 X 881. 00 1 0 0 1 0 0 X309.00 0 0 0 1 1 1 X 600.00 0 0 0 1 1 0 X 889.00 0 0 0 1 0 0 X311. 00 0 1 0 1 1 1 X 600.01 0 0 0 1 1 1 X 891. 00 0 1 0 1 0 0 X319.00 0 0 0 1 1 1 X 601.00 1 0 0 1 1 1 X 899.00 0 0 0 1 0 0 X321. 00 1 0 0 1 1 1 X 609.00 0 0 0 1 1 1 X 900.00 0 0 0 1 1 0 X329.00 0 0 0 1 1 1 X 611.00 0 1 0 1 1 1 X 900.01 0 0 0 1 1 1 X331.00 0 1 0 1 1 1 X 619.00 0 0 0 1 1 1 X 901.00 1 0 0 1 1 1 X339.00 0 0 0 1 1 1 X 621. 00 1 0 0 1 1 1 X 909.00 0 0 0 1 1 1 X341. 00 1 0 0 1 1 1 X 629.00 0 0 0 1 1 1 X 911.00 0 1 0 1 1 1 X349.00 0 0 0 1 1 1 X 631. 00 0 1 0 1 1 1 X 919.00 0 0 0 1 1 1 X351. 00 0 1 0 1 1 1 X 639.00 0 0 0 1 1 1 X 921. 00 1 0 0 1 1 1 X359.00 0 0 0 1 1 1 X 641. 00 1 0 0 1 1 1 X 929.00 0 0 0 1 1 1 X360.00 0 0 0 1 0 0 X 649.00 0 0 0 1 1 1 X 931. 00 0 1 0 1 1 1 X361. 00 1 0 0 1 0 0 X 651. 00 0 1 0 1 1 1 X 939.00 0 0 0 1 1 1 X369.00 0 0 0 1 0 0 X 659.00 0 0 0 1 1 1 X 941.00 1 0 0 1 1 1 X371. 00 0 1 0 1 0 0 X 660.00 0 0 0 1 0 0 X 949.00 0 0 0 1 1 1 X379.00 0 0 0 1 0 0 X 661. 00 1 0 0 1 0 0 X 951.00 0 1 0 1 1 1 X381.00 1 0 0 1 0 0 X 669.00 0 0 0 1 0 0 X 959.00 0 0 0 1 1 1 X389.00 0 0 0 1 0 0 X 671. 00 0 1 0 1 0 0 X 960.00 0 0 0 1 0 0 X391.00 0 1 0 1 0 0 X 679.00 0 0 0 1 0 0 X 961. 00 1 0 0 1 0 0 X399.00 0 0 0 1 0 0 X 681. 00 1 0 0 1 0 0 X 969.00 0 0 0 1 0 0 X400.00 0 0 0 1 1 0 X 689.00 0 0 0 1 0 0 X 971. 00 0 1 0 1 0 0 X400.01 0 0 0 1 1 1 X 691. 00 0 1 0 1 0 0 X 979.00 0 0 0 1 0 0 X401. 00 1 0 0 1 1 1 X 699.00 0 0 0 1 0 0 X 981.00 1 0 0 1 0 0 X409.00 0 0 0 1 1 1 X 700.00 0 0 0 1 1 0 X 989.00 0 0 0 1 0 0 X411. 00 0 1 0 1 1 1 X 700.01 0 0 0 1 1 1 X 991.00 0 1 0 1 0 0 X419.00 0 0 0 1 1 1 X 701. 00 1 0 0 1 1 1 X 999.00 0 0 0 1 0 0 X421. 00 1 0 0 1 1 1 X 709.00 0 0 0 1 1 1 X 1000.00 0 0 0 1 1 0 X429.00 0 0 0 1 1 1 X 711. 00 0 1 0 1 1 1 X 1000.01 0 0 0 1 1 1 X431.00 0 1 0 1 1 1 X 719.00 0 0 0 1 1 1 X 1001.00 1 0 0 1 1 1 X439.00 0 0 0 1 1 1 X 721. 00 1 0 0 1 1 1 X 1009.00 0 0 0 1 1 1 X441.00 1 0 0 1 1 1 X 729.00 0 0 0 1 1 1 X 1011.00 0 1 0 1 1 1 X449.00 0 0 0 1 1 1 X 731. 00 0 1 0 1 1 1 X 1019.00 0 0 0 1 1 1 X451.00 0 1 0 1 1 1 X 739.00 0 0 0 1 1 1 X 1021. 00 1 0 0 1 1 1 X459.00 0 0 0 1 1 1 X 741.00 1 0 0 1 1 1 X 1029.00 0 0 0 1 1 1 X460.00 0 0 0 1 0 0 X 749.00 0 0 0 1 1 1 X 1031. 00 0 1 0 1 1 1 X461. 00 1 0 0 1 0 0 X 751. 00 0 1 0 1 1 1 X 1039.00 0 0 0 1 1 1 X469.00 0 0 0 1 0 0 X 759.00 0 0 0 1 1 1 X 1041.00 1 0 0 1 1 1 X471. 00 0 1 0 1 0 0 X 760.00 0 0 0 1 0 0 X 1049.00 0 0 0 1 1 1 X479.00 0 0 0 1 0 0 X 761. 00 1 0 0 1 0 0 X 1051. 00 0 1 0 1 1 1 X481. 00 1 0 0 1 0 0 X 769.00 0 0 0 1 0 0 X 1059.00 0 0 0 1 1 1 X489.00 0 0 0 1 0 0 X 771. 00 0 1 0 1 0 0 X 1060.00 0 0 0 1 0 0 X491. 00 0 1 0 1 0 0 X 779.00 0 0 0 1 0 0 X 1061.00 1 0 0 1 0 0 X499.00 0 0 0 1 0 0 X 781. 00 1 0 0 1 0 0 X 1069.00 0 0 0 1 0 0 X500.00 0 0 0 1 1 0 X 789.00 0 0 0 1 0 0 X 1071.00 0 1 0 1 0 0 X500.01 0 0 0 1 1 1 X 791.00 0 1 0 1 0 0 X 1079.00 0 0 0 1 0 0 X501. 00 1 0 0 1 1 1 X 799.00 0 0 0 1 0 0 X 1081. 00 1 0 0 1 0 0 X509.00 0 0 0 1 1 1 X 800.00 0 0 0 1 1 0 X 1089.00 0 0 0 1 0 0 X511. 00 0 1 0 1 1 1 X 800.01 0 0 0 1 1 1 X 1091. 00 0 1 0 1 0 0 X

62

1099.00 0 0 0 1 0 0 x 1369.00 0 0 1 0 0 0 0 1621. 00 1 0 1 0 1 1 11100.00 0 0 0 1 1 0 X 1371.00 0 1 1 0 0 0 0 1629.00 0 0 1 0 1 1 11100.01 0 0 0 1 1 1 X 1371.27 0 1 1 0 0 0 1 1631.00 0 1 1 0 1 1 11101. 00 1 0 0 1 1 1 X 1371. 28 0 1 1 0 0 1 1 1631.29 0 1 1 0 1 1 01109.00 0 0 0 1 1 1 X 1379.00 0 0 1 0 0 1 1 1631.30 0 1 1 0 1 0 01111. 00 0 1 0 1 1 1 X 1381. 00 1 0 1 0 0 1 1 1639.00 0 0 1 0 1 0 01119.00 0 0 0 1 1 1 X 1389.00 0 0 1 0 0 1 1 1641. 00 1 0 1 0 1 0 01121. 00 1 0 0 1 1 1 X 1391. 00 0 1 1 0 0 1 1 1649.00 0 0 1 0 1 0 01129.00 0 0 0 1 1 1 X 1399.00 0 0 1 0 0 1 1 1651.00 0 1 1 0 1 0 01131.00 0 1 0 1 1 1 X 1400.00 0 0 1 0 1 1 1 1659.00 0 0 1 0 1 0 01139.00 0 0 0 1 1 1 X 1401. 00 1 0 1 0 1 1 1 1660.00 0 0 1 0 0 0 01141.00 1 0 0 1 1 1 X 1409.00 0 0 1 0 1 1 1 1661. 00 1 0 1 0 0 0 01149.00 0 0 0 1 1 1 X 1411.00 0 1 1 0 1 1 1 1669.00 0 0 1 0 0 0 01151.00 0 1 0 1 1 1 X 1419.00 0 0 1 0 1 1 1 1671. 00 0 1 1 0 0 0 01159.00 0 0 0 1 1 1 X 1421.00 1 0 1 0 1 1 1 1671. 27 0 1 1 0 0 0 11160.00 0 0 0 1 0 0 X 1429.00 0 0 1 0 1 1 1 1671. 28 0 1 1 0 0 1 11161.00 1 0 0 1 0 0 X 1431.00 0 1 1 0 1 1 1 1679.00 0 0 1 0 0 1 11169 :00 0 0 0 1 0 0 X 1431.29 0 1 1 0 1 1 0 1681.00 1 0 1 0 0 1 11171.00 0 1 0 1 0 0 X 1431.30 0 1 1 0 1 0 0 1689.00 0 0 1 0 0 1 11179.00 0 0 0 1 0 0 X 1439.00 0 0 1 0 1 0 0 1691. 00 0 1 1 0 0 1 11181.00 1 0 0 1 0 0 X 1441. 00 1 0 1 0 1 0 0 1699.00 0 0 1 0 0 1 11189.00 0 0 0 1 0 0 X 1449.00 0 0 1 0 1 0 0 1700.00 0 0 1 0 1 1 11191. 00 0 1 0 1 0 0 X 1451. 00 0 1 1 0 1 0 0 1701.00 1 0 1 0 1 1 11199.00 0 0 0 1 0 0 X 1459.00 0 0 1 0 1 0 0 1709.00 0 0 1 0 1 1 11200.00 0 0 0 1 1 0 X 1460.00 0 0 1 0 0 0 0 1711.00 0 1 1 0 1 1 11200.01 0 0 0 1 1 1 X 1461. 00 1 0 1 0 0 0 0 1719.00 0 0 1 0 1 1 11201.00 1 0 0 1 1 1 X 1469.00 0 0 1 0 0 0 0 1721.00 1 0 1 0 1 1 11209.00 0 0 0 1 1 1 X 1471. 00 0 1 1 0 0 0 0 1729.00 0 0 1 0 1 1 11211. 00 0 1 0 1 1 1 X 1471. 27 0 1 1 0 0 0 1 1731.00 0 1 1 0 1 1 11219.00 0 0 0 1 1 1 X 1471.28 0 1 1 0 0 1 1 1731. 29 0 1 1 0 1 1 01221.00 1 0 0 1 1 1 X 1479.00 0 0 1 0 0 1 1 1731.30 0 1 1 0 1 0 01229.00 0 0 0 1 1 1 X 1481. 00 1 0 1 0 0 1 1 1739.00 0 0 1 0 1 0 01231.00 0 1 0 1 1 1 X 1489.00 0 0 1 0 0 1 1 1741. 00 1 0 1 0 1 0 01239.00 0 0 0 1 1 1 X 1491.00 0 1 1 0 0 1 1 1749.00 0 0 1 0 1 0 01241.00 1 0 0 1 1 1 X 1499.00 0 0 1 0 0 1 1 1751.00 0 1 1 0 1 0 01249.00 0 0 0 1 1 1 X 1500.00 0 0 1 0 1 1 1 1759.00 0 0 1 0 1 0 01251.00 0 1 0 1 1 1 X 1501.00 1 0 1 0 1 1 1 1760.00 0 0 1 0 0 0 01259.00 0 0 0 1 1 1 X 1509.00 0 0 1 0 1 1 1 1761.00 1 0 1 0 0 0 01260.00 0 0 0 1 0 0 X 1511.00 0 1 1 0 1 1 1 1769.00 0 0 1 0 0 0 01261.00 1 0 0 1 0 0 X 1519.00 0 0 1 0 1 1 1 1771. 00 0 1 1 0 0 0 01269.00 0 0 0 1 0 0 X 1521. 00 1 0 1 0 1 1 1 1771. 27 0 1 1 0 0 0 11271.00 0 1 0 1 0 0 X 1529.00 0 0 1 0 1 1 1 1771. 28 0 1 1 0 0 1 11279.00 0 0 0 1 0 0 X 1531. 00 0 1 1 0 1 1 1 1779.00 0 0 1 0 0 1 11281. 00 1 0 0 1 0 0 X 1531.29 0 1 1 0 1 1 0 1781.00 1 0 1 0 0 1 11289.00 0 0 0 1 0 0 X 1531.30 0 1 1 0 1 0 0 1789.00 0 0 1 0 0 1 11291.00 0 1 0 1 0 0 X 1539.00 0 0 1 0 1 0 0 1791. 00 0 1 1 0 0 1 11291. 27 0 1 0 1 0 0 1 1541. 00 1 0 1 0 1 0 0 1799.00 0 0 1 0 0 1 11299.00 0 0 0 1 0 0 1 1549.00 0 0 1 0 1 0 0 1800.00 0 0 1 0 1 1 11300.00 0 0 1 0 1 0 1 1551.00 0 1 1 0 1 0 0 1801.00 1 0 1 0 1 1 11300.01 0 0 1 0 1 1 1 1559.00 0 0 1 0 1 0 0 1809.00 0 0 1 0 1 1 11301. 00 1 0 1 0 1 1 1 1560.00 0 0 1 0 0 0 0 1811.00 0 1 1 0 1 1 11309.00 0 0 1 0 1 1 1 1561. 00 1 0 1 0 0 0 0 1819.00 0 0 1 0 1 1 11311.00 0 1 1 0 1 1 1 1569.00 0 0 1 0 0 0 0 1821. 00 1 0 1 0 1 1 11319.00 0 0 1 0 1 1 1 1571. 00 0 1 1 0 0 0 0 1829.00 0 0 1 0 1 1 11321.00 1 0 1 0 1 1 1 1571.27 0 1 1 0 0 0 1 1831.00 0 1 1 0 1 1 11329.00 0 0 1 0 1 1 1 1571.28 0 1 1 0 0 1 1 1831.29 0 1 1 0 1 1 01331.00 0 1 1 0 1 1 1 1579.00 0 0 1 0 0 1 1 1831. 30 0 1 1 0 1 0 01331.29 0 1 1 0 1 1 0 1581. 00 1 0 1 0 0 1 1 1839.00 0 0 1 0 1 0 01331. 30 0 1 1 0 1 0 0 1589.00 0 0 1 0 0 1 1 1841. 00 1 0 1 0 1 0 01339.00 0 0 1 0 1 0 0 1591. 00 0 1 1 0 0 1 1 1849.00 0 0 1 0 1 0 01341.00 1 0 1 0 1 0 0 1599.00 0 0 1 0 0 1 1 1851.00 0 1 1 0 1 0 01349.00 0 0 1 0 1 0 0 1600.00 0 0 1 0 1 1 1 1859.00 0 0 1 0 1 0 01351.00 0 1 1 0 1 0 0 1601.00 1 0 1 0 1 1 1 1860.00 0 0 1 0 0 0 01359.00 0 0 1 0 1 0 0 1609.00 0 0 1 0 1 1 1 1861.00 1 0 1 0 0 0 01360.00 0 0 1 0 0 0 0 1611.00 0 1 1 0 1 1 1 1869.00 0 0 1 0 0 0 01361. 00 1 0 1 0 0 0 0 1619.00 0 0 1 0 1 1 1 1871.00 0 1 1 0 0 0 0

63

1871.27 0 1 1 0 0 0 1 2131. 00 0 1 1 0 1 1 1 2379.00 0 0 1 0 0 1 11871.28 0 1 1 0 0 1 1 2131. 29 0 1 1 0 1 1 0 2381. 00 1 0 1 0 0 1 11879.00 0 0 1 0 0 1 1 2131.30 0 1 1 0 1 0 0 2389.00 0 0 1 0 0 1 11881. 00 1 0 1 0 0 1 1 2139.00 0 0 1 0 1 0 0 2391.00 0 1 1 0 0 1 11889.00 0 0 1 0 0 1 1 2141. 00 1 0 1 0 1 0 0 2399.00 0 0 1 0 0 1 11891.00 0 1 1 0 0 1 1 2149.00 0 0 1 0 1 0 0 2400.00 0 0 1 0 1 1 11899.00 0 0 1 0 0 1 1 2151. 00 0 1 1 0 1 0 0 2401. 00 1 0 1 0 1 1 11900.00 0 0 1 0 1 1 1 2159.00 0 0 1 0 1 0 0 2409.00 0 0 1 0 1 1 11901. 00 1 0 1 0 1 1 1 2160.00 0 0 1 0 0 0 0 2411. 00 0 1 1 0 1 1 11909.00 0 0 1 0 1 1 1 2161. 00 1 0 1 0 0 0 0 2419.00 0 0 1 0 1 1 11911.00 0 1 1 0 1 1 1 2169.00 0 0 1 0 0 0 0 2421.00 1 0 1 0 1 1 11919.00 0 0 1 0 1 1 1 2171.00 0 1 1 0 0 0 0 2429.00 0 0 1 0 1 1 11921. 00 1 0 1 0 1 1 1 2171.27 0 1 1 0 0 0 1 2431. 00 0 1 1 0 1 1 11929.00 0 0 1 0 1 1 1 2171.28 0 1 1 0 0 1 1 2431.29 0 1 1 0 1 1 01931.00 0 1 1 0 1 1 1 2179.00 0 0 1 0 0 1 1 2431. 30 0 1 1 0 1 0 01931.29 0 1 1 0 1 1 0 2181. 00 1 0 1 0 0 1 1 2439.00 0 0 1 0 1 0 01931. 30 0 1 1 0 1 0 0 2189.00 0 0 1 0 0 1 1 2441.00 1 0 1 0 1 0 01939 •.00 0 0 1 0 1 0 0 2191. 00 0 1 1 0 0 1 1 2449.00 0 0 1 0 1 0 01941. 00 1 0 1 0 1 0 0 2199.00 0 0 1 0 0 1 1 2451.00 0 1 1 0 1 0 01949.00 0 0 1 0 1 0 0 2200.00 0 0 1 0 1 1 1 2459.00 0 0 1 0 1 0 01951. 00 0 1 1 0 1 0 0 2201.00 1 0 1 0 1 1 1 2460.00 0 0 1 0 0 0 01959.00 0 0 1 0 1 0 0 2209.00 0 0 1 0 1 1 1 2461. 00 1 0 1 0 0 0 01960.00 0 0 1 0 0 0 0 2211. 00 0 1 1 0 1 1 1 2469.00 0 0 1 0 0 0 01961. 00 1 0 1 0 0 0 0 2219.00 0 0 1 0 1 1 1 2471. 00 0 1 1 0 0 0 01969.00 0 0 1 0 0 0 0 2221.00 1 0 1 0 1 1 1 2471. 27 0 1 1 0 0 0 11971. 00 0 1 1 0 0 0 0 2229.00 0 0 1 0 1 1 1 2471.28 0 1 1 0 0 1 11971.27 0 1 1 0 0 0 1 2231.00 0 1 1 0 1 1 1 2479.00 0 0 1 0 0 1 11971.28 0 1 1 0 0 1 1 2231. 29 0 1 1 0 1 1 0 2481.00 1 0 1 0 0 1 11979.00 0 0 1 0 0 1 1 2231.30 0 1 1 0 1 0 0 2489.00 0 0 1 0 0 1 11981. 00 1 0 1 0 0 1 1 2239.00 0 0 1 0 1 0 0 2491. 00 0 1 1 0 0 1 11989.00 0 0 1 0 0 1 1 2241. 00 1 0 1 0 1 0 0 2499.00 0 0 1 0 0 1 11991. 00 0 1 1 0 0 1 1 2249.00 0 0 1 0 1 0 0 2500.00 0 0 1 0 1 1 11999.00 0 0 1 0 0 1 1 2251.00 0 1 1 0 1 0 0 2501. 00 1 0 1 0 1 1 12000.00 0 0 1 0 1 1 1 2259.00 0 0 1 0 1 0 0 2509.00 0 0 1 0 1 1 12001. 00 1 0 1 0 1 1 1 2260.00 0 0 1 0 0 0 0 2511. 00 0 1 1 0 1 1 12009.00 0 0 1 0 1 1 1 2261.00 1 0 1 0 0 0 0 2519.00 0 0 1 0 1 1 12011. 00 0 1 1 0 1 1 1 2269.00 0 0 1 0 0 0 0 2521.00 1 0 1 0 1 1 12019.00 0 0 1 0 1 1 1 2271.00 0 1 1 0 0 0 0 2529.00 0 0 1 0 1 1 12021.00 1 0 1 0 1 1 1 2271.27 0 1 1 0 0 0 1 2531. 00 0 1 1 0 1 1 12029.00 0 0 1 0 1 1 1 2271.28 0 1 1 0 0 1 1 2531. 29 0 1 1 0 1 1 02031. 00 0 1 1 0 1 1 1 2279.00 0 0 1 0 0 1 1 2531.30 0 1 1 0 1 0 02031.29 0 1 1 0 1 1 0 2281. 00 1 0 1 0 0 1 1 2539.00 0 0 1 0 1 0 02031.30 0 1 1 0 1 0 0 2289.00 0 0 1 0 0 1 1 2541. 00 1 0 1 0 1 0 02039.00 0 0 1 0 1 0 0 2291. 00 0 1 1 0 0 1 1 2549.00 0 0 1 0 1 0 02041. 00 1 0 1 0 1 0 0 2299.00 0 0 1 0 0 1 1 2551. 00 0 1 1 0 1 0 02049.00 0 0 1 0 1 0 0 2300.00 0 0 1 0 1 1 1 2559.00 0 0 1 0 1 0 02051.00 0 1 1 0 1 0 0 2301.00 1 0 1 0 1 1 1 2560.00 0 0 1 0 0 0 02059.00 0 0 1 0 1 0 0 2309.00 0 0 1 0 1 1 1 2561.00 1 0 1 0 0 0 02060.00 0 0 1 0 0 0 0 2311. 00 0 1 1 0 1 1 1 2569.00 0 0 1 0 0 0 02061. 00 1 0 1 0 0 0 0 2319.00 0 0 1 0 1 1 1 2571. 00 0 1 1 0 0 0 02069.00 0 0 1 0 0 0 0 2321.00 1 0 1 0 1 1 1 2571.27 0 1 1 0 0 0 12071. 00 0 1 1 0 0 0 0 2329.00 0 0 1 0 1 1 1 2571. 28 0 1 1 0 0 1 12071.27 0 1 1 0 0 0 1 2331. 00 0 1 1 0 1 1 1 2579.00 0 0 1 0 0 1 12071.28 0 1 1 0 0 1 1 2331.29 0 1 1 0 1 1 0 2581. 00 1 0 1 0 0 1 12079.00 0 0 1 0 0 1 1 2331. 30 0 1 1 0 1 0 0 2589.00 0 0 1 0 0 1 12081. 00 1 0 1 0 0 1 1 2339.00 0 0 1 0 1 0 0 2591.00 0 1 1 0 0 1 12089.00 0 0 1 0 0 1 1 2341. 00 1 0 1 0 1 0 0 2599.00 0 0 1 0 0 1 12091.00 0 1 1 0 0 1 1 2349.00 0 0 1 0 1 0 0 2600.00 0 0 1 0 1 1 12099.00 0 0 1 0 0 1 1 2351.00 0 1 1 0 1 0 0 ===================================2100.00 0 0 1 0 1 1 1 2359.00 0 0 1 0 1 0 0 network : memory2101. 00 1 0 1 0 1 1 1 2360.00 0 0 1 0 0 0 0 ===================================2109.00 0 0 1 0 1 1 1 2361.00 1 0 1 0 0 0 02111. 00 0 1 1 0 1 1 1 2369.00 0 0 1 0 0 0 02119.00 0 0 1 0 1 1 1 2371.00 0 1 1 0 0 0 02121. 00 1 0 1 0 1 1 1 2371. 27 0 1 1 0 0 0 12129.00 0 0 1 0 1 1 1 2371.28 0 1 1 0 0 1 1

64

simulatie "select"

set vsup = h*­set ground = 1*-set a=(1*50 1*50 h*50 h*50)*4set b=(1*50 h*50 1*50 h*50)*4set ncs= 1*400 h*400option sigunit lnoption outacc lOpoption level 3option step onoption simperiod 800print ncs a b nsel0 nsell nse12 nse13====================:========================================================

S L Sversion: 2.0

S I H U L A T ION RES U L T S=============================================================================time I n a b n n n nin le-09 sec I c s s s s

I s e e e eI 1 1 1 1I 0 1 2 3

=============================================================================0.00 I 0 0 0 x x x x0.00 I 0 0 0 1 1 1 x0.00 I 0 0 0 1 1 1 0

50.00 I 0 0 1 1 1 1 068.23 I 0 0 1 1 1 0 074.41 I 0 0 1 1 1 0 1

100.00 I 0 1 0 1 1 0 1123.51 I 0 1 0 1 1 1 1131. 71 I 0 1 0 1 0 1 1150.00 I 0 1 1 1 0 1 1168.23 0 1 1 0 0 1 1174.41 0 1 1 0 1 1 1200.00 0 0 0 0 1 1 1223.42 0 0 0 1 1 1 1231. 71 0 0 0 1 1 1 0250.00 0 0 1 1 1 1 0268.23 0 0 1 1 1 0 0274.41 0 0 1 1 1 0 1300.00 0 1 0 1 1 0 1323.51 0 1 0 1 1 1 1331. 71 0 1 0 1 0 1 1350.00 0 1 1 1 0 1 1368.23 0 1 1 0 0 1 1374.41 0 1 1 0 1 1 1400.00 1 0 0 0 1 1 1408.98 1 0 0 1 1 1 1450.00 1 0 1 1 1 1 1500.00 1 1 0 1 1 1 1550.00 1 1 1 1 1 1 1600.00 1 0 0 1 1 1 1650.00 1 0 1 1 1 1 1700.00 1 1 0 1 1 1 1750.00 1 1 1 1 1 1 1

network : select

65

nodes : 1

simulatie "direct"

set vsup = h*-set ground = 1*­set ncs = h*40 1*40set nread = 1*20 h*20 1*20 h*20

option sigunit 1noption outacc lOpoption level 3option step onoption simperiod 80print ncs nread cont====================~==================~====================================

S L Sversion: 2.0

S I M U L A T ION RES U L T S~============================_======s========================================

time n n cin le-09 sec c r 0

s e na td

=============================================================================0.00 1 0 x0.00 1 0 1

20.00 1 1 140.00 0 0 146.53 0 0 060.00 0 1 064.11 0 1 1

====:=============================z==========_=====================z=========network : direct nodes :

==============================================z=========z==========z=========

66

simulatie "tripad"

input-mode

set vdd h*­set gnd 1*­set con h*200set io (h*50option sigunitoption outaccoption leveloption stepoption simperiodprint con io pad

1*2001*50)*4

InlOp3on400

=========:=========================================================~======;==

S L Sversion: 2.0

S I M U L A T ION RES U L T S=============================================================================

time lei pin 1e-09 sec I 0 0 a

I n d=============================================================================

-0.00 1 1 x0.00 1 1 1

50.00 1 0 1100.00 1 1 1150.00 1 0 1200.00 0 1 1250.00 0 0 1292.37 0 0 0300.00 0 1 0323.35 0 1 1350.00 0 0 1392.37 0 0 0

-------------~================================

network : tripad

set vdd h*­set gnd = 1*-set con = h*200 1*200set pad = (h*50 1*50)*4option sigunit = Inoption outacc lOpoption level = 3option step onoption simperiod 400print con io pad

output-mode nodes : 1=================================

=============================================================================S L S

version: 2.0S I M U L A T ION RES U L T S

=============================================================================time lei pin 1e-09 sec I 0 0 a

I n d=============================================================================

0.00 1 x 10.00 1 1 1

50.00 1 1 080.97 1 x 081. 37 1 0 0

100.00 1 0 1129.92 1 1 1150.00 1 1 0180.97 1 x 0181.37 1 0 0200.00 0 0 1219.10 0 x 1250.00 0 x 0300.00 0 x 1350.00 0 x 0

=============================================================================network : tripad nodes : 1

=============================================================================

67

simulatie "driver"

set vsup = h*­set ground = 1*­set in = h*50 1*50option sigunitoption outaccoption leveloption step

option simperiodprint in out

h*50InlOOp3on

150

=============================================================================S L S

version: 2.0S I M U L A T ION RES U L T S

=================:===========================================================time I i ain 1e-09 sec I n u

I t=============================================================================

0.0 I 1 x0.0 I 1 1

50.0 I 0 163.8 I 0 0

100.0 I 1 0110.7 I 1 1

=============================================================================network : driver nodes :

=============================================================================

68