eindhoven university of technology master ontwerp van een manchester encoder decoder ... · encoder...

267
Eindhoven University of Technology MASTER Ontwerp van een manchester encoder decoder ten behoeve van een TechLAN-controller Muris, M.N.M. Award date: 1988 Link to publication 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

Upload: others

Post on 01-Feb-2021

10 views

Category:

Documents


0 download

TRANSCRIPT

  • Eindhoven University of Technology

    MASTER

    Ontwerp van een manchester encoder decoder ten behoeve van een TechLAN-controller

    Muris, M.N.M.

    Award date:1988

    Link to publication

    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

    https://research.tue.nl/nl/studentthesis/ontwerp-van-een-manchester-encoder-decoder-ten-behoeve-van-een-techlancontroller(f2859b98-0438-4a38-8185-aa7de0820099).html

  • TITELBLAD

    ontwerp van een manchesterencoder decoder ten behoevevan een TechLAN-controller.

    Door: M.N.M. Muris

    blz. 1

    Verslag van afstudeerproject uitgevoerd van mei 1987 tot maart1988 bij Positronika Networking B.V. in Eindhoven, onderverantwoording van Prof. Ir. M.P.J. stevens en onderbedrijfsbegeleiding van Ir. W.A.G. Huijbregts en E. LopesCardozo.

  • SAMENVATTING

    SAMENVATTING

    blz. 2

    Dit is het verslag van het afstudeerproject verricht doorM.N.M. Muris bij Positronika Networking B.V. in Eindhoven. Ditafstudeerproject valt onder de verantwoording van Prof. Ir.M.P.J. Stevens van de vakgroep digitale systemen van defaculteit Electrotechniek aan de Technische UniversiteitEindhoven.

    Bij aanvang van het afstudeerproject is het doel ervan alsvolgt omschreven:De implementatie van een TechLAN-controller voor de IBM PCbus.Daarbij dient onderzocht te worden of het mogelijk is naast de'domme' TechLAN-controller zoveel intelligentie teimplementeren dat het TechLAN Token Passing protocol directop het bord geimplementeerd kan worden. Overwogen dient teworden, dat dit protocol vaak in combinatie met een redundantnetwerk wordt gebruikt. De implementatie van zowel het TechLANgedeelte als de intelligentie is vrij, mits het resultaat kancommuniceren met de bestaande TechLAN hardware/software.

    Halverwege het afstudeerproject is besloten om van het in hetbegin gestelde einddoel af te wijken door na de specificatievan de TechLAN-controller voor de IBM PC bus verder te gaanmet een (V)LSI ontwerp van een onderdeel van de TechLAN-controller, namelijk een Manchester encoder decoder.Het ontwerp van deze Manchester encoder decoder dientgerealiseerd te worden in een gate array.

    In de inleiding van dit verslag wordt een beschrijving gegevenvan het industrieele local area network TechLAN.In hoofdstuk 1 wordt een beschrijving gegeven van de bestaandeTechLAN-controllers voor andere bus-definities dan de IBM PCbus.In hoofdstuk 2 wordt de specificatie gegeven van de Manchesterencoder decoder.In hoofdstuk 3 zal de architectuur van de Manchester encoderdecoder gegeven worden, die gebaseerd is op de specificatieszoals die gegeven zijn in hoofdstuk 2.In hoofdstuk 4 wordt een verdere decompositie van het ontwerpgegeven en een implementatie hiervan in de bibliotheek van hetgebruikte gate array.In hoofdstuk 5 wordt de integratie gegeven van allecomponenten die beschreven zijn in hoofdstuk 4. Tevens wordthier de simulatie van het gehele circuit besproken.In hoofdstuk 6 wordt de placement en routing behandeld, waarnain hoofdstuk 7 de conclusies en aanbevelingen volgen.

    De bijlagen bevatten alle files die betrekking hebben op hetontwerp, de simulatie van dit ontwerp en de testvectoren.

  • INHOUDSOPGAVE blz. 3

    INHOUDSOPGAVE. blz.

    TITELBLAD 1

    SAMENVATTING 2

    INHOUDSOPGAVE 3

    INLEIDING 5

    1 DE TECHLAN-CONTROLLER. 91.1 Inleiding. 91.2 TechLAN transmissietechniek. 91.3 De registers van de TechLAN-control1er. 12

    1.3.1 Control en status register. 131.3.2 Interne register van de TechLAN-controller 14

    1.4 Transfer protocol. 151.5 Protocolbeschrijving in CCS. 171.6 Eisen voor TechLAN IBM-PC controller 21

    2 SPECIFICATIE VAN DE MANCHESTER ENCODER DECODER. 222.1 De gebruikerseisen. 22

    2.1.1 Inleiding. 222.1.2 De functionele eisen. 232.1.3 De prestatie eisen. 27

    2.2 De test eisen. 282.3 De layout eisen. 29

    3 ARCHITECTUUR VAN DE MANCHESTER ENCODER DECODER. 313.1 Inleiding. 313.2 De architectuur van de encoder MENCD6. 31

    3.2.1 Het functionele ontwerp. 313.2.2 Het test ontwerp. 35

    3.3 De architectuur van de decoder MDECD4. 363.3.1 Het functionele ontwerp. 363.3.2 Het test ontwerp. 38

    3.4 De architectuur van het clock recovery circuit. 403.4.1 Het functionele ontwerp. 403.4.2 Het test ontwerp. 42

    4 IMPLEMENTATIE VAN DE MANCHESTER ENCODER DECODER. 434.1 Punctioneel ontwerp van de modules. 43

    4.1.1 Het clock recovery circuit. 434.1.2 Het datapad van de decoder. 444.1.3 De control unit van de decoder. 484.1.4 Het datapad van de encoder. 514.1.5 De control unit van de encoder. 544.1.6 De zesdeler DS1. 564.1.7 De input- en outputbuffers. 574.1.8 HHDL-modellen en simulatie. 59

    4.2 Testontwerp van de modules. 60

  • INHOUDSOPGAVE

    5 INTEGRATIE VAN DE MANCHESTER ENCODER DECODER.

    6 PLACEMENT EN ROUTING.

    7 CONCLUSIES EN AANBEVELINGEN.

    BIJLAGE A: DE SCHEMA'S.

    BIJLAGE B: DE HHDL-MODELLEN EN FUNCTIETABELLEN.

    BIJLAGE C: DE EXITATlEFILE "MANGA.SCL".

    BIJLAGE D: DE SIMULATIERESULTATEN VAN HELIX.

    BIJLAGE E: DE TESTVECTOREN VAN HlLO EN AMSAL.

    BIJLAGE F: TIMINGVERIFICATIE MET SIMON.

    BIJLAGE G: DE PINLIST.

    BIJLAGE H: INTERFACES NAAR HlLO EN SIMON.

    BIJLAGE I: DATASHEETS HD-15531B.

    BIJLAGE J: CHIPS BAKKEN.

    blz. 4

    62

    65

    67

    A.1

    B.1

    C.1

    D.1

    E.1

    F.1

    G.1

    H.1

    I.1

    J.1

  • INLEIDING

    INLEIDING

    blz. 5

    Omdat computers heden ten dage een essentieel element vormenin bijna iedere fase van industrieele activiteit is deuitwisseling van data tussen al deze computers noodzaakgeworden.Daarom is een Local Area Network (LAN) welhaast een vereistein een industrieêle omgeving waar sprake is van automatiseringvan het totale productieproces.Een andere oplossing zoals een groot mainframe waarop eenaantal terminals zijn aangesloten heeft de volgende nadelen:- bij uitval van het mainframe ligt de complete fabriek stil;- er is bijna geen mogelijkheid voor real-time applicaties;

    naarmate het aantal gebruikers stijgt zal de responstijdvan het systeem groter worden.

    Een goed ontworpen netwerk heeft deze nadelen niet. Met eennetwerk is het mogelijk om:- lokaal (goedkope) reken- en geheugencapaciteit in te zetten

    waar dit door de applicatie vereist wordt;flexibel te blijven in de uitbreidingsmogelijkheden;real-time procesbewaking en -besturing te realiseren dooreen lokale processor;ieder lokaal station gebruik te laten maken van de dure ofgevoelige centrale periferie apparatuur.

    Verder zal het uitvallen van een lokale processor weiniginvloed hoeven te hebben op de rest van het netwerk.

    TechLAN

    Door de firma Positronika B.V. in Eindhoven is een industrieelLocal Area Network ontwikkeld, dat in het buitenland onder denaam TechLAN verkocht wordt. Dit netwerk vormt een directeverbinding voor de volgende systemen:- Unibus (PDP-i1, VAX van DEC),- Q-bus (LSI-11 van DEC),- VME-bus (b.v. 68000 familie van Motorola),

    Voor de IBM-PC, XT en AT is nog geen TechLAN controllerbeschikbaar.Het netwerk mag een totale lengte hebben van meer dan 10 km ener kunnen in totaal 255 computers aangesloten worden.De transmissiesnelheid bedraagt 2,5 Mbit/sec. De signalen gaanin basisband over de kabel. Het transmissiemedium is coax-kabel dan wel glasvezelkabel.Door toepassing van vork-repeaters kan ook een vertaktenetwerk topologie gecreeerd worden. Met behulp van eenconcentrator is het mogelijk om een gateway te maken naar eenRS-232 verbinding.De TechLAN controllers zijn intelligent genoeg om de low leveldetails van het berichtenverkeer af te handelen. Alle

  • INLEIDING blz. 6

    netwerkbeslissingen (het protokol) vindt plaats in dehost-software. Op deze wijze is het mogelijk om verschillendeprotokollen te gebruiken met dezelfde hardware controller.Afhankelijk van de driver kan TechLAN opereren in eenmaster/slave configuratie, met mogelijkheid om een back-upmaster automatisch het bevel te laten overnemen indiengewenst, of in verschillende token passing configuraties.

    De controllers

    De controllers vormen de hardware interface tussen hetlijnprotokol van TechLAN en de computerbus. Zij verrichten devolgende functies:- boodschap synchronisatie,

    serieel/parallel en parallel/serieel omzetting,- Manchester codering en decodering van serieele data,- foutendetectie.

    De lengte van de boodschap mag varieêren van 1 woord tot 65535woorden van 16 bits.Een woord wordt in 8 usec getransporteerd. Door middel van OMAwordt de data rechtstreeks in het geheugen van de computergeladen op die plaats waar het applicatieprogramma de datanodig heeft. Hierdoor is het verplaatsen van de data van eentijdelijk buffer naar de plaats waar het nodig is overbodiggeworden. Er wordt alleen zuivere data afgeleverd op de bus.Alle overhead (adres, headers, etc.) nodig voor dedataoverdracht is verwijderd.

    De software

    Als software ondersteuning voor TechLAN zijn er momenteel tweepakketten:- DRTS-11, een compleet multiprocessor netwerksysteem.

    Op iedere processor draait het operating system RT-11 vanDEC. In dit netwerk kunnen dus alleen DEC-machines (PDP-11en LSI-11) opgenomen worden.Er is een host processor die dienst doet als I/O-server voorde overige satellieten. Het protokol dat hier gebruikt wordtis het master/slave protokol. Met dit netwerk bestaat demogelijkheid tot:* multi-user real-time processing,* time sharing van de periferie apparatuur.* multi-user programma ontwikkeling en tekstverwerking,* etc.TL industrial networking package.Dit softwarepakket implementeert samen met de controllerlaag 1 tot en met laag 3 van het OSI-model. Diverseoperating systems worden ondersteund. Het lijnprotokol dathier gebruikt wordt is van het type "token passing". Demogelijkheid bestaat om het netwerk volledig redundant (twee

  • INLEIDING blz. 7

    kabels, twee controllers per station) uit te voeren. Hetpakket is bedoeld voor real-time bewakings- enbesturingsapplicaties.Momenteel zijn er drivers voor de volgende operatingsystems:* RSXll-M (PDP-ll)* RSXll-M-PLUS (PDP-ll)* VMS (VAX)* UNIX (VME, Unifive van Philips)* OS/9 (VME)

    Product overzicht

    De TechLAN onderdelen zijn de volgende:

    type nr.

    BN020BN02lBN024BN02S/nBN033BN040BNOSOBNOGOBN200BN2l0BNSOODRTS-ll

    TL/xxx

    omschrijving

    passieve tap-boxterminator (kabel afsluiting)vork-repeaterglasvezelrepeater met 1,2 of 3 optische poortenstation kabelQ-bus controllerUnibus controllerVME-bus controllertransceiverkabelvoeding (DC-voeding voor BN200)concentrator (gateway RS-232, RS-422, IEEE 488)software pakket voor master/slave netwerk met

    DEC machinessoftware pakket voor laag 1 t/m 3 van OSI modeltoken passing protokol

    De afstudeeropdracht

    Het oorspronkelijke einddoel van het afstudeerproject is deimplementatie van een TechLAN controller voor de IBM-PC bus.Daarbij dient onderzocht te worden of het mogelijk is naast de"domme" TechLAN controller zoveel intelligentie teimplementeren dat het TechLAN token passing protokol direct ophet bord ge-implementeerd kan worden. Overwogen dient teworden dat dit protokol vaak in combinatie met een redundantnetwerk wordt gebruikt. De implementatie van zowel het TechLANgedeelte als de intelligentie is vrij, mits het resultaat kancommuniceren met de bestaande TechLAN hardware/software.

    Enkele mogelijke oplossingen

    Vanwege redenen als stroomverbruik en beschikbare ruimte op deprintkaart is het waarschijnlijk nodig een (V)LSI-implementatie te maken van het huidige "domme" TechLANgedeelte. Eventuele intelligentie zou hier ook gedeeltelijkingebracht kunnen worden. Deze (V)LSI-implementatie dient wel

  • INLEIDING blz. a

    economisch verantwoord te Z1)n. Een globale schatting leertdat in het huidige TechLAN ontwerp voor minstens FI. 500,= aanleis (machester encoder/decoder en FIFO's) vervangen kanworden. Dus het break-even point voor een (V)LSI-implementatiebij een productie van 1000 stuks ligt bij een totale prijs vanongeveer FL. 500.000,=.De (V)LSI-implementatie moet dan ook in de bestaande TechLANcontrollers voor andere bussen gebruikt kunnen worden.Verder kan gekeken worden of het nut heeft intelligentie naastde (V)LSI-implementatie te zetten. Hierbij is van belang vanwelk gedeelte van het OSI model door de controller geregeldmoet worden.Locale buffering van boodschappen dient indien mogelijkvermeden te worden omdat dit een extra tijdsvertragingintroduceert in de data overdracht via het netwerk. Real-timeapplicaties zouden hierdoor in de problemen kunnen komen.Bovendien geeft locale buffering een begrenzing van deberichtlengte, als het buffer kleiner is dan de maximaleberichtlengte.

    De IBM-PC bus

    Een IBM-PC is een aantrekkelijk alternatief om op te nemen ineen industrieel netwerk. De redenen hiervoor zijn enerzijdsdat hij goedkoop is en anderzijds omdat de IBM-PC eenstandaard geworden is.De toepassingsmogelijkheden voor een IBM-PC kunnen zijn:- (grafisch) operating station,- gateway naar RS-232,- besturing van productie apparatuur.

    Een probleem vormt het feit dat er niet een IBM-PC busbestaat, maar meerdere. Er bestaat een a-bits databus voor detypes PC en XT, terwijl de AT een 16-bits databus heeft. Welis het mogelijk om 8-bits adapter kaarten in een AT teplaatsen. Dit kan echter problemen gaan opleveren als de dataniet snel genoeg getransporteerd kan worden.

  • HOOFDSTUK 1

    HOOFDSTUK 1: DE TECHLAN CONTROLLER.

    1.1 Inleiding.

    blz. 9

    In dit hoofdstuk zal een beschrijving gegeven worden van debestaande TechLAN controllers. Momenteel bestaan er TechLANcontrollers voor de volgende busdefinities:- Q-bus- Uni-bus- VME-bus

    De LAN-gedeelten van deze controllers zijn allen identiek,alleen de bus interfacing is verschillend.Voor de IBM-PC TechLAN controller zal in ieder geval eenandere businterfacing circuit ontworpen moeten worden. Verderzal een geheel nieuw LAN-gedeelte ontworpen moeten wordenomdat het bestaande ontwerp een volledig asynchroon ontwerp isdat om deze reden niet geschikt is om te integreren.Voordat een nieuw ontwerp besproken zal worden zal eerst eenbeschrijving gegeven worden van de bestaande controllers.Dit om tweeerlei redenen:- het nieuwe ontwerp van het TechLAN-gedeelte moet zich in

    ieder geval richting netwerk (= lijnprotokol) volledigidentiek gedragen als het bestaande ontwerp: als hetmogelijk is dient de businterface (het aantal en de functiesvan de registers van de TechLAN-controller) ook gelijk teblijven aan de businterface van het bestaande ontwerp:hierdoor zal de software aanpassing van de driver vrijgering blijven.

    - Voor het ontwerpen van een nieuwe TechLAN-controller iseen functionele beschrijving nodig van de bestaande TechLAN-controller.

    1.2 TechLAN transmissietechniek.

    Een typisch TechLAN netwerk bestaat uit een lijnverbindingwaarop door middel van aftakkingen stations aangeslotenkunnen worden.

  • HOOFDSTUK 1 blz. 10

    1-------------------·/_~~_q~.l~_!_~f'J~Q!il

    ~~ !SJ ;~

    ~-~----------:BN070 !: IBM-PC II CONTROLLER:---------------~

    .--~----------:BN060 !IVME-BUS I: CONTROLLER i~--------------_.

    l--~----------·:BN050 IIDEC UNfBUS iICONTROLLER:---------------~

    l l T T rBi~ö-33-1./1STATION!: CABLE I._---------~IIII .

    r--~----------IBN040 IIQ-BUS :ICONTROLLER iL.- ~

    Figuur 1.1: typisch TechLAN netwerk.

    Informatie wordt verzonden in frames van 20 bits. Iederframe bestaat uit een 3-bits sync patroon, gevolgd door 16databits en een pariteitsbit. De databits en het pariteitsbitzijn Manchester-II gecodeerd hetgeen betekent dat zij wordengetransporteerd als de opeenvolging van twee niveau's diesamen een bitcel vormen. 0 = en 1 = --Er worden twee verschillende sync patronen gebruikt:

    --- enHet eerste sync-patroon wordt gebruikt voor datawoorden en hettweede voor statuswoorden. Het coderen/decoderen en het testenop transmissiefouten (geen Manchestercode, verkeerde pariteit)wordt uitgevoerd door hardware.De Manchester decoder detecteert het begin van een woord alshet een van de twee sync patronen gevolgd door twee correcteManchester bitcellen ziet. Bitcellen zijn alleen dan correctals de twee helften van de bitcel complementaire waardenhebben. Zie ook figuur 1.2.

  • HOOFDSTUK 1

    dataSy~c '\...., / datab1 ts ,~ pari tybi t

    --'LnJ/-lUUUlrL-statussy~c'\. 'V /datab1tS ,~ par1tybit

    -'LJIJl. /-lUUUlrL-MIL-STD 1553 Manchester encodi ng

    Figuur 1.2: MIL-STD 1553 Manchester encoding.

    blz. 11

    Bij de ontvangst van een woord moeten alle bitcellen correctzijn en tevens dient het pariteitsbit overeen te komen met depariteit van de 16 databits. Als dit niet het geval is zal deManchester decoder een pariteitsfout geven.Met dit schema, Manchester codering met pariteitcontrole,worden alle enkele, dubbele, driedubbele en de meestemultibitfouten gedetecteerd binnen een woord. Hieraantoegevoegd is een hardware protocol dat verdwenen woordendetecteert in een pakket.

    De transmissiesnelheid is 5 Mbaud of 200 ns perlijntoestand,400 ns per bitcel, 8 usec per 16 bit data.Er wordt half-duplex gewerkt onder besturing van een protokoldat in de hardware zit. De basisactie is de transmissie vaneen pakket woorden van een station naar een ander station.Het protokol is gebaseerd op de uitwisseling vanstatuswoorden.

    Een statuswoord, zoals getransporteerd over de lijn, bevattwee statusbits en acht adresbits (dus maximaal 255 stations,want adres "0" mag niet toegewezen worden aan een station).Alle stations ontvangen het statuswoord en vergelijken hetadresveld met hun stationsadres. Alleen het station dat zijneigen adres herkent zal reageren, door het uitzenden van eensoortgelijk statuswoord, al dan niet met een andere status.De twee statusbits in het statuswoord coderen de volgende viertoestanden: Xl X2 Toestand

    OOI IdleOIR Receiving1 0 T Transmitting1 1 W Wordcount empty

  • HOOFDSTUK 1

    1.3 De registers van de TechLAN controller.

    blz. 12

    De bestaande TechLAN-controllers (BN040/BN050 en BN060)bevatten een aantal registers waarmee de TechLAN-controllerbestuurd kan worden. De functie van deze registers zalbeschreven worden aan de hand van de BN040/BN050.De TechLAN-registers zijn het Control en StatusRegister (CSR),het Bus Adress Register (BAR), het Word Count Register (WCR)en het Station Adress Register (SAR).

    Het CSR bevat 16 bits waarmee de TechLAN-controller bestuurdkan worden en waarmee de status van de TechLAN-controlleruitgelezen kan worden. De functies van deze bits wordengedetailleerd beschreven in de volgende paragraaf.

    Het BAR is een lees/schrijf-register van 18, 22 of 32 bits(afhankelijk van de controller), dat het adres bevat voor devolgende OMA-cyclus. Na iedere OMA-cyclus wordt het BAR mettwee verhoogd zodat dit register naar het volgende woord inhet geheugen wijst. Gedurende de OMA-operatie wordt het minstsignificante bit genegeerd.

    Het WCR is een 16 bits lees/schrijf-register dat het aantalwoorden bevat dat getransporteerd moet worden als een negatiefgetal. Het WCR wordt met 1 verhoogd na iedere OMA-cyclus. Alshet WCR doorloopt van 65535 naar 0, dan worden de OMA-operaties gestopt.

    Het SAR is een upcounter die door de controller gebruikt wordttijdens het pollen om de adressen van de slaves te genereren.Dit register kan zowel gelezen als geschreven worden.

    De 16-bits datawoorden worden onder OMA-besturing in een 16woorden diep FIFO geladen.

  • HOOFDSTUK 1

    1.3.1 Control en statusregister.

    blz. 13

    12 PER

    11 BAD10 Xl

    9 XO8 STP

    7 RDY

    6 IE

    5 F34 F23 F12 IHBP

    1 FO0 GO

    BIT Mnem omschrijving

    15 ERR Samengestelde errorvlag, de logische OR van bits 6tm 3.

    14 NXM Non eXisting Memory, wordt ge-set als de controllerproblemen heeft met de bus. Bit wordt gereset doorGO.

    13 COL COLlision, dit bit wordt ge-set als de controllereen zendende controller (dus met status T)tegenkomt terwijl hij zelf ook een zendstatus heeft(dus TTS of TTSW).Parity ERror, geeft aan dat een transmissiefout isopgetreden bij het ontvangen van data.Geeft een protokol of transmissiefout aan.Interne status, voor diagnostische doeleinden.Interne status, voor diagnostische doeleinden.SToP, het schrijven van een "1" in dit bit probeertde lopende functie te stoppen. Als dit lukt wordende bit ERR, BAD en RDY gezet.ReaDY: als dit bit gezet is ,is de controller klaarom het volgende kommando te ontvangen.Interrupt Enable: als dit bit ge-set is zal deovergang van "0" naar "1" van het RDY-bitresulteren in een interrupt request.Functiebit 3: zie verderop.Functiebit 2: zie verderop.Functiebit 1; zie verderop.I Have Been Polled: dit bit geeft aan dat decontroller gepolled is sinds de laatste keer dathet CSR gelezen is.Functiebit 0: zie verderop.Het schrijven van een "1" in dit bit start defunctie zoals gecodeerd in de bits F3 tm FO. Tevenswordt het RDY-bit op nul gezet.

  • HOOFDSTUK 1 blz. 14

    1.3.2 Interne registers van de TechLAN-controller.

    Naast de in de voorgaande paragraaf beschreven registers, dievanaf de bus toegankelijk zijn, bevat de TechLAN-controllertevens enkele interne registers. Zie hiervoor ook hetblokdiagram van de BN040 in figuur 1.3.

    Figuur 1.3: blokdiagram van de BN040.

    Voor de serie/parallel- en parallel/serie-omzetting vandatawoorden wordt het FIFO gebruikt.Voor het uitzenden van de statuswoorden is eenparallel-in/serteel-uit register nodig. Dit register wordtparallel geladen met de inhoud van het SAR en met de tweestatusbits XO en Xl uit het de TechLAN state-sequencer.De ontvangen statuswoorden worden in een 10 bitsschuifregister geklokt. De inhoud van dit schuifregister kanparallel uitgelezen worden en vergeleken met het stationaddress (ST. ADR). Dit station address is een 8 bitsdipswitch-bank.Verder is op de TechLAN-controller een 8 bits dipswitch-bankaanwezig waarmee het maximum station address in te stellen isvan het netwerk.De data komende uit de encoder kan ook in een 256 bitsschuifregister geschoven worden. De uitgang van ditschuifregister is aangesloten op de ingang van de decoder. Hetschuifregister functioneert zo als een vertragingslijn van51,2 usec, die verscheidene Manchesterframes kan bevatten.Hierdoor kan als test van de controller een kort blok dataverzonden worden, dat na omschakelen van het datapad weerontvangen kan worden.

  • HOOFDSTUK 1

    1.4 Transfer protokol.

    blz. 15

    Een fundamenteel probleem dat opgelost moet worden in iedercommunicatiesysteem met meerdere partijen die gebruik makenvan een enkele lijn is de toewijzing van de lijn aan eenpartij. TechLAN maakt gebruik van het concept van busmaster,beter gezegd lijnmaster. De software bepaalt welk station delijnmaster is door middel van een van de functiebits in hetcontrolregister van de controller. Op ieder moment mag slechtseen station fungeren als lijnmaster, maar door middel van eengeschikt software protokol kan het mastership doorgegevenworden van een station naar een ander station.

    Iedere TechLAN controller kan een aantal functies uitvoeren,afhankelijk van de waarde van de bits FO tm F3 in het CSR-register.Als er geen functie geprogrammeerd is bevindt de controllerzich in de IDLE toestand. Als de controller nu een statuswoordontvangt dat voor hem bestemd is dan zal hij een I-statuswoordterugzenden aan de ontvanger.De functies vallen uiteen in drie groepen, te wetenmasterfuncties , slavefuncties en maintenancefuncties.De maintenance-functies zullen hier niet besproken wordenomdat deze functies de hardware testen van het controllerbord.Hiertoe zijn hardware voorzieningen aanwezig op het bord. Bijeen nieuw te ontwerpen controller zullen deze voorzieningen ofniet aanwezig zijn, of in een andere vorm dan bij de huidigecontrollers.Masterfuncties:- SAS, Seek A Slave ready to transmit.

    Het station, dat nu master is, begint met het pollen vanalle slaves. Hiertoe zendt hij een I-statuswoord uit met hetadres van een slave. Het adres van de slave komt uit hetStation Adress Register. Als de geadresseerde slave antwoordmet de status T dan wordt RDY ge-set en de controller gaatterug naar zijn IDLE toestand. Als enige andere reactieterugkomt, of helemaal geen reactie binnen 200 usec, dan zalde controller de volgende slave gaan pollen.Deze functie is af te breken door het schrijven van een "1"in het STP-bit van het CSR-register.

    - RFS, Receive From Slave.De controller zendt een R-statuswoord naar een slave. Als degeadresseerde slaaf antwoord met T dan zal de controller dedatastroom ontvangen totdat het signaal Word Count Overflowbinnenkomt. Dit is een signaal vanaf de businterface dataangeeft dat het verwachtte aantal woorden ontvangen is.Ieder andere reactie van de slave resulteert erin dat decontroller weer een R-statuswoord uitzend.Als er binnen 200 usec geen reactie komt van de slave wordtdeze functie afgebroken.

  • HOOFDSTUK 1 blz. 16

    TTS, Transmit To Slave.De controller, die nu master is, zendt een T-statuswoord uitnaar een slave. Als het antwoord van de slave een R-statuswoord is dan zal de master de inhoud van hetdatabuffer verzenden.Als het antwoord van de slave een T-statuswoord is danwordt een collision error gesignaleerd. Het bit COL in hetCSR wordt dan ge-set. Ieder ander antwoord, of helemaal geenantwoord binnen 200 usec zorgt ervoor dat deze functieafgebroken wordt, met het BAD-bit ge-set.

    TTSW, Transmit To Slave and Wait.Deze functie is identiek aan de functie TTS, behalve dat alseen I-statuswoord binnenkomt als antwoord op een T-statuswoord, de controller opnieuw een T-statuswoord zaluitzenden naar dezelfde slave.

    Slavefuncties:RFM, Receive From Master.Als de controller een statuswoord ontvangt van de master danzal hij een R-statuswoord terugzenden. Als de master een T-statuswoord gezonden heeft zal hij na de ontvangst vanhet R-statuswoord van de slave de data overzenden gevolgddoor een W-statuswoord.

    - TTM. Transmit To Master.Als de controller een statuswoord ontvangt van de master danzal hij een T-statuswoord terugzenden. Als de mastervervolgens een R-statuswoord zendt dan zal de slave de dataoverzenden naar de master, gevolgt door een W-statuswoord.

  • HOOFDSTUK 1

    1.5 Protokolbeschrijving in ces.

    blz. 17

    Als we de controller beschouwen als het systeem zoals getekendin figuur 1.4 dan is het mogelijk om een soort CCS-beschrijving te geven van het transfer protokol van TechLAN.

    .. BUS ..UJN

    RFM IRFS RSAS T

    DRIVER TTM TL-CON W TL-CONTTS ITTSW RTMO T

    BAD wCOLRDY

    < g < 15:::s :::s0 < 0 < 0f-' 0 ~~

  • HOOFDSTUK 1 blz. 18

    { ci is de IDLE state.Als er geen functie geprogrammeerd is bevindt de controllerzich in de IDLE state. De controller zal op iederstatuswoord dat hij ontvangt het I-statuswoord terugzenden.We kunnen alleen uit de IDLE state komen doordat er eenfunctie aangeroepen wordt. Bij het optreden van een TMOwordt er een BAD gegenereerd. Deze TMO is de slave timeout,die aangeeft dat er geen activiteit op de lijn is, en dusaangeeft dat het token verdwenen is.Tijdens ci wordt er niet gekeken naar ABORT en WCO. Wel moetOR gelijk zijn aan nul

    }

    ci = (I? + R? + W? + T?):I!:Ci

    + RFM?:Crs+ RFS?:R!:Cr+ SAS?:I!:Cp+ TTM?:Cts+ TTSW?:T!:Ct+ TTS?:T!:Ct+ TMO?:BAD!:RDY!:Ci

    {We zijn idle en blijvendat.}

    {We gaan naar receive.}{We gaan naar receive.}{We gaan pollen}{We gaan naar transmit}{We gaan naar transmit}{We gaan naar transmit}{slave timeout, token lost}

    { Cp is de poll toestand.Als op onze uitgestuurde 1 status een T status terugkomtzullen we een RDY geven. In ieder ander geval gaan we verdermet het pollen van de volgende slave.

    }Cp = (TMO?+I?+W?+R?): if ABORT then BAD!:RDY!:Ci

    else I(adres+1)!:Cp+ T?: if ABORT then BAD!:RDY!:Ci

    else RDY!:Ci

    { Hier staan de states waarin de machine kan terecht komen alshij moet gaan ontvangen.

    }

    {Crs wordt alleen bereikt na RFM}

    Crs = (T?+I?+W?+R?): if ABORT then BAD!:RDY!:Cielse R!:(DMA:=l) !:Cr

    + TMO?: BAD!:RDY!:ci

    Cr = TMO?:BAD!:RDY!:ci+ (I?+R?+T?) if ABORT,WCO,OR = 0,0,0

    then R!:Crelse :BAD!:RDY?:Ci

    + W?: if ABORT then I!:BAD!:RDY!:cielse case WCO,OR of

    0,1: R!:Cr1,1: I!:BAD!:RDy!:ci0,0: I!:BAD!:RDY:Ci1,0: W!:CWr

    end {case}

  • HOOFDSTUK 1 blz. 19

    { Na het beeindigen van de receive state zal de machine indeze Wordcount overflow state terecht komenNu geldt dat GO,SND,POLL = 1,0,0 omdat we receiving zijn.Tevens geldt dat WCO,OR = 1,0 want anders waren we hier nietgekomen.

    }

    Cwr = 1?:RDY!:Ci+ (R?+W?+T?+TMO?):BAD!:RDY!:Ci

    { Hier staan de states waarin de machine terecht kan komen alshij moet gaan zenden. (transmit)

    }

    {Cts wordt alleen bereikt na TTM}

    cts = (T?+1?+W?+R?): if ABORT then BAD!:RDY!:Cielse T! :ct

    + TMO?:BAD!:RDy!:ci

    ct = 1?:if ABORT then BAD!:RDY!:cielse if TTS then BAD!:RDY!:ci

    else Tl :ct+ T?:if ABORT then BAD!:RDy!:ci

    else W! :Cwc+ W?:if ABORT then BAD!:RDY!:Ci

    else 1!:COL!:RDY!:ci+ R?: if ABORT then 1!:BAD!:RDY!:ci

    else OMA! :ct

    WCO,OR=O,OIIIIIIII

    + DATAEN?: case X,abort ofR,false: W!:cwtR,true : 1!:BAD!:RDY!:cielse BAD!:RDY!:ci

    end {case}+ TMO?:BAD!:RDy:ci

    Cwt = W?: if ABORT then 1!:BAD!:RDy!:cielse 1!:RDy:ci

    +R?: if ABORT then 1!:BAD!:RDY!:cielse W!:cwt

    +1?:BAD!:RDY!:ci+TMO?:BAD!:RDY!:ci+T!: if ABORT then 1!:BAD!:RDY!:Ci

    else BAD!:RDy!:ci

    Cwc = I?: if ABORT then BAD!:RDY!:cielse COLL!:RDY!:ci

    + (TMO?+W?+T?+R?):BAD!:RDY!:Ci

    wco,or=O,lIIII

    WCO, OR=O , 1IIIIIII

    WCO,OR=O,OII

  • HOOFDSTUK 1 blz. 20

    { DatahandlingDit is het datapad dat na ontvangst van een dma enable dedata gaat versturen, gespecificeerd door de dma controlregisters. Als alle data verzonden is geeft het datapad demededeling DATAEN ten teken dat alle data verzonden is

    }

    D = DMA?:DATA!x:DATAEN!:D

  • HOOFDSTUK 1

    1.6 Eisen voor TechLAN IBM-PC controller.

    blz. 21

    In de vorige paragrafen is een functionele beschrijvinggegeven van de bestaande TechLAN-controllers.Aan de hand van de functionele beschrijving van de registersin paragraaf 1.3 kan nu een ontwerp gemaakt worden van hetdatapad van de TechLAN-controller voor de IBM-PC (typenr.BNO?O).Gegeven dit datapad en de CCS-beschrijving in paragraaf 1.5kan een ontwerp gemaakt worden voor de control unit van deBNO?O.De volgende punten dienen in overweging genomen te worden bijhet ontwerp voor een TechLAN-controller voor de IBM-PC.1. De bestaande TechLAN-controller wordt bestuurd door een

    asynchrone state-machine. Als het ontwerp voor de BNO?O (deTechLAN-controller voor de IBM-PC) ge-integreerd moetworden dient hiervoor een synchrone state-machine ontworpente worden.

    1

    2. Het is niet nodig om een OMA-controller op de BNO?O teplaatsen, omdat deze reeds aanwezig is op het moederbordvan een IBM-PCjXTjAT.

    '3. De huidige TechLAN-controllers werken allen met een 16-bitsdatabus. Als de BNO?O ook op een XT gebruikt moet kunnenworden, dan dient de BNO?O 8-bits breed te werken, of moetomschakelbaar zijn tussen 8 bits en 16 bits.

  • HOOFDSTUK 2 blz. 22

    HOOFDSTUK 2: SPECIFICATIE VAN MANCHESTER ENCODER DECODER.

    2.1 Da qebruikerseisen.

    2.1.1 Inleiding.

    Gevraagd wordt een ontwerp voor een Manchester encoder decoderdie kan functioneren op een TechLAN controller. Aangezien opde bestaande TechLAN controllers gebruikt gemaakt wordt van deManchester encoder decoder van Harris (type nummer HD1553B) isgekozen voor een ontwerp dat hiermee compatible is (Ziebijlage I).Volgens de specificaties van de fabrikant is de HD1553B tegebruiken voor het coderen en decoderen van seriele datavolgens de militaire standaard 1553 tot een maximaletransmissiesnelheid van 5 Mbaud, wat overeenkomt met een data-snelheid van 2.5 Mbit/sec.Voordat de data gedecodeerd kan worden moet eerst de klokteruggewonnen worden uit de ontvangen data. Het is geblekendat het IC van Harris niet voldoet aan de specificaties.Als deze Manchester encoder decoder gebruikt wordt bij zijnmaximale datasnelheid, hetgeen gebeurt bij de bestaandeTechLAN controllers, is het clock recovery circuit op dechip niet in staat de klok betrouwbaar terug te winnen uit deontvangen data.Een bijkomende eis is nu dat de te ontwerpen Manchesterencoder decoder wel goed functioneert bij een datasnelheid van2.5 Mbit/sec, en indien mogelijk ook nog bij hogeredatasnelheden.

    De Manchester encoder decoder van Harris heeft verder demogelijkheid om het aantal databits per woord vrij te kiezentussen de 2 en 28.Besloten is om deze eis te laten vallen vanwege twee redenen.Op de eerste plaats is daar het feit dat het TechLANcommunicatieprotocol gebruik maakt van een vast aantaldatabits per woord, namelijk 16 bits, hetgeen overeenkomt metde woordbreedte in de computers waarvoor er TechLANcontrollers zijn.Op de tweede plaats zijn er op de te ontwerpen chip invergelijking met de Harris chip extra pinnen nodig in verbandmet de testbaarheid van het IC. Op de Harris chip zijnnamelijk geen voorzieningen getroffen voor het testen van hetIC. De vijf pinnen die vrij komen door het laten vallen van deeis dat het aantal databits instelbaar moet zijn kunnen nugebruikt worden voor de ingangen en uitgangen van de scanpadenen voor de pinnen waarmee het circuit omgeschakeld kan wordentussen normale bedrijf en testmode.

  • HOOFDSTUK 2 blz. 23

    2.1.2 De functionele eisen.

    In het ontwerp van de Manchester encoder decoder zijn vierfunctionele blokken te onderscheiden. Dit zijn:1. het clock recovery circuit;2. de decoder;3. de encoder;4. de zesdeIer.

    Daarnaast moet voorzien worden in een mogelijkheid om dedecoder te gebruiken zonder clock recovery circuit.De vier blokken zijn weergegeven in onderstaand blokdiagram.

    SERlAL DATA OUTTAKE DATADATA SYNCSTATUS SYNCI/AUD WORD

    DECODER SHIFT CLOCK

    eLoeK 011/6

    BIPOLAR ONE OUT

    BIPOLAR ZERO OUT

    ENCODER SHIFT CLOCKSEND DATA

    I1DATA I

    ~ SELECT ICLOCK DECODERRECOVERY

    CIRCUIT- YCCO"I

    SELECT r--

    I.

    &

    '"000" fI

    I DII/IDEII BY SIX

    SYNCHRONOUS CLOCK

    SYNCHRONOUS DATA

    CLOCK SELECT

    UNIPOLAR DATA IN

    BIPOLAR ONE INBIPOLAR ZERO INDECODER CLOCK

    DECODER RESETMASTER RESET

    SERlAL DATA IN

    SYNC SELECT

    ENCODER PARITY SELECTENCODER ENABLESEND CLOCK INTRANSMITTER INHI81T

    ENeODER CLOCK

    DECODER PARITY SELECT ,>----------- _DATA SELECT ,

    Figuur 2.1: blokdiagram van de Manchester encoder decoder.

    ad 1. het clock recovery circuit.

    Voor zijn goed functioneren heeft de Manchester decoder eenkloksignaal nodig dat gesynchroniseerd is met de binnenkomendeManchesterdata. Het clock recovery circuit zorgt hiervoor.Er zijn twee verschillende mogelijkheden om de Manchesterdataaan te bieden aan het clock recovery circuit.1. De twee bipolaire data-ingangen.

    Deze twee ingangen zijn bruikbaar als de lijn geobserveerdwordt door middel van twee comperatoren, waarvan de een eenhoog actief signaal afgeeft als een logische "1" op de lijnstaat en de ander een hoog actief signaal afgeeft als ereen logische "0" op de lijn staat.Deze twee signalen uit de comperatoren kunnen rechtstreeks

  • HOOFDSTUK 2 blz. 24

    aangesloten worden op de "BIPOLAR ONE IN" en "BIPOLAR ZEROIN" ingangen van het clock recovery circuit.

    2. De unipolaire data-ingang.Deze ingang accepteert alleen niet ge-inverteerdeManchesterdata, bijvoorbeeld Manchester gecodeerde data dieafkomstig is van de "BIPOLAR ZERO OUT" uitgang van eenencoder. (Deze is laag actief.)

    Het clock recovery circuit levert twee uitgangssignalen. Ditis de Manchesterdata en een kloksignaal dat synchroon looptmet de Manchesterdata. Dit kloksignaal heeft een frequentiedie twee zo groot is als de gebruikte datasnelheid. De actieveflanken van het kloksignaal (laag naar hoog) vallen midden iniedere lijntoestand.Het clock recovery circuit heeft een klok ("DECODER CLOCK")nodig met een frequentie die 12x groter is dan de gewenstedatasnelheid.

    Het is ook mogelijk om de decoder van het te ontwerpen IC tegebruiken zonder het clock recovery circuit. De Manchesterdataen een hiermee synchrone klok kunnen dan toegevoerd worden aande decoder via de ingangen "SYNCHRONOUS CLOCK" en "SYNCHRONOUSDATA". Met behulp van de signalen "SYNCHRONOUS DATA SELECT" en"SYNCHRONOUS CLOCK SELECT" moeten dan wel de twee selectors"DATA SELECT" en "CLOCK SELECT" de juiste ingang doorverbindenmet de uitgang.

    N.B. De twee selectors zijn statische selectors.Gegeven de toepassing van het IC wordt gebruik gemaaktvan ofwel het clock recovery circuit ofwel de synchroneklok- en data-ingang.

    ad 2. De decoder.

    De decoder is vrij lopend en kijkt continue naar zijn data-ingang, op zoek naar een correct sync-patroon en twee correcteManchester databits. Als een correcte sync en twee correctedatabits herkend zijn, wordt het type van de sync aangegevendoor de uitgang "STATUS SYNC" ofwel de uitgang "DATA SYNC".Als het sync-patroon een status-sync was dan wordt de uitgang"STATUS SYNC" hoog (op tijdstip 2 in figuur 2.2) en blijfthoog gedurende 16 Dsc-perioden. Als het syncpatroon een data-sync was dan zal de uitgang "DATA SYNC" hoog worden gedurendedeze periode.De uitgang "TAKE DATA" gaat hoog en blijft hoog terwijlde decoder de gedecodeerde data uitzendt via de uitgang"SERlAL DATA OUT" (zie figuur 2.2, periode 2 tot 3).De gedecodeerde data beschikbaar op de uitgang "SERlAL DATAOUT" is in NRZ-formaat. Het signaal "DECODER SHIFT CLOCK"wordt gegenereerd zodat het mogelijk is om de gedecodeerdebits in een extern register te schuiven op iedere laag naarhoog overgang van dit signaal.

  • HOOFDSTUK 2 blz. 25

    Tijdens het decoderen van de databits en het pariteitsbitworden deze bits ook gecontroleerd op fouten in de Manchestercode. (In ieder correct bit dient een signaalovergang op tetreden.) Tevens wordt tijdens het decoderen van de bits depariteit bijgehouden van alle ontvangen bits.Als na ontvangst van alle bits blijkt dat er geenManchesterfouten zijn opgetreden en als de pariteit van deontvangen bits overeenkomt met de pariteit die aangegevenwordt door het ingangssignaal "DECODER PARITY SELECT" dan zalhet signaal "VALID WORD" actief worden (zie figuur 2.2,tijdstip 4).Na de ontvangst van het pariteitsbit gaat de decoderonmiddellijk weer op zoek naar het volgende Manchesterwoord.Hierdoor is het mogelijk om Manchesterwoorden zonderonderbreking uit te zenden op de lijn.

    - I I· I ' I I I I I • I • I • I ' I • I I ... I ... I .., I • I I I I._CLOClI lrul..n.nfUUUUUlJUUlJlJUlJUUU\ 'lJlJUUUU1flJUUUlJUUU

    Mcaollll IN'" CLOCII

    8tfIOU,. Ilao .•---'-~"""

    .---------fr ..., -------,'U'D"'" ---' 0.....-__

    _ DnlOC I ~ : 1__

    ""u_ '- ~ : .__ 1 __

    .RIA' DU"DU' W/ff///'ofo,6No;if7///////J .... FOf •.+n '·+"·3 ~ : I .Of .\." ,1." ,1." ,1.",WWffi._...._.,ct·._, ::1+============+~r-

    ti rt-Figuur 2.2: timing van de decoder.

    ad 3. De encoder.

    De encoder heeft een klok nodig ("SEND CLOCK") met eenfrequentie die twee keer zo groot is als de gewenstedatasnelheid.

    De encoder cyclus begint als de ingang "ENCODER ENABLE " hoogis gedurende een neergaande flank van het uitgangssignaal"ENCODER SHIFT CLOCK" (zie figuur 2.3, tijdstip 1).Deze cyclus duurt 16 + 4 = 20 perioden van het signaal"ENCODER SHIFT CLOCK".Bij de volgende laag naar hoog overgang van "ENCODER SHIFTCLOCK" zal, indien de input "SYNC SELECT" hoog is, begonnenworden met het uitzenden van een statussync en, indien "SYNCSELECT" laag is, wordt begonnen met het uitzenden van eendatasync (zie figuur 2.3, tijdstip 2).Als de encoder klaar is om data te ontvangen zal de uitgang"SEND DATA" hoog worden gedurende 16 "ENCODER SHIFT CLOCK"-perioden (zie figuur 2.3, tijdstip 3). Gedurende deze 16perioden kan de data, die gecodeerd moet worden, ingeklokt

  • HOOFDSTUK 2 blz. 26

    worden in de "SERIAL DATA INPUT" op iedere laag naar hoogovergang van het signaal "ENCODER SHIFT CLOCK" (zie figuur2.3, periode 3 tot 4).Nadat het sync-patroon en de 16 Manchester gecodeerde databitsuitgezonden zijn via de laagactieve uitgangen " BIPOLAR ONEOUT" en "BIPOLAR ZERO OUT", wordt door de encoder een extrabit toegevoegd dat de pariteit bepaalt van de uitgezonden data(zie figuur 2.3 , tijdstip 5). De soort pariteit (even ofoneven) wordt bepaald door het ingangssignaal "ENCODER PARITYSELECT".Het pariteitsbit wordt ook Manchester gecodeerd.

    - I I • I ti' I • I • I • I • I 'I IIW , ... I •., I .·1 , • I

    ---.-----l VU////M}îf'i!w!&/W/W/M; ~#MWMr"ULlCI WMV."DWMW4#;iHo!iiW///ff///~WW/~/á

    _"DATA • , LI _

    elllCGOl...." CLoc.

    _"CLDCa

    Figuur 2.3: timing van de encoder.

    ad 4. De zesdeIer.

    Bij sommige toepassingen van de Manchester encoder decoder kanhet wenselijk zijn om het kloksignaal van de encoder ("SENDCLOCK") af te leiden uit het kloksignaal van het clockrecovery circuit ("DECODER CLOCK"). Een voorbeeld van zo'ntoepassing is een circuit waar geen ander kloksignaal aanwezigis. Voor deze gevallen is een extra zesdeIer (het blok "DIVIDEBY SIX") opgenomen in het Manchester encoder decoder IC.

    Van de hierboven beschreven blokken is een HHDL-beschrijvinggemaakt. Deze HHDL-beschrijving heeft de filenaam "MANGA.HDL"en is opgenomen in bijlage B.Deze HHDL-beschrijving is gesimuleerd met de exitaties dieweergegeven zijn in de file "MANGA.SCL" (zie bijlage C). uitdeze simulatie bleek dat de HHDL-beschrijving vanbovengenoemde blokken voldeed aan de specificaties zoals dezehiervoor gegeven zijn. Opgemerkt dient te worden dat allevertragingstijden in de modellen de standaardwaarde van 10tijdseenheden hebben. Aan de simulatie van deze modellen zijndan ook geen conclusies te verbinden die betrekking hebben opde maximale te gebruiken klokfrequentie van enig deel van deschakeling.

  • HOOFDSTUK 2

    2.1.3 De prestatie eisen.

    Klokfrequentie.

    blz. 27

    Zoals in de inleiding van dit hoofdstuk reeds werd gemeld moetdeze Manchester encoder decoder minstens kunnen functionerenbij een datasnelheid van 2.5 Mbit/sec. Dit heeft de volgendeconsequenties voor de kloksignalen van de boven beschrevenblokken:

    blok kloksignaal maximale frequentie

    clock rec.decoderencoderzesdeIer

    DECODER CLOCKSYNCHRONOUS CLOCKSEND CLOCKENCODER CLOCK

    30 MHz7.5 MHz5 MHz30 MHz

    (12 x datasnelheid)(2 x 3/2 x datasnelheid)(2 x datasnelheid)(DECODER CLOCK)

    De factor 3/2 in de berekening van de maximale frequentie van"SYNCHRONOUS CLOCK" wordt veroorzaakt door de wijze waarop hetclock recovery circuit het kloksignaal voor de decodersynchroniseert met de data. Hier zal later bij de beschrijvingvan het clock recovery circuit nog op teruggekomen worden.

    Uitgangssignalen.

    Aan de uitgangssignalen van de Manchester encoder decoderworden de volgende eisen gesteld:- glitch free- sinken/sourcen: max. 4 mA

    Voedingsspanning en omgevings-temperatuur

    Het te ontwerpen IC moet goed functioneren in de volgendebereiken van de voedingsspanning en omgevingstemperatuur:

    Vcc = 5.0V +/- 10%Ta = -40 tot +85 deg. C.

  • HOOFDSTUK 2

    2.2 De test eisen.

    blz. 28

    Het gehele IC moet 100% logisch testbaar zijn.Hiervoor worden de encoder en de decoder voorzien van eenscanpad. Omdat het clock recovery circuit en de zesdeIer opeen hogere frequentie moeten kunnen werken dan de encoder ende decoder, kunnen deze gedeelten van het IC niet voorzienworden van scanflipflop's; het combinatorische delay zou dante groot worden.Om het clock recovery circuit dan toch 100% te kunnen testenzullen de drie uitgangssignalen van deze component met drieuitgangssignalen van het IC verbonden moeten worden.Verder zullen de volgende regels in acht genomen moeten wordenom te komen tot een 100% testbaar ontwerp:

    Design for testability.

    1. maximaliseer controleerbaarheid en observeerbaarheid

    2. voorkom logische redundantie

    3. scheid analoge en digitale circuits

    4. partitioneer grote en complexe circuits

    5. voorkom asynchrone logica

    6. voorzie in de mogelijkheid voor complete reset

    7. voorkom ROM afhankelijke patronen (extern ROM gebruiken)

    8. maak de klok direct controleerbaar

  • HOOFDSTUK 2

    2.3 De layout eisen.

    De technologie.==============

    blz. 29

    De Manchester encoder decoder zal gerealiseerd moeten wordenmet een gate array van de fabrikant Philips. Dit is dePCF3300, een gate array uit de "SystemGate"-familie,bevattende 3300 equivalente gates. (equivalent gate = tweeinput NAND) •Enkele karakteristieken van deze familie zijn:- CMoS-technologie met twee lagen metaal verbinding;- 2 micron transistor gate lengte;- typisch 1.5 ns interne gate vertraging;- 60 MHz flipflop toggle frequentie;- maximale systeemklok van 40 MHz;- CMOS en TTL compatible inputs;- voedingsspanningsbereik van 2 V tot 6 V;- werkzaam temperatuurbereik:

    standard -40 tot +85 deg. C.extended -55 tot +125 deg. C.

    - beschikbaar in diverse behuizingen;- lage vermogens dissipatie;- 2, 4.of 8 mA standaard uitgangsstroom (sinken en sourcen).

    Bij deze karakteristieken kunnen de volgende kanttekeningengemaakt worden:- vanwege de eis dat het te ontwerpen IC compatible moet zijn

    met de HD15531B, een Manchester encoder decoder van defabrikant Harris, zal het gate array een 40 pins DIL (DualIn Line) behuizing moeten krijgen;waarschijnlijk zal het uiteindelijke circuit bestaan uitongeveer 1000 equivalente gates. De PCF3300 (3300equivalente gates) is dus ruim groot genoeg.

    Beschikbare CAD hulpmiddelen.============================

    Het logische ontwerp en de simulatie van het IC kan geschieden ophet APOLLO-systeem. Hierop is het software pakket HELIXaanwezig waarmee op een "TOP-DOWN" wijze een ontwerp van eendigitaal IC gemaakt kan worden. Het ontwerp kan hiermee tot opgate niveau ontwikkeld worden.Er is een bibliotheek voorhanden op het APOLLO-systeem diemodellen bevat van alle basiscellen (poorten en flipflop's)van de "SystemGate"-familie.Deze bibliotheek bevat echter niet de correctevertragingstijden van deze basiscellen. Nadat het ontwerp totgate niveau is gespecificeerd en gesimuleerd, kunnen met behulpvan het software-pakket HILO de testvectoren bepaald wordenvan dat gedeelte van de schakeling dat niet scan testbaar is.Hierna zal overgestapt moeten worden naar een VAX-systeem

  • HOOFDSTUK 2 blz. 30

    waarop software van de fabrikant van het gate array is ge-installeerd waarmee de timingsverificatie, het genereren vande testvectoren voor de scanpaden, de placement en de routinggedaan kan worden.De overgang van het APOLLO-systeem naar het VAX-systeemgeschiedt door middel van een alpha-numerieke netlist van hetgemaakte ontwerp.Op het VAX-systeem worden de volgende pakketten gebruikt:- SIMON: (opnieuw) logische simulatie en timingsverificatie;- AMSAL: genereren van testpatronen voor scanpaden;- AUTOGATE: placement en routing van het gate array.

    Na de placement en routing met behulp van AUTOGATE kan metditzelfde pakket ook de invloed van de bedrading op devertragingstijden van de poorten berekend worden. Dezegegevens kunnen weer naar SIMON overgebracht worden waar dande uiteindelijke timingsverificatie plaats kan vinden.

  • HOOFDSTUK 3 blz. 31

    HOOFDSTUK 3: ARCHITECTUUR VAN DE MANCHESTER ENCODER DECODER.

    3.1 xnleidinq

    In het vorige hoofdstuk, de specificatie van de Manchesterencoder decoder, is ook reeds een eerste opdeling gemaakt vanhet IC in vier functionele blokken. Dit waren de encoder, dedecoder, het clock recovery circuit en de zesdeIer.In dit hoofdstuk zal de architectuur van de encoder, dedecoder en het clock recovery circuit gegeven worden.Deze architectuur heeft alleen betrekking op het functioneleontwerp en het testontwerp. Een beschrijving van dearchitectuur van het layout ontwerp kan nu nog niet gegevenworden, omdat de placement en routing dienten te geschieden opde VAX, in tegenstelling tot het functionele ontwerp en hettestontwerp die gebeuren op het APOLLO-systeem.De overgang van het APOLLO-systeem naar de VAX geschiedt doormiddel van een netlist op gateniveau en deze is in deze fasevan het ontwerp nog niet aanwezig.Het schema van de zesdeIer is dermate eenvoudig dat hiervanin het volgende hoofdstuk gelijk een beschrijving op gateniveau gegeven zal worden •

    3.2 De architectuur van de encoder KENCD6.

    3.2.1 Het functionele ontwerp.

    Als architectuur voor de encoder is gekozen voor een datapaddat bestuurd wordt door een control unit.Zie hiervoor figuur 3.1.

  • HOOFDSTUK 3

    r-'IEI\JCOS

    I

    blz. 32

    seo)SC

    SDISS ELEPSClKRESETESTSCITRIN

    ENE

    INBUF9 D 0r- "i Y1 SDI OUTBUF~

    ~r- "2 Y2 SSEl BOD "1 Y1r- "3 Y3 EPS EDP BZO "2 Y2(- A4 Y~ ClKr- "5 Y5 RESETr- "6 Y6 TESTr- ,,~ U SCI>--- "8 Y8 TRIN

    SENi SEN2S0i PEN ESC

    ISEN~ SENE SDi PEN ESCi

    C (

    ENESENi SEN2 SDi PEN ESCi E>-- A9 Y9 ESC2 "3 Y3 H'--- ClK SD2 A4 Y4'--- RESET ECU

    TESTI SCI

    BODBZO

    SO

    Figuur 3.1: schema van encoder MENCD6.

    In een Manchesterframe, dat door de encoder uitgezonden wordt,zijn drie verschillende gedeelten te onderscheiden:- het sync patroon;- de 16 Manchester gecodeerde databits;- het Manchester gecodeerde pariteitsbit.

    Deze drie gedeelten van het Manchesterframe worden door hetdatapad (EDP) gegenereerd onder besturing van de control unit(ECU) .Hiertoe zijn er vijf besturingssignalen, te weten SEN1, SEN2,SD. PEN en ESC, ingevoerd waarmee de control unit het datapadbestuurd. De onderlinge relatie tussen deze 5 signalen en derelevante in- en uitgangssignalen van de encoder zijnweergegeven in figuur 3.2.

  • HOOFDSTUK 3 blz. 33

    STA"TES I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I 1 I I I 1 I 1 I I I I I

    elK IUlfLJlJlfUlfUlfU1JlJUl.SlJlSLJln..ruUlJUlJUln...nJlfLfIJUULn.nnflJlJll1JlJlJLfLJlnJ

    ESC

    ENE~. _

    SSEL~VAUD.

    SENl~L _

    SEN2 --'1IL- _

    SD

    PEN_________________________-Jn

    L__

    SDI~ 15 114 113 112 1 " \ 10 1 9 1 8 1 7 1 6 I 5 1 4 1 3 1 2 1 1 1 0~

    BOO/BZO \SYNClISYNC.21 15 114 113 112 111 1 10 1 9 18 1 7 16 15 1 4 1 3 1 2 I 1 1 alp I

    Figuur 3.2: timingsdiagram van de encoder MENCD6.

    De encoder control unit wordt gestart als het signaal ENE(encoder enable) actief is tijdens een neergaande flank vanhet signaal ESC (encoder shift clock) •Hierop zal de control unit achtereenvolgens de signalen SEN1,SEN2, SD en PEN actief maken.Als het signaal SEN1 actief wordt is dit voor het datapad vande encoder het teken om te beginnen met het genereren van heteerste gedeelte van het sync patroon. Het ingangssignaal SSEL(sync select) van het datapad bepaalt of een datasync of eenstatussync uitgezonden wordt. Nadat het signaal SEN1 inactiefis geworden wordt het signaal SEN2 actief, waarmee de controlunit aangeeft dat de tweede helft van het sync patroonuitgezonden moet worden. De tweede helft van het sync patroonheeft altijd de tegengestelde waarde van de eerste helft vanhet sync patroon.Nadat ook het signaal SEN2 inactief is geworden zal de controlunit het signaal SD (send data) actief maken. Dit signaalheeft een tweeledige functie:1. aangeven aan de buitenwereld dat de 16 databits via de

    ingang SDI (serial data in) in de encoder geschoven kunnenworden op de opgaande flanken van het signaal ESC. Alspractische toepassing is het dus mogelijk om de teverzenden 16 databits parallel te laden in een 16 bitsschuifregister. De encoder haalt deze 16 bits dan serieeluit het schuifregister, waarbij het signaal ESC gebruiktwordt als schuifklok en het signaal SD als enable voor hetschuifregister.

    2. Het signaal SD is tevens het signaal dat aangeeft dat het

  • HOOFDSTUK 3 blz. 34

    datapad kan beginnen met coderen van de 16 databits.Gedurende de periode dat SD actief is moet het datapad ookde pariteit bijhouden van de 16 databits.

    Nadat het signaal SD weer inactief geworden is zal het signaalPEN (parity enable) actief worden. Dit is het teken voor hetdatapad dat het pariteitsbit Manchester gecodeert uitgezondenmoet worden. Of er gebruikt gemaakt wordt van even of onevenpariteit wordt bepaald door het ingangssignaal EPS (encoderparity select) van het datapad.Als het signaal ENE (nog) actief is tijdens de laatsteklokperiode van PEN zal de encoder verder gaan met hetuitzenden van het volgende Manchesterframe. Hierdoor is hetmogelijk om opeenvolgende Manchesterframes te verzenden zonderdat er gaten vallen tussen deze frames.Er is steeds een klokperiode vertraging tussen het actief zijnvan een van de vier signalen SEN1, SEN2, SD en PEN, en hetuitzenden van het bijbehorend gedeelte van hetManchesterframe.

    HHDL-modellen en simulatie.

    Voor boven beschreven datapad en control unit van de encoderzijn modellen gemaakt in HHDL. De modellen zijn beschrevenin de file "MENCD6.HDL" die opgenomen is in bijlage B.Het schema van MENCD6 zoals dat gegeven is in figuur 3.1bevat twee extra componenten, te weten een inputbuffer(INBUF9) en een outputbuffer (OUTBUF4). Deze twee componentenzijn nodig om later de ingangs- en uitgangsbuffers van deencoder in te kunnen plaatsen. Deze buffers hebben geeninvloed op het functionele gedrag van de encoder; zijintroduceren alleen een extra combinatorisch delay in deingangs- en uitgangssignalen.De besturingssignalen SD en ESC zijn dubbel uitgevoerd alsuitgangssignaal van de control unit. (SD1,SD2jESC1,ESC2)Dit is gedaan om tot een betere verdeling te komen van debelasting van deze signalen. Beide signalen zijn nodig voorhet datapad en voor de buitenwereld.

    De HHDL-modellen zijn gesimuleerd met behulp van de exitatiesdie opgenomen zijn in de file "MANGA.SCL" (zie bijlage C). uitdeze simulatie bleek dat het gedrag van de modellenovereenkwam met het timingsdiagram van de encoder zoals datgegeven is in figuur 3.2.Voor alle vertragingstijden is standaard een vertraging van 10tijdseenheden genomen. Aan deze simulatie kunnen dan ook geenconclusies verbonden worden voor wat betreft de echtevertragingstijden van de diverse signalen.

  • HOOFDSTUK 3

    3.2.2 Het testontwerp.

    blz. 35

    De encoder is voorzien van een scanpad waarin alle flipflop'svan de encoder opgenomen zijn. De ingang van het scanpadwordt gevormd door de pin scr (scanpath in) van het datapad.Het scanpad verlaat het datapad weer via de uitgang BZO. Deuitgang BZO wordt rechtstreeks afgenomen van een datauitgangvan een flipflop.Vanaf BZO gaat het scanpad naar de control unit, waar deingang scr (scanpath in) de ingang vormt van het scanpad.Het scanpad verlaat de encoder weer via de uitgang ESC2, dieaan de uitgang de naam ESC krijgt.Het datapad en de control unit bevatten beiden een testpin(TEST) waarmee het circuit omgeschakeld kan worden tussennormaal bedrijf en test bedrijf.

  • HOOFDSTUK 3 blz. 36

    3.3 De architectuur van de decoder MDECD4.

    3.3.1 Het functioneel ontwerp.

    Als architectuur voor de decoder is gekozen voor een datapaddat bestuurd wordt door een control unit.Zie hiervoor figuur 3.4.

    soaTKOATTKOA 11OSYNCSSYNC

    OSCVIJ(8CO)

    o

    MDECD4o"-

    I L DOP OUTBur6DINB4 SOl soa Ai Y1 r-----7~

    Ai Y1 OPS TKD"T A2 Y2A2 Y2 cue DSYNC A3 Y3 r-----7

  • HOOFDSTUK 3 blz. 37

    van de decoder. Hiertoe z1Jn de 2 statussignalen STRTF (startof frame found) en ERR (error) ingevoerd waarmee het datapadstatusinformatie kan doorgeven aan de control unit. De controlunit bestuurt het datapad met behulp van driebesturingssignalen, te weten DCST (decoder start), DCSP(decoder stop) en DSC (decoder shift clock).De onderlinge relatie tussen deze 5 signalen en de relevantein- en uitgangssignalen van de decoder zijn weergegeven infiguur 3.4.

    STATES I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I I

    ClK LflSLflSlJ1JUlflJlS

    DSC~

    JLHJUlJl.JlfLJLJlJlJU

    SDI ISYNc.1ISYNc.2115 114 113112111110 19 I B 17 1615 1413 \211 10 lp

    STRTF nL

    _

    D~T U

    DCSP

    DSYNC/SSYNC --- ------'

    TKDAT --'

    SDa ~SYN 115 114 I 13 112 111 110 I 9 I B I 7 I 6 I 5 I 4 I 3 I 2 I 1 I 0 I p ~

    ERR :--~

    VW~ I

    Figuur 3.4: timingsdiagram van de decoder MDECD4.

    Het datapad bekijkt continue de binnenkomende data via ingangSDI. Als het datapad het begin van een frame gevonden heeft(een correct sync-patroon gevolgd door twee correcteManchesterbits) wordt het signaal STRTF actief. Het actiefworden van STRTF is voor de control unit van de decoder hetteken om te beginnen met een decodercyclus.In dezelfde klokperiode waarin STRTF actief is maakt decontrol unit het signaal DCST (laag-) actief. Dit is het tekenvoor het datapad dat vanaf nu de pariteit van de binnenkomendedatabits bijgehouden moet worden. Het datapad begint nu tevensmet het uitzenden van de gedecodeerde databits. Tijdens hetuitzenden van de gedecodeerde databits maakt het datapad hetsignaal TKDAT (take data) en een van de twee signalen DSYNC ofSSYNC actief afhankelijk van het feit of er een datawoord ofeen statuswoord ontvangen wordt.Terwijl het datapad het laatste gedecodeerde databit uitzendtmaakt de control unit het signaal DCSP (laag-) actief.

  • HOOFDSTUK 3 blz. 38

    Dit is het teken voor het datapad dat het signaal TKDAT en eenvan de twee signalen DSYNC of SSYNC weer inactief kunnenworden.Hierna geeft het statussignaal ERR uit het datapad aan of ereen fout is opgetreden in de ontvangen data. Het signaal ERRis laag actief, dus als dit signaal hoog is zijn er geenfouten opgetreden. De control unit geeft dit aan debuitenwereld aan door het actief maken van het signaal VW(val id word).Het datapad test op even of oneven pariteit van debinnenkomende data, afhankelijk van de waarde van hetingangssignaal DPS (decoder parity select).Het uitgangssignaal VW blijft hoog gedurend 4 klokperioden.

    HHDL-modellen en simulatie.

    Voor boven beschreven datapad en control unit van de decoderzijn modellen gemaakt in HHDL. Deze modellen zijn beschrevenin de file "MDECD4.HDL" die opgenomen is in bijlage B.Het schema van MDECD4 zoals dat gegeven is in figuur 3.1bevat twee extra componenten, te weten een inputbuffer(INBUF5) en een outputbuffer (OUTBUF6). Deze componenten z1Jnnodig om later de ingangs- en uitgangsbuffers van de encoderin te kunnen plaatsen. De buffers hebben geen invloed op hetfunctionele gedrag van de decoder; zij introduceren alleen eenextra combinatorisch delay in de ingangs- en uitgangssignalen.Het besturingssignaal DSC is dubbel uitgevoerd alsuitgangssignaal van de control unit. (DSCl en DSC2)Dit is gedaan om tot een betere verdeling te komen van debelasting van dit signaal. Dit signaal is nodig voor hetdatapad en voor de buitenwereld.Via het uitgangsbuffer wordt het signaal TKDAT naar tweeuitgangspinnen gevoerd (TKDAT en TKDAT1). Dit is gedaan omcompatible te blijven met de HD1553B Manchester encoderdecoder van Harris.

    De modellen zijn gesimuleerd met behulp van de exitaties dieopgenomen zijn in de file "MANGA.SCL" (zie bijlage C). uitdeze simulatie bleek dat het gedrag van de HHDL-modellenovereenkwam met het timingsdiagram van de decoder zoals datgegeven is in figuur 3.4.Voor alle vertragingstijden is standaard een vertraging van 10tijdseenheden genomen. Aan deze simulatie kunnen dan ook geenconclusies verbonden worden wat betreft de echtevertragingstijden van de diverse signalen.

  • HOOFDSTUK 3

    3.3.2 Het testontwerp.

    blz. 39

    De decoder is voorzien van een scanpad waar alle flipflop'svan de decoder in opgenomen zijn. De ingang van het scanpadwordt gevormd door de pin SDI van het datapad. Dit is mogelijkomdat de pin SDI rechtstreeks verbonden is met de dataingangvan een flipflop.Het scanpad verlaat het datapad weer via de uitgang SDO. Deuitgang SDO wordt rechtstreeks afgenomen van een datauitgangvan een flipflop.Vanaf SDO gaat het scanpad naar de control unit, waar deingang SCI (scanpath in) de ingang vormt van het scanpad.Het scanpad verlaat de encoder weer via de uitgang VWoHet datapad en de control unit bevatten beiden een testpin(TEST) waarmee het circuit omgeschakeld kan worden tussennormaal bedrijf en test bedrijf.

  • HOOFDSTUK 3 blz. 40

    3.4 De architectuur van het c10ck recovery circuit.

    3.4.1 Het functionele ontwerp.

    De taak van het clock recovery circuit is om de klok terug tewinnen uit de ontvangen serieele data.Als architectuur voor het clock recovery circuit is gekozenvoor het schema dat weergegeven is in figuur 3.5.

    CLKR

    AN

    NDATA

    PCK

    o1 T OS2

    INBUF4 TRF ~ ClK ClK6,

    ,< Ai Yi ----- UDI TRAN RESE11 SM< A2 Y2 ----- BOl OOUT ~ ,-- RESE12/ A3 Y3 ----- SZI

    ~ OClKTR,

    /

    ,,

    A~ Y4 // Sy,/

    OClK

    UOIBOlBZI

    RESE1

    Figuur 3.5: schema van het clock recovery circuit CLKR.

    Het terugwinnen van de klok gebeurt door de ontvangen data tebemonsteren met een frequentie die 6x zo groot is (DCLK) alsde frequentie van de klok die uit de data teruggewonnen moetworden (SMPCK). Met deze hoogste klok wordt een zesdeIer (D52)aangestuurd. Deze zesdeIer geeft een laag uitgangssignaaltijdens zijn eerste drie toestanden en een hooguitgangssignaal tijdens zijn laatste drie toestanden. Iederekeer als er een overgang optreedt in de binnenkomende data(het signaal TRAN is dan laag actief) wordt de zesdeIer naarzijn eerste toestand teruggezet. Hierdoor ontstaat aan deuitgang van de zesdeIer een kloksignaal (SMPCK) dat synchroonloopt met de data die het clock recovery circuit verlaat(DOUT) en waarvan de actieve, hoog gaande flank in het middenvan een databit valt.Merk wel op dat door deze wijze van synchroniseren deperiodetijd van SMPCK niet altijd 6x groter is dan deperiodetijd van DCLK. In het ongunstigste geval is deperiodetijd van SMPCK 4x groter dan de periodetijd van DCLK.Dit is de reden waarom de decoder, die als kloksignaal hetsignaal SMPCK krijgt, gedimensioneerd moet worden op eenklokfrequentie van 7.5 MHz als een klokfrequentie van 30 MHzgebruikt wordt voor DCLK.Omdat er klokperioden nodig zijn om de binnenkomende data tesynchroniseren met DCLK en er tijd nodig is om vast te stellenof er een overgang in de binnenkomende data optreedt zal hetsynchrone datasignaal DOUT dat het clock recovery circuitverlaat vijf klokperioden vertraagd zijn ten op zichte van debinnenkomende data UDI.

  • HOOFDSTUK 3 blz. 41

    Als er gebruikt gemaakt wordt van de twee bipolairedata ingangen BZI en BOl zal eerst uit deze twee signalen eenunipolair datasignaal gemaakt dienen te worden. Voor deverdere rest wordt dan dezelfde gang van zaken gevolgd alsboven beschreven bij het gebruik van de unipolaire dataingang.Voor alle duidelijkheid is in figuur 3.6 een timingsdiagramweergegeven met de belangrijkste signalen van het clockrecovery circuit.

    OCLK

    UOI

    OOUT

    TRAN ______---'IlL --JIlL------------

    SMPCK I Il I"

    '//////////////////////////////////////////////////////////////////////////////

    SZI

    OOUT

    SMPCK ~L -'

    TRAN _______.--JnL__--lIIL------JIIL------

    '---__-->11'--------------'

    Figuur 3.6: timingsdiagram van het clock recovery circuit.

    N.B. Er wordt of gebruik gemaakt van de bipolairedata ingangen of van de unipolaire dataingangi nooit vanbeide tegelijk!

    HHDL-modellen en simulatie.

    Van de boven beschreven componenten TRF (transition finder) enDS2 (zesdeIer) zijn modellen gemaakt in HHDL. Deze modellenstaan beschreven in de file "CLKR.HDL" die opgenomen is in debijlage B. In deze file is tevens een beschrijving opgenomenvan het ingangsbuffer INBUF4.Deze modellen zijn gesimuleerd met behulp van de exitaties dieopgenomen zijn in de file "MANGA.SCL" (zie bijlage C). uitdeze simulatie bleek dat het gedrag van de HHDL-modellenovereenkwam met het timingsdiagram van het clock recoverycircuit zoals dat gegeven is in figuur 3.6.Voor alle vertragingstijden is standaard een vertraging van 10tijdseenheden genomen. Aan deze simulatie kunnen dan ook geenconclusies verbonden worden wat betreft de echtevertragingstijden van de diverse signalen.

  • HOOFDSTUK 3

    3.3.2 Het testontwerp.

    blz. 42

    Omdat het clock recovery circuit op een 6x grotere frequentiemoet kunnen werken dan de encoder en de decoder is het nietmogelijk om het clock recovery circuit te voorzien van eenscanpad; de combinatorieke vertraging zou dan te groot worden.Omdat het clock recovery circuit toch 100% testbaar moet zijndienen alle drie de uitgangen ervan, te weten SMPCK, TRAN enDOUT, met een uitgangspin van het IC verbonden te worden.De component TRF bezit geen mogelijkheid om deze te resetten.Dit resetten kan indirect gebeuren door UDI en BOl laag en BZIhoog te maken en dan 6 klokperioden te wachten. Het circuitbevindt zich nu in een bekende toestand.

  • HOOFDSTUK 4 blz. 43

    HOOFDSTUK 4: IMPLEMENTATIE VAN DE MANCHESTER ENCODER DECODER.

    4.1 Functioneel ontwerp van de modules

    4.1.1 Het clock recovery circuit.

    De transition finder TRF.

    Het schema van de transition finder staat in bijlage A.Er zijn twee verschillende manieren waarop de transitionfinder kan werken: door middel van de bipolaire ingangen BOlen BZI of door middel van de unipolaire ingang UDI.Ieder van deze drie signalen wordt gebufferd door tweeflipflop's. Dit is gedaan omdat de drie binnenkomende signalenasychroon zijn ten opzichte van de gebruikte klok DCLK.Door nu twee flipflop's te gebruiken worden deze drie signalengesynchroniseerd.De twee ingangen BOl en BZI worden vervolgens aangesloten opeen liJK-flipflop", die in het schema opgebouwd is uit depoorten POl, P02 en P03 en de flipflop FF7.De uitgang van flipflop FF7 levert nu een unipolairdatasignaal dat afgeleid is uit de twee bipolairedatasignalen.Hierna worden met behulp van de poort P04 de twee unipolairesignalen (waarvan er een steeds inactief is) toegevoerd aan dedrie flipflop's FF8, FF9 en FF10.Door middel van de exclusive or poort die aangesloten is op deuitgangen van FF8 en FF9 wordt een signaalovergang in hetunipolaire aangegeven door een hoog-actieve puls op de uitgangTRAN.Voor het logisch functioneren van TRF zijn de flipflop's FF8,FF10 en FF11 overbodig. Deze worden hier alleen gebruikt omdathet combinatorische delay tussen twee flipflop's anders tegroot wordt.

    De zesdeIer DS2.

    Het schema van DS2 staat in bijlage A.De drie flipflop's vormen een Johnson counter waarbij deuitgang ge-inverteerd teruggekoppeld wordt op de ingang.Hierdoor vormen deze flipflop's een zesdeIer. Deze zesdeIerheeft twee reset ingangen: RESETl wordt aangestuurd door hetsignaal TRAN uit de transition finder; RESET2 is aangeslotenop de master reset lijn van het IC.

  • HOOFDSTUK 4 blz. 44

    4.1.2 Het datapad van de decoder.

    Het datapad van de decoder is opgesplitst in zes blokken dieieder een functioneel gedeelte van de taak van het datapaduitvoeren. Dit zijn:

    component taak

    SHF1.0

    ERRCHK

    DATLATTKLATDSLATSSLAT

    - detecteren van begin van een Manchesterframe(aangegeven door het signaal STRTF)

    - genereren van het signaal BIT dat de waardevan het ontvangen Manchesterbit weergeeft

    - genereren van het signaal EQ dat aangeeft dathet Manchesterbit correct is

    - genereren van het signaal MODE dat aangeeftof het ontvangen woord een statuswoord of eendatawoord is

    - pariteit bijhouden van de ontvangen data- onthouden of er een fout in de Manchesterdata

    is opgetreden.- decoderen van de Manchesterdata- genereren van het signaal TKDAT (take data)- genereren van het signaal DSYNC (data sync)- genereren van het signaal SSYNC (status sync)

    STRTF

    R

    o

    YNC

    D"'T

    YNC

    SCAN2

    ,DOP

    I O"'TLAT SQ(SCl) R (SCO) DIN DOUSTRTF EN"'BSDI SHF10 MODE ~f- ~t~ET

    (SCO)~ ClK -

    - RESET r-- -rESTBIT EO I"SCI ER,

    BIT EO T TKLA T TKE OCST DOU "(S DyBIT EO OCSP

    ClKDCST ERR I--- - RESETDPS seo il-- TEST

  • HOOFDSTUK 4

    Het schuifregister SHFIO.

    blz. 45

    De component SHF10 bewaart de laatste 10 via ingang SDIbinnengekomen dataniveau's in 10 flipflop's die in eenschuifregister zijn opgenomen. uit de uitgangen van dezeflipflop's worden de uitgangssignalen van SHF10 uitgepoort.Noem de uitgangen van de flipflop's ABC D E F G HIJ dangeldt:

    STRTF = (A exor B) (C exor D) (EFGnHnlnJ) (nEnFnGHIJ)

    Dit betekent dus dat STRTF actief hoog wordt als een syncpatroon, gevolgd door twee correcte Manchesterbits,gedectecteerd wordt.

    BIT = DHet signaal BIT geeft tijdens die klokperioden, dat DSC hoogis, aan wat de waarde van het Manchesterbit is.

    EQ = (C exor D)

    Het signaal EQ geeft tijdens die klokperioden, dat DSC hoogis, aan of het Manchester signaal correct is. Als EQ actief is(laag) geeft dit aan dat de twee helften van een Manchesterbitgelijk zijn en dus is dan een fout opgetreden.

    MODE = J

    Het signaal MODE geeft tijdens de klokperiode, dat STRTFactief is (en dus ook DCST), aan of er een datawoord of eenstatuswoord ontvangen is.

    N.B.: Voor de component SHF10 is in eerste instantie eenontwerp gemaakt dat bestond uit een state machine van 16states. Deze was dus te realiseren met behulp van 4flipflop's.De daarbij behorende logika van de next state decoderwerd echter zo complex dat het toch voordeliger is, watbetreft het totaal aantal gates en de snelheid, om metbehulp van 10 flipflop's de laatste 10 dataniveau's tebewaren en vanaf de uitgangen van de flipflop's deuitgangssignalen uit te poorten.

    De parity- en errorchecker ERRCHK.

    De component ERRCHK bevat twee state machines. De ene statemachine houdt de pariteit bij van de ontvangen Manchesterbitsaan de hand van de waarde van het signaal BIT dat uit decomponent SHF10 afkomstig is en de andere state machine houdtbij of er fouten zijn opgetreden tijdens het transport van de

  • HOOFDSTUK 4 blz. 46

    data door te kijken naar de waarde van het signaal EQ,eveneens afkomstig uit de component SHF10.De ASM-charts van beide state machines staan in figuur 4.2.

    Figuur 4.2: ASM-charts van ERRCHK

    Iedere state machine bestaat uit een flipflop. De ene flipflopgeeft de pariteit weer en de andere flipflop geeft aan of ereen fout is opgetreden. Beide flipflops kunnen alleenveranderen tijdens die klokperioden waarin het signaal DSChoog is.uit de uitgangssignalen van deze flipflop's en het signaal DPSwordt een samengesteld errorsignaal gegenereerd.Beide flipflops worden ge-initialiseerd door het signaal DCST.Hierdoor worden alle 17 bits (16 databits en 1 pariteitsbit)in een woord gecontroleerd.De Manchesterbit decoder DATLAT.

    De component DATLAT bestaat uit eenflipflop die de waarde van de ingang DINoverneemt als DSC hoog is en deze waardevasthoudt als DSC laag is.De ingang DIN is verbonden met hetsignaal BIT uit de component SHF10.De component DATLAT functioneert zo alsManchesterbit decoder.Het signaal DSC wordt op de ingang ENABaangesloten.De ASM-chart van DATLAT is weergegevenin figuur 4.3.

    Fig. 4.3: ASM-chart van DATLAT

  • HOOFDSTUK 4

    De uitgangssignaal-flipflops TKLAT, DSLAT en SSLAT.

    blz. 47

    De bovengenoemde drie componenten genereren ieder eenuitgangssignaal van de decoder. Deze uitgangssignalen wordenactief na het actief worden van het besturingssignaal DCST enworden weer inactief als het ingangssignaal DCSP actief wordt.De componenten DSLAT en SSLAT hebben ieder nog een data ingangom te bepalen wie van de twee signalen actief moet worden,afhankelijk van het signaal MODE uit SHF10.De ASM-charts van deze componenten staan in figuur 4.4.

    Figuur 4.4: ASM-charts van TKLAT, DSLAT en SSLAT.

  • HOOFDSTUK 4 blz. 48

    4.1.3 De control unit van de decoder.

    De control unit van de decoder bestaat uit 4 componenten.

    component taak

    DeON :DIV2 :DeNT :VWFF :

    besturing van de control unitgenereren van het signaal Dsecounter ten behoeve van timinggenereren van het signaal VW (valid word)

    Het schema van de control unit van de decoder is opgenomen infiguur 4.5.

    p

    ei

    eo)

    e2

    ST"-

    e 0 oéoeON OIV2

    ... STRTF oeST r- elK ose2 ...TF ~IJOFF eNTEN eNTEN oslK seo n RESETr--- RESET r-- TEST "-.--- TEST seI ose1

    / seI OS

    vVIJFF

    "-"- ERR VIJV )t\ VIJON VWVIJnFF VIJOFF ( SelK~'"- RESET

    r-- TESTr-- seI

    TDe NT

    "--f-- eE oesp "-L- RS VIJON r- oes

    elK VIJOFF I-- seAN2RESET seo

    Il-f--- TEST'-- seI

    DCU/

    /

    STR

    ERR

    seI

    elK

    RESET

    I TEST

    Figuur 4.5: schema van de control unit van de decoder (DCU).

    De besturing van de control unit DeON.

    Deze component vormt de besturing van de control unit van dedecoder.Deze state manchine staat te wachten totdat het signaal STRTFbinnekomt van het datapad. Zodra dit signaal binnenkomt maaktDeON zijn uitgangssignaal DeST actief (mealy machine).

  • HOOFDSTUK 4 blz. 49

    Tevens maakt deze component zijn uitgangssignaal CNTEN actief.Dit laatstgenoemde signaal dient als count enable voor decounter en blijft actief totdat de counter zijn terminal countbereikt heeft. (Het terminal count signaal is in dit geval hetsignaal VWOFF).De ASM-chart van DCON staat in figuur 4.6.

    Fig. 4.6: ASM-chart van DCON. Fig. 4.7: ASM-chart van DIV2.

    De decoder shift clock generator DIV2.

    De component DIV2 is een state machine bestaande uit eenflipflop die de klok door twee deelt als het ingangssignaalCNTEN actief is.Als het CNTEN signaal niet actief is, is het uitgangsgignaaI DSChoog. Voor de ASM-chart van deze component zie figuur 4.7.

    De counter van de decoder DCNT.

    De component DCNT is de counter van de Manchester decoder. Hijis uitgevoerd als een Liniair Feedback Shift Register (LFSR).Dit LFSR bestaat uit 5 bits, waarbij de exclusive nor vanbit 3 en bit 5 teruggekoppeld wordt op de ingang van bit 1.Een bit van deze counter bestaat uit de component CaIT.De component caIT is een universeel bouwblok om liniairteruggekoppelde schuifregisters te maken, dat voorzien isvan een synchrone reset (RS), een asynchrone reset (RESET),een count enable (CE) en een testpin (TEST).De asynchrone reset wordt aangesloten op de externe reset vande chip. De synchrone reset wordt aangesloten op het signaalCNTEN dat afkomstig is van de component DCON.De count enable (CE) wordt aangestuurd door het signaal DSC,zodat de counter alleen telt als DSC hoog is. Hierdoor kanvolstaan worden met 5 bits in plaats van 6 bits.uit het countbits van de teller en het signaal DSC worden debesturingssignalen DCSP, VWON en VWOFF uitgepoort.

  • HOOFDSTUK 4

    De uitgangsignaalflipflop VWFF.

    blz. 50

    Deze component genereert hetuitgangssignaal VWo Als het ingangssignaalVWON actief wordt (laag), dan zal VWFFkijken naar de waarde van zijn error-ingangERR. Is er geen error opgetreden (ERR = hi)dan wordt het signaal VW actief.Het uitgangssignaal VW blijft actief totdathet ingangssignaal VWOFF actief wordt. Voorde ASM-chart van deze component zie figuur4.8.

    Fig. 4.8: ASM-chart van VWFF.

  • HOOFDSTUK 4 blz. 51

    4.1.4 Het datapad van de encoder.

    Het datapad van de encoder is opgesplitst in vijf blokken dieieder een functioneel gedeelte van de taak van het datapaduitvoeren. Dit zijn:

    component taak

    EPAR

    SYNCOD (2x) :

    OUTFF :

    - bijhouden van de pariteit van de uit tezenden data

    - genereren van het syncpatroon- coderen van de 16 databits- coderen van het pariteitsbit- genereren van de lijnsignalen BOO en BZO

    Het schema van het datapad van de encoder (EDP) is weergegevenin figuur 4.9.

    o

    o0)

    oCDEDP COD OUTFF'- DIN DOU Di BOO /

    STRB SCO f--- BOSHFClK

    ..-- RESET.--- TEST

    SCI

    ECP

    EPAR - COD'-- DIN PAR DIN DOU 02 BZO /

    EPS STRB SCO f--- BZSTRB SCOI-- SHFSHF ClK CSC

    r-- ClK ~-+- - RESET- RESET Ir-- TEST

    r- TEST - SCI/ SCI S

    r-r- SYN

    SSEl SOU 03STRB1 SCO10-STRB2ClK

    Il--I-- - RESETIl-- TEST

    - SCI11IT2T3T"lClKRESETTEST

    '------- SCITRIN

    SDI

    EPS

    SCI

    SDiPENSEN1SEN2ClKRESETTESTESCTRIN

    SSEl

    Figuur 4.9: schema van het datapad van de encoder (EDP).

  • HOOFDSTUK 4

    Het pariteitsbit EPAR.

    blz. 52

    De component EPAR houdt de pariteit bij van de uit te zendendata. Deze component houdt de pariteit bij gedurende deperiode dat het signaal SD actief (hoog) is. De pariteit voorieder databit dient slechts eenmaal ge-evalueerd te worden.Dit dient dus om de andere klokperiode te gebeuren. Hiertoewordt het signaal ESC gebruikt als selectie signaal.De uitgang PAR geeft de pariteit aan van de binnengekomendata. Als SD inactief wordt geeft de uitgang PAR nog eenklokperiode later de waarde van het pariteitsbit aan.De ASM-chart van de component EPAR is weergegeven in figuur4.10.

    Fig.4.10: ASH-chartvan EPAR.

    Fig.4.11: ASM-chartvan COD.

    o

    Fig.4.12: ASM-chartvan SYN.

    De Hanchesterbit encoder COD.

    De component CaD komt twee keer voor in het datapad van deencoder. Deze component zet NRZ-data om naar Hanchestercode.De eerste component CaD (CD) codeert de 16 databits en wordtge-enabled door het signaal SD en de tweede component CaD (CP)codeert het pariteitsbit en wordt ge-enabled door het signaalPEN. Deze component is ontworpen als een mealy machine.Voor de ASM-chart van de component CaD zie figuur 4.11.

  • HOOFDSTUK 4

    De syncpatroon generator SYN.

    blz. 53

    Deze component genereert het sync-patroon (datasync ofstatussync) afhankelijk van de waarde van het ingangssignaalSSEL. De twee besturingssignalen SEN1 en SEN2 geven aanwanneer de eerste helft en wanneer de tweede helft van hetsync-patroon uitgezonden moet worden. De component isontworpen als een mealy machine.Voor de ASM-chart van de component SYN zie figuur 4.12.

    De lijnsignaalgenerator OUTFF.

    De component OUTFF telt de drie uitgangssignalen van decomponenten COD (2x) en SYN op en genereert hieruit en uit designalen SEN1, SEN2, SD en PEN de uitgangssignalen BOO en BZO.De signalen BOO en BZO worden rechtstreeks afgenomen van deuitgang van een flipflop en zijn daarom glitchfree.

  • HOOFDSTUK 4

    4.1.5 De control unit van de encoder.

    blz. 54

    De control unit van de decoder bestaat uit 3 componenten.

    component

    ECON :OIVECNTE

    taak

    - besturing van de control unit- genereren van het signaal ESC- counter ten behoeve van timing

    Het schema van de control unit van de encoder (ECU) isopgenomen in figuur 4.13.

    ECU

    ENE

    ClKRESETTESTSCI

    "

    "C.... ENE SEN1SEN2 SDi PE N

    "ESC SD2ClK ECON

    < RESETTESTSCI CE TC

    T J~ ClK RS CE TC

    ~f-- RESET CNTE Scanè~STCl

    DDIVE

    - ClK ESC- RESET

    TEST ESCseI

    SEN1SEN2SDi

    PEN

    S02

    Ese1

    Ese2(seo)

    Figuur 4.13: schema van de control unit van de encoder (ECU).

  • HOOFDSTUK 4 blz. 55

    De besturing van de control unit ECON.

    Deze component vormt de besturing van decontrol unit van de encoder.Deze state machine wordt gestart door hetingangssignaal ENE als dit actief wordttijdens een klokperiode dat ESC hoog is.Vervolgens worden de uitgangssignalen SEN1,SEN2, SD en PEN achtereenvolgens actief. Delengte van de tijdsperioden dat dezesignalen actief zijn wordt bepaald door hetsignaal TC dat afkomstig is van de counter.Het signaal CNTEN is het enable signaalvoor de counter die hierdoor het signaal TCzal gaan genereren op de juiste momenten.De ASM-chart van ECON staat in figuur 4.14.

    s~S1ESC

    Fig. 4.14: ASM-chartvan ECON.

    Fig. 4.15: ASM-chartvan DlVE.

    De counter van de encoder CNTE.

    De component CNTE is de counter van de Manchester encoder. Hijis uitgevoerd als een Liniair Feedback Shift Register (LFSR).Dit LFSR bestaat uit 6 bits, waarbij de exclusive nor vanbit 5 en bit 6 teruggekoppeld wordt op de ingang van bit 1.Een bit van deze counter bestaat uit de component CBlT.De component CBlT is dezelfde component die gebruikt wordtvoor de counter in de decoder.Uit het countbits van de teller wordt het besturingssignaalTC uitgepoort.

  • HOOFDSTUK 4

    De encoder shift clock generator DlVE.

    blz. 56

    De component DlVE is een state machine bestaande uit een flipflopdie de klok door twee deelt.Voor de ASM-chart van deze component zie figuur 4.15.

    4.1.6 De zesdeler 081.

    De drie flipflop's vormen een Johnson counter waarbij deuitgang ge-inverteerd teruggekoppeld wordt op de ingang.Hierdoor vormen deze flipflop's een zesdeIer. Deze zesdeIerheeft een reset ingang die is aangesloten op de master resetlijn van het IC.

  • HOOFDSTUK 4

    4.1.7 De input- en outputbuffers.

    Het inputbuffer IN4.

    blz. 57

    Dit buffer maakt deel uit van het schema van MANGA en bevat deinverterende ingangsbuffers voor de signalen DRESET (decoderreset), MRESET (master reset), DTEST (decoder test) en OUTTST(output enable for testsignaIs).Tevens is in deze component een "and"-poort opgenomen waardoorde decoder gereset wordt door zowel DRESET als MRESET.

    Het outputbuffer OUT3.

    Dit buffer maakt deel uit van het schema van MANGA en bevat deniet-inverterende tri-state outputbuffers voor de testsignalenvan het clock recovery circuit.Er is hier gekozen voor tri-state buffers, omdat de pinnenwaarop deze signalen naar buiten gevoerd worden bij deManchester encoder decoder van Harris, waarmee dit ontwerpcompatible moet zijn, een andere functie hebben. Door gebruikte maken van tri-state buffers blijft het hier beschreven ICcompatible met het Harris IC.

    Het inputbuffer INBUF4.

    Dit buffer maakt deel uit van het schema van CLKR en bevat deniet-inverterende ingangsbuffers voor de ingangssignalen vanhet clock recovery circuit.Het ingangsbuffer van het kloksignaal (DCLK) wordt gevolgddoor een inverter met een grotere drive-capaciteit omdat defan-out van dit signaal 15 bedraagt. (15 flipflops)

    Het inputbuffer INBUF9.

    Dit buffer maakt deel uit van het schema van MENCD6 en bevatde niet-inverterende ingangsbuffers voor de ingangssignalenvan de encoder.De inverterende ingangsbuffers van het kloksignaal, het resetsignaal (RESET) en het testsignaal (TEST) worden gevolgddoor een inverter met een grotere drive-capaciteit, omdat defan-out evenredig is met het aantal flipflops en dus vrijgroot is.

  • HOOFDSTUK 4

    Het uitgangsbuffer OUTBUF4~

    blz. 58

    Dit buffer maakt deel uit van het schema van MENCD6 en bevatde niet-inverterende outputbuffers voor de uitgangssignalenvan de encoder.

    Het ingangsbuffer DINB4.

    Dit buffer maakt deel uit van het schema van MDECD4 en bevatde niet-inverterende ingangsbuffers voor de ingangssignalenvan de decoder.De inverterende ingangsbuffers van het kloksignaal, het resetsignaal (RESET) en het testsignaal (TEST) worden gevolgddoor een inverter met een grotere drive-capaciteit, omdat defan-out evenredig is met het aantal flipflops en dus vrijgroot is.

    Het uitgangsbuffer OUTBUF6.

    Dit buffer maakt deel uit van het schema van MDECD4 en bevatde niet-inverterende outputbuffers voor de uitgangssignalenvan de encoder.

  • HOOFDSTUK 4

    4.1.8 RHDL-modellen en simulatie.

    blz. 59

    Van bovengenoemde componenten z1Jn HHDL-modellen gemaakt,opgenomen in bijlage A in de volgende files:CLKR.HDL componenten van het clock recovery circuitDDP.HDL componenten van het datapad van de decoderDCU.HDL componenten van de control unit van de decoderEDP.HDL componenten van het datapad van de encoderECU.HDL componenten van de control unit van de encoder

    Alle state machines zijn beschreven door middel van eenfunctietabel die weer afgeleid is van hun ASM-chart. Dezefunctietabel is geminimaliseerd met behulp van het programmaMOM (multiple output minimisation).De functietabellen en de geminimaliseerde functietabellen zijnte vinden in files IMD4FUN.TXT" en IME6FUN.TXT" in bijlage B.De HHDL-modellen zijn gesimuleerd en correct bevonden.Vervolgens is aan de hand van de geminimaliseerdefunctietabellen een schema op gate niveau gemaakt. Dit schemais ook weer gesimuleerd en correct bevonden. De schema's vande componenten zijn terug te vinden in bijlage A.

  • HOOFDSTUK 4

    4.2 Testontwerp van de modules.

    blz. GO

    Het testontwerp van de modules valt uiteen in twee gedeelten:dat gedeelte dat scan testbaar is (MDECD4 en MENCDG) en hetgedeelte dat niet scan testbaar is (de rest) en dat dus getestmoet worden door het exiteren van de uitgangen.

    Scan testbaar.

    Omdat er in de macro-bibliotheek van de "SystemGate"-familiegeen scanflipflop voorkomt is deze geconstrueerd uit een D-flipflop vooraf gegaan door een multiplexer. Er is zo eenscanflipflop gemaakt met een laagactieve reset en een flipflopmet een laagactieve clear.Voor de flipflops die voorkomen in de component SHF10 in hetdatapad van de decoder hoeven geen scanflipflops gebruikt teworden omdat de flipflops reeds in een schuifregisteropgenomen zijn. Er is dan ook geen verschil van werking vandeze component in testmode en in gewoon bedrijf.Omdat het programma dat de testvectoren genereert wel moetweten dat dit scanflipflops zijn, is er een componentge-introduceerd met dezelfde in- en uitgangen als een normaleflipflop en met hetzelfde functionele gedrag als een normaleflipflop. Tegen het programma dat testvectoren genereert wordtgezegd dat deze component ook een scanflipflop is.

    De testpatronen voor het testen van de scanpaden (een scanpadin de encoder en een scanpad in de decoder) zullen gegenereerdworden met behulp van het software pakket AMSAL, dat draait opde VAX.Momenteel zijn deze testvectoren nog niet gegenereerd vanwegeproblemen met de macro-bibliotheek van de componenten van de"SystemGate"-familie.Zodra deze problemen opgelost zijn zal dit zo snel mogelijkgedaan worden.

    Naast het testen van het IC met behulp van de testvectorenzoals deze door AMSAL gegenereerd zijn (worden), moet ook hetscanpad zelf getest worden. Dit kan geschieden door na eenreset van de gehele schakeling over te gaan in test-mode endan een "walking one" patroon op de scaningangen te zetten.Op de scan-uitgang moet dan gedurende evenveel klokperiodenals er flipflops in het scanpad zitten een "0" gezien worden,gevolgd door minimaal evenveel "l"-en.Dit is een vrij goede test op het functioneren van het scanpaden de resetlijnen, echter niet voor 100%. Dit is onmogelijk.(Wie bewaakt de bewakers: de romeinse keizers hadden daar almoeite mee.)

  • HOOFDSTUK 4

    Niet scan testbaar.

    blz. 61

    Het gedeelte van het circuit van MANGA, dat overblijft als deencoder en de decoder weggelaten worden, is niet scantestbaar.Het testen hiervan dient dan te geschieden door het aanbiedenvan exitaties aan de ingangen en het observeren van deuitgangen.Om te zorgen dat alle punten van de schakeling volledigobserveerbaar zijn, zijn de drie signalen TODIN, TDCLKIN enTRAN ieder met een uitgangspin van het IC verbonden.Voor het genereren van de testvectoren waarmee een 100%foutendekking gevonden kan worden van alle single stuck-atfouten is gebruik gemaakt van het software pakket HILO. Inbijlage E is het resultaat hiervan opgenomen in de file"HILOPRINT.LIS".uit deze file blijkt dat alle single stuck-at fouten tedetecteren zijn in 65 klokperioden met de gegeven exitaties.

  • HOOFDSTUK 5 blz. 62

    HOOFDSTUK 5: INTEGRATIE VAN DE MANCHESTER ENCODER DECODER.

    Met behulp van de componenten zoals die beschreven zijn in hetvorige hoofdstuk i