NIKHEF-K-DIGEL-1990
NL91C0194
Programmeerbare pseudo random detector puls patroon generator
Afstudeeropdracht van Ronald van der Putten NIKHEF-K Aasterda* ttfd DlGEL Begeleider E. Kok
UW MtlitfB Wft MMlM^.
Programmeerbare pseudo random detector puls patroon generator
Afstudeeropdracht van Ronald van der Putten NIKHEF-K Amsterdam afd. DIGEL B e a e l e i d e r E. Kok
Nil «el laf* «au kaataar wit 4a HaaatMnml I I U H r l» MIMMr Miwaarll a x n ••Kal* a**a»ra«ol>>kka>« war aakata «aartvlaa'aaa» utt kal antrum M H a»)« W i l » , halaatü»), « a r * » ) » al pruilt in « I I raaaart kaackrawta
Hat eel lag* va» k n l w r
Samenvatting In dit verslag wordt het ontwerp en realisatie van het digitale gedeelte van de programmeerbare pseudo random detector puis patroon generator besproken. Voor het ontwerp en realistatie is gebruik gemaakt van F-TTL en High speed special purpose ic's. in het bijzonder PAL's (15 ns). De ontwerp mogelijkheden, die de software voor het programmeren van de PAL's biedt, zijn zoveel mogelijk benut. Zo zijn counters, registers en een state machine met uitgebreide besturings mogelijkheden ontworpen. Zo is een geavanceerde 8 kanaals puls generator ontstaan, die bestuurt wordt via de VME systeem bus. De generator bezit een interne clock oscillator van 16 MHz. Het moment dat een puls gegenereerd wordt kan met een stap grootte van 25ü ps ingesteld worden. Er kunnen 2000 verschillende periodes (tijdvensters) opgeslagen worden, om daarmee een patroon te aenereren.
INHOUD Inleiding
1
1. Basis ontwerp 1.1 Ontwerpeisen 1.2 Principe werking generator 1.2.1 Met welke parameters 1.2.2 Gebruik van een pipeline . . . . 1.3 Resolutie van de diverse parameters . . 1.4 Basis blokschema
3 3 3 3 4 5 6
2 Het ontwerp 2.1 Inleiding 2.2 VME interface 2.3 Besturing en geheugen 2.3.1 De besturing 2.3.1.1 State machine 2.4 Data verwerking 2.4.1 Inleiding 2.4.2 Amplitude register 2.4.3 Vuur register 2.4.4 Selectie t„irx 2.5 De kanalen 2.6 Runflag 2.7 Het datawoord
S 8 8 8 10 12 12 12 12 13 13 13 14 15
3 realisatie 3.1 Inleiding 3.2 De besturing 3.2.2 Status en contol register . . . . 3.2.3 Besturing in detail 3.2.4 Address counter 3.2.5 Sequence counter 3.2.6 Vuur register 3.3 Het geheugen 3.4 Pulshoogte register 3.5 De kanalen 3.6 Testprocedures 3.6.1 Programmeerbare logica testen . . 3.6.2 Generator testen
16 16 16 19 19 20 20 23 23 23 23 23 25
4 Gebruiksaanwijzing 4.1 Het prograaneren van de generator 4.2 De verschillende modes 4.3 De data 4.4 Programmeer aanwijzingen
...
26 26 26 27 27
5 FASE 2 aanbevelingen
29
slot
30
PAL listings Adres map voor VME Overzicht revisie nummers diverse schema's Erata Generator eigenschappen Componenten opstelling Timing diagram van de generator
bijlage bijlage bijlage bijlage bijlage bijlage bijlage
2 3 4 5 6 7 8
Inleiding Dit verslag gaat over mijn afstudeeropdracht, die ik heb voltooid bij het NIKHEF te Amsterdam. Het NIKHEF is een önderzoeks instituut voor kern- en hogere energie fysica en bestaat uit 2 secties. De sectie H houdt zich bezig met de hogere energie fysica en voert voornamelijk experimenten met de versnellers in Genève en Hamburg uit. De sectie K, bij deze sectie heb ik de opdracht uitgevoerd, is er voor het kernfysisch onderzoek. Experimenten worden uitgevoerd met de elektronen versneller MEA (Medium Energy Accelerator) . Aan het begin van de versneller worden de te versnellen elektronen geïnjecteerd. In de bijna 200 meter lange tunnel, tussen injector en experimenten hal, worden de elektronen versneld en gebundeld. In de experimentenhal bevindt zich een trefplaat waar de elektronen op de kernen van het te onderzoeken materiaal botsen. Om de verstrooide deeltjes te registreren gebruikt men allerlei detectoren. Ze geven een puls af als ze een deeltje detecteren. Van deze deeltjes wordt in het algemeen het tijdstip de positie en of de impuls gemeten. Bij experimenten wordt veelal gebruikt gemaakt van detectoren, die één tot enige honderden kanalen bevatten. Deze detectoren zijn op randapparatuur aangesloten voor opslag en verwerking van de meetgegevens. Nu worden deze meetopstellingen met de versneller getest en afgeregeld wat dure bundeltijd kost, omdat daarvoor de versneller moet draaien. Een generator die pseudo random puis reeksen kan afvuren, die het karakter hebben van de detector pulspatronen, is de oplossing om niet de dure bundeltijd te hoeven gebruiken bij testen en afregelen van meetapparatuur.
V
KANAAL 0
"\r"
KANAAL 1
KANAAL 2
KANAAL 3
~~y~v~
v
' V 7 V ""A "
\r~
KANAAL 4
—>
t
Afbeelding 1: Voorbeeld van een detector pulspatroon met 5 detector kanalen
1
Het random karakter van de detector puls patroon uit zich voornamelijk in de onregelmatigheid van, zowel het moment waarop de pulsen verschijnen en in de pulshoogte. Ik heb een apparaat ontwikkeld dat dit soort botsings patronen zo goed mogelijk simuleert. Het idee hiervoor leefde al een paar jaar, maar de techniek was niet voorhanden om een generator te bouwen. Nu de techniek en mankracht aanwezig waren is er in nauwe samenwerking met de opdrachtgever (E. Kok) een pseudo random pulspatroon generator ontwikkeld. Voor de generator is gebruik gemaakt van highspeed programmable array logic, F en AC TTL logica en special purpose highspeed ic's. Zowel de propagation delay als settling tijden van de diverse ic's (PAL, register, buffer, geheugen en DAC) liggen tussen 6-25ns. Het project is in twee fase gesplitst, de eerste is een definitiestudie (hoe en wat moet er gesimuleerd worden; en ontwerp, realisatie van het digitale deel. In de tweede fase zal het analoge deel ontworpen en gerealiseerd moeten worden, deze fase zal binnen het kader van het afstudeerproject jammer genoeg niet door mij uitgevoerd kunnen worden.
2
1. Basis ontwerp 1.1 Ontwerpeisen Als hoofdtaak is gesteld, dat de te ontwerpen generator zo goed mogelijk oen detector moet simuleren. De pulsen die de detectoren afgeven hebben een random herhalings patroon. Om dit te kunnen simuleren moeten we eerst bekijken hoe zo een herhalings patroon er uit ziet, in figuur 2 is een voorbeeld te zien. Er is hier uitgegaan van een situatie met 2 detector kanalen (normaal èén tot enige honderden). De pulsen kunnen in amplitude verschillen en hebben ongeveer dezelfde daal- en stijgtijden. Door het random karakter (van te voren is niet exact te voorspellen wanneer de volgende puls komt) is het moeilijk de detectoren met een standaard pulsgenerator te simuleren. Er is dan ook gekozen voor het ontwikkelen van een 'pseudo' random generator. Hiermee kan een van te voren bedacht of een vroeger gemeten patroon gegenereerd worden. Aangezien de generator in het elektronica lab en bij de versneller gebruikt moet kunnen worden, moet deze makkelijk verplaatsbaar zijn. Als de generator uit een dertigtal ie's bestaat, is de omvang klein genoeg om de print makkelijk te kunnen verplaatsen. De generator zal dan ongeveer drie eurokaarten groot zijn. 1.2 Principe werking generator 1.2.1 Met welke parameters Voordat het patroon gesimuleerd kan worden, moet het vertaald worden in parameters, die als binaire waarden opgeslagen kunnen worden. Om deze parameters te verklaren, gebruiken we het voorbeeld uit figuur 2. In dit voorbeeld is niet aangegeven dat de amplitude ook kan variëren. t sequent; F?
"A Jcanaal
v/
0
Ai! / Xanaal
V
1 vuur
to Afbeelding
tl
t2
2: Puls herhalings patroon met 2 kanalen
3
Eerst wordt het totale patroon in de tijd opgedeeld in vensters, elk met zijn eigen tijdsduur (de verticale stippellijnen). In zo'n tijdvenster komt per kanaal maximaal één vuurpuls (of detector puls). Het begin van een tijdvenster geldt als een referentielijn voor alle kanalen, ze kunnen zo worden gesynchroniseerd t.o.v. elkaar. t,,,,,,,,, dit is de tijd waarna het volgende tijdvenster moet beginnen, deze parameter is onafhankelijk van het aantal kanalen. t„tr, dit is de tijdsduur van het begin van een venster tot de feitelijke vuurpuls. Deze parameter is kanaal afhankelijk, per kanaal komt er een waarde voor t,„rx (x = kanaalnummer) bij. vuur, dit is een boolean die aangeeft of het kanaal in een tijdvenster moet vuren. Ook hier geldt dat per kanaal een extra boolean nodig is. pulshoogte, dit is de amplitude van de vuurpuls. De vuurpuls is ongeveer 10 ns lang en heeft een daal- en stijgtijd van ±3 ns. Voor de pulshoogte geldt ook dat er per kanaal een extra variabele nodig is. Het deze parameters kan een detector patroon vertaald worden in getallen, die in binaire waarden opgeslagen kunnen worden. Het aantal binaire getallen is evenredig met het aantal kanalen. parameter omschrijving lengde tijdvenster begin van venster tot puls t,., r boolean (puis ja of nee) vuur pulshoogte amplitude van puls tabel
1: lijst van parameters
1.2.2 Gebruik van een pipeline
pOTW
1 r-J
DATA
klaar
Afbeelding
-y
PIPELINE l«»t«n
DATA
lr>l*cf«r»
UUnCN t*m 1
MTA
^ vurtn
3:De pipeline voor de data verweking
De parameters worden in een datawoord samengenomen (b.v. D0D7 t„„,ltl, D8-D15 t,„r0, D16-D23 vuur, D24-D32 pulshoogte, D32-D37 t mr l, ). Één datawoord stelt dan een 4
tijdvenster voor. Als deze datawoorden achter elkaar in een geheugen staan en één voor één worden uitgelezen en verwerkt, kan het detector puls patroon gegenereerd worden. Met verwerken wordt bedoelt, dat het datawoord vertaald wordt naar een stukje detector patroon (een tijdvenster}. Om op deze manier een patroon te kunnen genereren is een pipeline constructie nodig, het ene woord inlezen het vorige verwerken en het nieuwe woord kaarzetten om in te lezen (zie ook figuur 3). 1.3 Resolutie van de diverse parameters Er wordt een VME bus systeem gebruikt om de datawoorden in het geheugen te zetten. De VME-databus is maximaal 32 bits breed en er zal, om het aantal componenten laag te houden, voor een 32 bits datawoord gekozen worden. De keuze voor VME is gemaakt omdat dit systeem wordt toegepast bij de, door de generator te testen, apparatuur. Er is gekozen om 8 kanalen te simuleren. De parameters mogen samen niet meer dan 32 bits groot zijn. Om dit te bereiken zijn we tot de nu volgende indeling gekomen. Het tijdvenster maken wij instelbaar in 64 stappen, dit zijn dan 6 bits. De pulshoogte wordt alleen voor 2 kanalen instelbaar gemaakt en dan in S stapjes, dit zijn 2*3 = 6 bits. Per tijdvenster wordt er één t„,r van één kanaal veranderd. Bij 8 kanalen geeft dit 3 (kanaal selectie bits} + £ (databits) = 11 bits. Er blijft echter per kanaal 1 bit nodig voer de boolean vuur, dit zijn dus bij acht kanalen S bits. Opgeteld levert dit 31 bits op. Met deze keuze voor de inhoud van het datawoord is een schakeling te ontwerpen met ±30 ie's. De grenswaarden van de diverse parameters moeten nu nog vast gesteld worden. Voor t;eM„tf is een stap grote van 64 ns gesteld (door deze keuze kan n.et een systeem clock van 16 MHz gewerkt worden} en dit is tevens de minimale tijd. Voor de maximale geldt dus 64*64=4096 ns. De parameter tM,r is instelbaar in 256 stapjes met als maximale waarde 64 ns en dus een stap grootte van 64/256= 1/4 ns.
5
Voor de pulshoogte is een maximale waarde van 1 V gekozen en een minimale van 0 V. Cn deze waarden te kunnen realiseren noet er logica gebruikt worden net snelle setup, propagation, settling en access tijden. parameter nauwkeurigheid
Sbits 8 bits 3 bits Kbits 2*3bits
^ItMtltt ^Mii
kanaalno. vuur pulshoogte tabel
waarde max mm 64ns 0 ns
4us 64ns
-
-
0 V
1 V
2: lijst van parameters en de resoluties
1.4 Basis blokschema
setup I»
LflOEN
geheugen
J2_
JE •
IteJ üfiiMl
KI II]
I
l I
32 x 2K kits
-»7
pulsvorner I4U ami—
1
e
tnafaft
besturing VME
Afbeelding
0
adres telIer
(31
sync
4: Blokschema
Het blokschema bevat 5 blokken die samen de generator vormen. Centraal in het geheel staat het geheugen dat 2k groot is gehouden en waar het te genereren patroon in zit opgesla 6
gen. Via de VME-interface (blok 1) wordt het geheugen geladen en terug gelezen. De interface dient tevens om via de VME-bus de generator te besturen (starten en stoppen). Via de setup (blok 5) kan VME de waardes van t,lir en pulshoogtebij de kanalen benaderen (lezen en schrijven), dit biedt de mogelijkheid om vooraf aan het genereren van een patroon de t,lir' s en pulshoogtes een bepaalde waarde te geven. Het geheugen (blok 2} is 32 bits breed vanwege de breedte van het datawoord en 2 k diep, zodat er circa 2000 verschillende tijdvensters kunnen worden gegenereerd. Zo kan er maximaal gedurende 8 ms een detector patroon gesimuleerd worden, hetgeen een acceptabele lengte is. De besturing (blok 3) zorgt ervoor dat de juiste datawoorden op de juiste momenten (aan het begin van iedere tijdvenster) geladen en verwerkt worden. Aan het begin van iedere tijdvenster geeft de besturing een puls af aan do kanalen ter synchronisatie. De kanalen (blok 4) bestaan uit twee delen, een analoog- en digitaal deel. Het analoge deel bestaat uit een pulsvormer en een pulshoogte regeling, dit deel moet ontworpen worden in de 2e fase van dit project. Het digitale deel herbergt een circuit dat een digitale (detector) puls afgeeft, t,„r na een synchronisatie puls . Hier wordt ook de waarden van t„(r en de pulshoogte voor het kanaal bewaard.
7
2 Het ontwerp 2.1 Inleiding Van uit het blokschema is de schakeling verder ontworpen. In deze fase zijn er een aantal keuzes gemaakt. Deze keuzes hadden vooral betrekking om de eenvoud van het ontwerp te waarborgen, om zo aan de ontwerp eisen te blijven voldoen. Er is voor één grote interne databus gekozen, waar de diverse data verwerkende elementen en het control register aan gekoppeld zijn. Zowel VME als de generator gebruiken dezelfde interne datalijnen, om de data te transporteren. Het control/status register is ook aan deze bus gekoppeld en kan niet door VME gelezen/geschreven worden als de generator met een cyclus bezig is. De schakeling bestaat uit de volgende 4 delen de VME-interface, de besturing en het geheugen, de dataverwerking en de 8 kanalen. Deze onderdelen van de generator zullen apart worden besproken aan de hand van de verschillende blokschema' s. 2.2 VME interface De VME-interface is ontworpen door J. Stolte en binnen het kader van dit verslag, zullen alleen de signalen die belangrijk zijn voor de generator besproken worden (figuur 5) . De VME-interface is een manier om data vanuit een "centrale" computer in het geheugen te zetten en de generator te bedienen. De VME-databus wordt gescheiden van de databus van de generator door bidirectionele buffers, deze worden voor de richtings selectie door de interface bestuurd en ge'enabled' door het signaal runflag (zie ook 2.6). De interne adresbus is in tristat^ uitgevoerd, zodat zowel VME als de generator besturing een adres aan het geheugen kunnen aanbieden. De groep controle signalen zijn er om de registers (ook het control/status register) en het geheugen te kunnen lezen en schrijven. De generator zal op deze signalen reageren als runflag niet actief is. Het start en stop signaal zijn ook controle signalen, echter de generator dient altijd te reageren op het actief worden van deze 2 signalen, zodat de generator altijd stop gezet kan worden tijdens een cyclus. De schema's van de interface zijn te vinden in bijlage 1 en zullen verder onbesproken blijven. 2.3 Besturing en geheugen In dit gedeelte van de generator bevinden zich de belangrijkste elementen (figuur 6) . Het geheugen, waar het te genereren patroon in staat en de besturing, die de generator bestuurt en met de VME-interface het data verkeer regelt. Met behulp van het control/status register kan de generator ingesteld
8
cec
OATABÜS
rr
VME u n i t
A D R E S B V
ADBKS BSCODZB
3
ADBES •DTFEB ADRESBUS
=> MCTMCTII DKCODCJI
s
COWTRÖLT LOCXCA
Afbeelding
3
5: blokschema van de VME-interface
DATA BUS
3£
8TATVS/ COKTROL register
2~E Geheugen
ADRESBUS
d>
v CLOCK OSC.
APHtS COVWTTH
8X0. COUNTER
17 Besturing
Afbeelding
6: De besturing en het geheugen 9
worden om volgens een bepaalde mode (zie 3.2.2} een cyclus te doen (b.v.met een externe clock werken en in een loop de tijdvenstersafwerken (continu)}. Bij de clock oscillator is er rekening mee gehouden om de schakeling met een externe clock oscillator uit te voeren. De address counter is een 12 bits up counter met voor 11 bits tristate outputs, deze zijn nodig voor de adresbus. Het extra adresbit is nodig om bij een cyclus voor 2000 tijdvensters lsingle) na te gaan of de cyclus afgelopen is. De sequence counter is een down counter. Deze laad de tIMmtl waarde uit het geheugen en telt af tot nul, om vervolgens een nieuwe waarde in te laden. De klok frequentie maal de ingeladen waarde bepaalt dus de tijds duur van een venster. 2.3.1 De besturing De besturing bestaat uit twee gedeelten, een circuit om de runflag te genereren en een state machine.
stai t
I
s
EBTAPT
r
D K
CLOCK
WATT
RU.VfLAG
1
>CK f
5
St. Dp
start
u y r.. ur>
R
s ESTOP R
start
Afbeelding
7: Circuit om RUNFLAG te maken
Het circuit voor de runflag bestaat uit een drietal srlatches en een d-flipflop, zie ook figuur hier boven. Het start en stop signaal, gegeven door de VME-interface, worden met een sr-latch gevangen. De gevangen signalen heten respectiefelijk estart en estop. Estart zorgt ervoor dat op de volgende klokflank runflag actief wordt. Runflag zal de srlatch voor start cyclus setten en de volgende klokflank (1 klokflank na actief worden runflag) zal de generator 10
J*
/ \
" ' , Patroon star*
Patroon adres=C
patroon data
Seq .count NEE
JA Seq_j:oun ts=0 ? ) •
NEE
\
Patroon stop ?
\ JA f~~
Figuur 8a De state machine
T
NEE
kunnen gaan werken.Als estop actief is geworden, zal de start cyclus sr-latch gereset worden. Runflag blijft echter actief. Pas als de wait state (zie state machine 2.3.1.1) bereikt wordt, zal estart gereset worden. Op de volgende klokflank zal runflag gecleard worden (1 klokflank na het in een wait state komen) . Zo wordt er aan de eisen van het starten en stoppen van een cyclus voldaan (zie runflag 2.6) 2.3.1.1 State machine Het hart van de besturing (en de schakeling) vormt een state machine met een next state decoder, het state diagram is in figuur 8a pagina 12 te zien. In dit diagram is goed te zien hoe de generator werkt. Alle uata verwerkende elementen worden bestuurd door deze state machine. Een state als b.v. laad data, laat alle elementen de nodige data inladen. De machine blijft in wait totdat patroonstart geldig is (cyclus actief), dan zal t erst het datawoord op adres 0 klaar gezet worden (adres teller reset). de volgende state wordt het datawoord ingeladen en opdracht gegeven het volgende datawoord (adres 1) klaar te zetten. Afhankelijk van de waarde van t,,„me wordt er afgeteld tot nul. Daarna wordt (zonder patroonstop) adres 1 ingeladen en adres 2 kl^ai gezet. Zolang er geen patroonstop optreed (bij single cyclus: Ixrond true of cyclus niet meer actief en bij continuos cyclus : cyclus niet meer actief) zal de machine rond draaien en het adres met één verhogen, de data laten inladen en vuurpulsen geven. Als er een patroonstop optreed zal de machine in de wait state komen en wachten op een patroonstart. 2.4 Data verwerking 2.4.1 Inleiding Dit blok bestaat uit drie elementen te weten het amplitude register, het vuur register en tvuur selectie. Ze zitten tussen het geheugen en de kanalen in en verzorgen een stukje data verweking voor de kanalen. 2.4.2 Amplitude register Dit is een 6 bits register dat afhankelijk van de controle signalen data inlaad. Het register bestaat eigenlijk uit twee drie bits registers, di^ dezelfde controle signalen gebruiken. In deze registers staat de pulshoogte informatie van kanalen 0 en 1. Aan de uitgangen van de register zitten twee drie bits snelle DAC's (settlingtime ±3 ns) die een spanning afgeven, die een maat is voor de pulshoogte. VME kan dit register lezen en schrijven (zie 4 de gebruiksaanwijzing) .
12
DATA BUS
PULS AMPL
DAC
Kanaal o
DAC
Kanaal 1
reg. VUUR
Kanaal O
I l
reg.
Kanaal 7
DELAY
DKUX
Afbeelding
8: Data verwerkende elementen
2.4.3 Vuur register In dit register wordt de boolean vuur opgeslagen afhankelijk van de uitgangen van dit register wordt er een digitale detector puls gegenereert door de kanalen. De pipeline data verwerking is in dit onderdeel duidelijk aanwezig. Aan het begin van een tijdvenster worden, net de huidige boolean waarden, de desbetreffende kanalen gestart (data verwerkt) én de nieuwe booleans voor het volgende tijdvenster ingeladen (data inladen) (tegelijkertijd). 2.4.4 Selectie t((arx Dit is de delay demultiplexer, hier wordt een keuze gemaakt van welk kanaal de t„,f gaat veranderen. VME maakt ook gebruik van deze demultiplexer om een tflirx te kunnen veranderen. De uitgangs signalen gaan naar de controle inputs van de registers met t,llr (zie 2.5 kanalen). 2.5 De kanalen Er zijn 8 kanalen, er zal hier echter maar één kanaal besproken worden. Alle kanalen zijn identiek, behalve dan dat maar twee kanalen een amplitude regeling kennen. Het blok, in figuur 9, met de naam delay bevat een special purpose ie. Dit ie geeft met een instelbare vertraging een puls af. De vertragingstijd komt uit het register dat tMir 13
DATABUS
VUUR O
DELAY ._ —
~V~
.n._
~v
• Vanaal 0
LAAD O
A»plltudfc ü
7/
Afbeelding
9: Het blokschema van de kanalen
bevat. Dit register slaat de waarde t,„f op als laadO actief is (deze komt uit de demultiplexer zie 2.4.4). De triggerpuls voor de vertragingslijn wordt verkregen uit vuurO en de vuurpuls van de besturing (ter synchronisatie). De pulsvormer en pulshoogte regelaar moeten nog ontworpen worden en vallen buiten het bestek van dit verslag. De databus die langs alle kanalen moet gaan hoeft maar 8 bits breed te zijn, dit is de minimum breedte. Hierdoor wordt onnodig veel extra draden vermeden (zie ook 2.7). 2.6 Runflag Omdat er één interne databus wordt gebruikt mag VME deze bus niet gebruiken voor data transport als de generator werkt. Hiervoor is een seinpaal ontworpen met de naam runflag, deze wordt door de generator b&dient. als runflag actief is mag de generator werken en als runflag niet actief is mag VME data lezen en schrijven via de databus. Als eis wordt er gesteld, dat de generator minimaal 1 clockpuls wacht na het aktief worden van runflag alvorens te beginnen met een cyclus en minimaal 1 clockpuls eerder stopt dan runflag niet aktief wordt (zie figuur op de volgende pagina).
14
RUNFLAG
1
CYCLUS
1 1
I
2.7 Bet datawoord Door de bit positie van de parameters in het datawoord gunstig te kiezen, kunnen er in de schakeling componenten bespaard worden. Dit kan als VME en de generator dezelfde datalijnen gebruiken voor het datatransport, zo kunnen extra buffers worden vermeden. Als de 8 delay registers (per kanaal 1 ) , registers met de tllir waarden, op positie D8...D15 zitten, kunnen VME ivia 8 adressen) en het geheugen dezelfde datalijnen gebruiken om de data naar de t„,r registers te transporteren. Zo zijn er per kanaal maar 8 datalijnen nodig om de registers te lezen en te schrijven. Voor de rest van de variabelen is geen voorkeur voor een positie in het datawoord. Hieronder volgt een tabel met de positie van de diverse parameters in het datawoord. parameter
databits
pulshoogte 0 pulshoogte 1
D00...D02 D03...D05 D08...D15 D6,7.D16-21 D22...D24 D25...D30 D31
^fiir
vuur kanaal t|«ttict
vrij
sel.
tabel 3: inhoud van het datawoord
15
3 realisatie 3.1 Inleiding De schakeling is geraliseerd op e^n standaard VME-plank, die hier bij het NIKHEF ontwikkeld is. Dit is een dubbelzijdige printplaat niet een standaard VME-interface voorbereidt. De aard verbindingen op deze plank zijn slecht ontworpen en moesten verbeterd worden, dit kwam deels ook omdat er gebruik is gemaakt van snelle logica. De schema's van de generator zijn verdeeld in 4 delen besturing, geheugen, pulshoogte registers en t<m registers. De beschrijving van de inhoud van de programeerbare logica (PAL's) zijn terug te vinden in bijlage 2, bij de bespreking hier zal ik mij beperken tot de functionele werking van deze componenten. Bij het ontwepen van de functionele inhoud van. de programmeerbare logica is gebruik gemaakt van vergelijkingen, waarheids tabellen en state diagrammen. Een software pakket (ABEL) heeft deze beschrijvingen vertaald naar een formaat, waarmee de PAL's, m.b.v. een programmer, geprogrammeerd konden worden. De schema's van de VME-interface zijn terug te vinden in bijlage 1. Alle labels met VME erin zijn signalen naar of van VME. De nummers in de labels verwijzen naar andere tekeningen van de generator. In bijlage 8 is een tijddiagram te vinden ^ran de belangrijkste signalen van de generator en hun relatie. 3-2 Besturing 3.2.1 Inleiding In het schema op de volgende pagina is de besturing van de generator terug te vinden, de state machine samen met het circuit voor de runflag. Er zijn rechts 2 LED's te vinden, deze geven aan of de generator werkt (groen) en of VME de databus van de generator mag gebruiken (rood). In dit schema is cck het register met de boolean vuur te vinden samen met een circuit om de synchronisatie (vuur) pulsen te combineren. Rechts in het schema is ook een BNC conector te vinden om een externe clock signaal in te kunnen voeren. 3.2.2 Status en contol register Dit deel bestaat uit twee ie's een PAL (U8) en een buffer (U9). Deze buffer is nodig om de register inhoud terug te kunnen lezen vanuit VME. In de PAL is een 8 bits register geprogrammeerd met een reset voor het single bit als de single cyclus (2000 tijdvensters) is afgelopen. Er zijn 5 contrei bits vrij, de functie van de andere bits zijn in de tabel 4 te vinden. De andere bits kunnen in de toekomst nog een functie krijgen.
16
StatiM en control re«.
Li O N
..w o
i
Ï
o
ft
TOÜ < H
fiSffifê
MSSK
H 00 s o aaaaa«
CD
Tl
S
« C H O
3
•4
z a
[0
_JL_
2SS22S8
SSSSSS2Ï
......8 4 j a«aaaa
;
control bit 0 1 2
functie
omschrijving
externe / !interne clock pulshoogte niet veranderen single / !continue cyclus
signaal ENEXCLK ALOCK SINGLE
tabel 4: Inhoud status control/status register 3.2.3 Besturing in detail De state machine met next state decoder (uit figuur 8a) is in PAL U4 ondergebracht en het circuit voor RUNFLAG in PAL U7. In U7 zit ook een circuit om het control bit ALOCK te verwerken (zie de tabel 5). De namen NSL_ (Next State Load (L) ), NSW (Next State Wait (H) ), NSS (Next State Seq— (H) } en NSR (Next State address counter Reset (H) ) komen uit de Next State decoder en besturen de diverse componenten van de generator (adres teller, sequence teller, vuur register en runflag circuit). De beschrijving van de state machine is te vinden in 2.3.1.1, voor Patroon stop kan de formule (PatroonSTOP = ESTOP # SINGLE & PAU) en voor Patroon start (Patroonstart = start cyclus) ingevuld worden . Voor het RUNFLAG circuit wil ik verwijzen naar de figuur 4. Het F signaal uit de besturing is een teken dat er op de komende klok flank gevuurd moet worden, dit signaal ge'and' met de clock levert de synchronisatie puls op (zie ook 3.2.6). ALOCK
NSL_
LA
=Load Pulshoogte
L L H
H L X
H L L
X=don't care
tabel 5: Waarheids tabel voor p lshoogte ccntole signaal 3.2.4 Address counter Deze is gemaakt met 2 PAL's (U5 en U6) . Als RUNFLAG actief is moeten de counters reageren op de controle signalen NSW, NSL_ en NSR. Als runflag niet actief is dienen de uitgangen in High-z te staan. De counters moeten synchroon gereset worden als NSW of NSR actief zijn en tellen als NSL_ actief is. PAU is een indicatie dat de single cyclus afgelopen is en de besturing moet op dit signaal met een patroon stop reageren. De functie tabel 6 voor de counters staat op de volgende pagina. Hierbij moet worden opgemerkt dat counter U5, U6 bestuurd.
19
RUNFLAG HSL_ NSR NSW L H H H
X L H H
X L H L
functie
X L L H
HIGH-Z COUNT UP RESET RESET
tabel 6: Functie tabel voor address counter 3.2.5 Sequence counter De counter is ontworpen met één PAL (UI) , dit is een ripple down counter set parallel load. Als NSL_ actief is moet de teller de sequence waarde inladen. Bij NSS moet de counter aftellen. Er hoeft alleen een indicatie te r* jn. als de teller nul bereikt heeft. De besturing gebruikt - it signaal voor verdere verwerking, dit is namelijk het e in*, van een tijdvenster en het begin van een nieuw venster. Hieronder staat de functie tabel afgedrukt. NSL_ NSS L H
L H
functie LOAD COUNT DOWN
tabel 7: Functie tabel voor sequence counter 3.2.6 Vuur register Dit gedeelte van de schakeling bestaat uit drie ie's, 2 4 bits registers (U2 en U3) en een PAL (U22). De registers bevatten de boolean vuur, U2 voor de kanalen 0 t/m 3 en U3 voor de kanalen 4 t/m 7. U22 combineerd de synchroniseert de kanalen onderling volgens deze formule: startx * clock & vuurx & F Waarbij startx de start puls voor kanaal x is, vuurx de boolean in het register voor kanaal x en F het teken dat er op de komende clock flank gevuurd moet worden (zie ook de figuur hier onder).
Zn de PAL U22 zit ook een stukje voor de VME interface (dit is terug te vinden in de VME schema's), dat deel zal onbesproken blijven.
20
ID
V
V
«5 S
ID W
a
si
ftl
H
G
^ C * +*
t a »- »o •J o It ui ID o
•** 3 li
1
*
g o
&
ni Ö Ü Q
_1 Ö Q ü
z
-"frKa: ai m mam
*4
91CB
«o ti« w m M A m
Z
T 10
Cl (0
X I
Oi
Ü>
L L
5.
¥ •
*GH
z a / / /
z/ 0
! « "
»TS
ML
o 1 J Ü HHHHHHHHHHHH *H M n
9 vxc r- OOPlQHp] oo
j}}(((< LLLL 8- SS2- 0 A
W
I ID
•
V
i
L
H ll fi •H
*
•
O
0
H
1 J (0 m
X I k
«-I
I
I •?
8
YVYnu
c to L
k
J
ÏH
1 .
z a
* »
09 it «joj n Mil n ito:
k
1
t-h
mum A1
1
n HH aityuy©^wo)iipttir»d
n
2 p?
2 § t-rfcEJOOOOOOOOU W
Z7777777
Ö AlflMfiBHlfl»
&
II
(vcir1 »*i H
•i»iH»i
8) I""
5k
* w © « 0 0 0 0 T u; (i ra - J)
9~o* owo «o tr w
1_ •8
2-
13 0
3.3 Het geheugen Het geheugen (schema nummer 2) is opgebouwd met 4 8 bits x 2 k statische RAM's, van een type met een toegangs tijd van 20 ns. De geheugens worden vanuit VME gevuld en desgewenst tergelezen. Daarbij moet worden opgemerkt, dat het RMAR_ signaal van de interface nog ge'and' moet worden met het NOT runflag signaal (zie bijlage 6 erata). 3.4 Pulshoogte register Dit deel bestaat uit 3 ic's (te zien in schema 3), een PAL (U20) geprogrameert als register, een buffer om de inhoud van het register terug te kunnen lezen en een DAC om het analoge signaal voor de pulshoogte te maken. Het toevoegen van een DAC behoort tot fase 2 van het project. De PAL is een 6 bits register dat afhankelijk van RUNFLAG D0..D5 of D8..D12 inlaadt (zie functie tabel). Dit is omdat VME de data voor het register op de datalijnen D8..D12 aanbiedt en de data op D0..D5 in het geheugen wordt bewaard. RUNFLAG LA H H L L
H L X X
EA_ X X L H
functie LOAD NO LOAD NO
DO..D5 CHANGE D8..Dl2 CHANGE
tabel 6: Functie tabel voor amplitude register 3.5 De kanalen Dit schema, nummer 4, wordt 8 keer uitgevoerd voor de x in het schema moet bij de desbetreffende kanalen het kanaal nummer ingevuld worden. Er is hier om de t,„r waarde te bewaren voor een register gekozen. De buffer is om de inhoud vanuit VME te kunnen lezen. Voor de delay is de AD9500 een programmeerbare delay pulser gekozen. Als er een start puls op de ingang van de AD9500 wordt gegeven komt er, afhankelijk van de waarde op de data inputs van het ie, een x ns later een puls uit. Doze puis is dan de digitaal gegenereerde detector puls. Hiermee is dan ook het laatste onderdeel van de generator besproken. 3.6 Testprocedures 3.6.1 Programmeerbare logica testen De PAL's zijn na het programmeren aan de hand van testvectoren getest op hun goede werking. Doordat de testvectoren een weergave van de werkelijkheid zijn, kan na het testen met vrij grote zekerheid gezegd worden dat de PAL's goed functioneren. Wat niet getest kan worden is de samenwerking tussen de diverse PAL's, dit zal in de uiteindelijke schakeling moeten gebeuren.
72<|
3.6.2 Generator testen Er is geen procedure te bedenken die met een 100% nauwkeurigheid zegt dat de generator foutloos werkt. Wel kan er een uitputtende test gedaan worden die met grote waarschijnlijkheid zegt dat de generator goed functioneerd. Daarvoor moeten alle functies van de generator getest worden, voor een beschrijving zie 4.1 .
25
4 Gebruiksaanwijzing 4.1 Het programmeren van de generator Men moet de programmeer cyclus doorlopen zoals in de figuur hieronder staat aangegeven. Er kunnen drie soorten instructies met de VME gegeven worden: dataloos (starten en stoppen) , byte transfers ( control/status, pulshoogte en t„Ir registers) en lword transfers ( het geheugen). Men dient altijd eerst de generator te stoppen voordat er data verkeer mogelijk is tussen VME en de generator. Voor de adresering zie bijlage 3.
I STOP (VME H 27202E ) data loze inst \ /
Data inst. lezen/schrijven data instructies Lword / byte
/
\ /
START (VME H 27202A ) data loze inst
4.2 De verschillende modes De generator kan via het control/status register ingesteld worden om een bepaald soort cyclus af te werken. Er zijn in totaal 8 bits om daarmee de generator in te stellen, waarvan er nu 3 gebruikt zijn. Enexclk(H) (enable externe clock) D0 is het eerst bit uit het control/status register, hiermee kan de keuze gemaakt worden of de cyclus met een externe of met de interne clock gebeurd. Alock(H) (amplitude lock) is bit Dl en zorgt er voor dat tijdens een cyclus het amplitude register van beide kanalen niet veranderd van waarde.
26
Single(H) is bit D2 en hiermee wordt een keuze gemaakt tussen continu of een single cyclus. Single is hoog actief. Een single cyclus is één Keer alle tijdvensters genereren en dan stoppen, bij continu wordt er na de 2000 tijdvensters opnieuw begonnen met dezelfde datawoorden een patroon te genereren. 4.3 De data Het geheugen dient gevuld te worden met datawoorden, het eerst te generen tijdvenster moet op geheugen positie 0 zitten. De datawoorden moeten gemaakt zijn volgens de definitie uit 2.7 tabel 3 en hierbij moet rekening gehouden worden met de opmerkingen uit 4.4 programmeer aanwijzingen. De registers werden allemaal op D&..D7 gelezen en geschreven door VHE. De bits D6 en D7 van het amplitude register zijn altijd laag, het is een 6 bits register. Bit 0..2 zijn voor kanaal 0 de amplitude informatie en bit 3..5 is de amplitude informatie voor kanaal 1. De delay registers (met de tMir waardes) zijn 8 bits. Het eerste VHE adres bevat de waarde van kanaal 0 en de laatste de waarde van kanaal 7 (zie adresmap in bijlage 3). 4.4 Programmeer aanwijzingen Als men een patroon in het geheugen wil zetten moet men bij het samenstellen van de datawoorden met de volgende regels rekening houden: 1
- Men mag géén t,llf en pulshoogte waarde van een kanaal veranderen, als in het vorige tijdvenster door dit kanaal een puls wordt gegenereerd.
Door de pipeline (zie 1.2.2) verwerking wordt de data ingeladen voor het volgende venster en wordt er tegelijkertijd met de huidige data gevuurd. Als de tllir waarde in een register verandert zal de vertragings lijn deze waarde direct over proberen te nemen (met een settling tijd van maximaal 30 ns) , maar als de delay tegelijk gestart (een opdracht tot genereren van detector puls} is door de besturing, ontstaat er een probleem. Door de settling tijd van de delay lijn is de oude en nieuwe waarde (nog) niet (meer) geldig en is dus de vertraging van de start puls onbekend. Zo is dus niet bepaald wanneer de detector puls gegenereerd wordt. Voor het pulshoogte circuit geldt hetzelfde verhaal, maar voor delay lijn en t„lr moeten respectiefelijk DAC en pulshoogte gelezen worden. Echter de DAC heeft een settling tijd van 8 ns, hierdoor zou met de pulshoogte van het volgende venster gevuurd worden en is dus de amplitude wel bepaald van de detector puls. 2
-Er moet ieder venster één t,„r en één pulshoogte veranderen, er mag wel de zelfde waarden ingeladen worden.
27
Hier is de opmerking op zijn plaats dat als het ALOCK bit in het status/control register geset is er geen pulshoogte veranderingen kunnen optreden tijdens een cyclus (zie ook 4.2) . 3 ~tIMI(lct i s d e waarde wanneer het venster begint. aantal clock pulsen van het vorige venster (lengte). data ingeladen wordt, bepaalt t,tlIllt, het moment dat vuurd wordt met deze data en de volgende data word den.
Of het Als de er geingela-
28
5 FASE 2 ^«whevelinqen De pulsvormer, waarmee een bepaald type detector signall mee gesimuleerd wordt, kan na voorbeeld van de pulsvormer uit de PPG gebouwd worden. Er moet alleen rekening gehouden worden met het feit, dat er 8 gebouwd moeten worden, die identiek zijn. Voor de pulshoogte regeling is er al een vermenigvuldiger gevonden van analog devices. Voor de DAC adviseer ik de ZN454 van Plessey, deze DAC is snel en bevat 2 converters. Alle documentatie over deze twee componenten zijn te vinden bij E. kok.
29
slot In de bijlages is specifieke informatie te vinden over de generator en VME-interace. Voor de gebruikte onderdelen wil ik verwijzen naar de diverse databoeken en de verzameling sheets (van alle gebruikte ic's en de clock oscillator), deze zijn in te zien bij E. Kok. Hier eindigt mijn afstudeer project bij het NIKHEF-K. Ik wil hier een woord van dank richten tot mijn begeleider E. Kok en de ontwerper van de VME-interface J. Stolte, beide hebben mij zeer goed geholpen bij het volbrengen van het project. Nu is er een generator ontwikkeld die uniek is en waar veel technisch hoogstandjes in verwerkt zijn. Het apparaat zal zijn waarde, als simulator van de versneller met detectoren dan ook in de toekomst zeker bewijzen. Alkmaar 11 mei 1990 Ronald van der Putten.
30
tabtel vMCRUNFLft (nlMDt(SRMU LWORO * WW»ftI/0S1 f «RAMftR.WOWD • /DSOftVOSI) vDMl-SELH «(SRAM ftlAAOIf SREOHftSREGl ft IAAUftIAA01 f SREOH» SREOlft AA»AIAA04ftlAA03ftlAA01f SREOHtSREOLft AAHftlAAMft AMU) ST(TmMr>(valN|| ft «RAMftAAO*ftAAMftDAS
,M
*
ADDRESS DECODER, CONTROL LOOIC
P«l*
VKC-DATATRANIFEII INTERFACE/ PROWUMMMLe PULK GENERATM
nWM:
**
Ja*«0* 1042.21
NIKHEF-K •M.:0«iL
*** mition no.: |, « M » 1 I drawtnp no.;
^\4
BUNTl
PAL 22V10-15
i (VALSL ft I/WH ft I AAI 3 ft DSMftlDSftO)
CD
m E 03 LH
m m
/VRAM*
23
I (VALSL 4 YWRftAAI 3ftAAS * lAAOSAIAMKADSIftlDSIOO)
22
_£A_
I (VALSLftMM)ftAAI 3ftAAS ft IAAD3ftAAnftD51ftlDS100>
ji
KC
VALSL DS100 DSM
VALSLftAVRftlAA13ftDSiOftlDSM)
"Sr
DSM DSMftlDSI* «RESET
«Al 3
VALSLft/WRftAA13ft ANSAIAA03AIAA02ft
Dsaoftiosw IDStftOSfO» «RESET VALSLA/WRftAA!3ftAA05ftlAA03ftAA92ft DStOftlDSftO
LWORO
-W
R1
051
/VRA
ff —19 R2
O —it
/VRC
IDSlftDSW* «RESET VALSL • mn • — — — OStftlOSM «RL
/SRESET
R4
IDSlftOSH* -T «HESET VALSLft/WR» LWORO—~| DS1ftI DStO fSS O-i» RS
iDSiftOSto* «RESET
VALSLftI/WR ft AA13ft0S60 » IDSW)
VCLOCK
P2
PI
d
lib
A A ,,.
•^SSJËSSS
vcc*sv
P3
il. i5. iL & 2*>
>!b
&> 3lb
2? & & slb 1*
-12V
1*>
•12V
ala &> 3?c
fe* [-Iy-
Jf» ï'c
IS
/VRH
"fe*
VEE sav
«*• INSTRUCTION DECODER1, DIRECTION SWITCH pw*sf:
VME-QATATRANSF ER INTERFACE/ PROGRAMMABLE PULSE OENERATOR
"""
|MP MOM
*"*
904M1
NIKHEF-K •fd.:0K2EL
CMdMft
mrittonno.: s, 904S-04 *«wtng no.:
A A
PAL22VKM5
•
(T]_2« t
>
m- -
2
0*
Qt
ID" AA1I
i
M
Qt
4
07
07
s
M
OI
Ma
GD
AA»
MQ7
GJ
•
0 GD GD
AMA
AA03 AA02
CK
«
OS
as
7
04
( •
03
o» a>
02
Q2
0
01
Q1
1
00
00
,J PAL22V10-15
• 1 >CK AA02
13
DO
QO
oT .RUNFL
0'
PAL22V10-19 MOS
• /6WD0 2
AA03
MO»
~ 3-
loutfl wtocwr
4-
_K24_
WK rrj_a2B-
E B E
»-
loutof*
S^
7-
/NSL RÜNFL
ENEXCLK
"1S
CLOCK
•E
SVSCLOCK
'*•
E
EXTCLOCK
[7]
Vta 0CK
pwid:
-
nMW:
**
ADDRESS BUFFER, INSTRUCTION DECODER 2 VME-OATATRANSf ER INTERFACE / PROGRAMMABLE PULSE GENERATOR
J^mnlrt
«Mn-» NtKHEF-K AM.: WOEL
dwdwd: IMHAW.: », (043-1} orwwnp H M
É^1^2
a-wn
i :'M utmMi
:mp S»OZ
•«ow «kaf
*•***
s«o
:MKH
yoxvyiNio inrw mvtmwooud
f»»
I
I
01
I
0*
I
M
0»
I
I
I
d
^m«iw>
:j*|jatf
•NVMMHjiM- 1'0NMWDVK)0MWIU.-1NA
I
«
im HUM
/lOMMliWUMIMVyiVXVO-lMA
I
•WH
CD
:•*• Of
01
I
I
S"0»l
I
I
I
OCl
Ml
Oil
001
M
Of
0Z
01
mmhtomiwwa
OS
0»
K
M
01
0
I I I I I I I I I I I I I I I I I I II
H0MS'1O3US
'Nvuswras
I
I
I
I
I' I
CM
U
I
M M
I
I
0»
M
I
01
I
01
I
0
I
I
I
I SUMI
I I OCl
Ml
I
I
Oil
Ml
I I I M
M
0*
M
I
OS
I
0»
I
I
M
I
01
I
I
I
(fl-M-M) t
WWM
iMMWMI
,wm
•MO» 0 * * |
•P^C^N*
ii-g||
»«!•»•»—t iftomuM -w» aw (»
SMO ««0
f »
f«0
vut f
U01VMINIO H K M I U V M N V M M I M / B9V4M11MI MlitNVUiVIVa-aNA
,* wi* ••pMUMf
OlMIOMiNOOMOiH-irMMVM'OlëAVlKMMVHMMilPMii «'ON NVMOVM DMWH1'MA
nop»»—immm <w-aw u
tl
MVM
(l
•M*|m»M
,m
Mf«ttA**ltUIMttW)
r - t OMA/toom*
HOMS'IOIUS 'NVUCMIK
I«'M
«J
I
I
M
0»
I
K
01
01
1
»»l
1 0(11 0111 0011 M1 011 M1 001 Of1
KI
OC
M
Oi
ZO
30
40
SO
I
I
I
I
70
I
80
90
100
110
120
130
I
I
I
I
I
I
0
140 n S
I
I
I J L
1
10
20
30
40
1
1
1
1
1 10
1 20
1 30
1 40
SO
so 1
70
1 60
I 70
SO nS
1
1
SELKSfWM. SREGL.SREGH
I 100
I
I
I
110
120
130
wwat eaaa «•KM
1) SMupTkna/EloCPof 74F379R«gtaMr 2) CPPuta» Width ot 74F3 7» Ragistar
I
1 0 till*:
CrMcal Timing VafciM wntffwiMfl vy*
I 140 nS
SOnS 20 nS
damandad mtaivalua «nS 5 nS
panot: (
) valid I n d valid
nam»: dais:
1 SO
I 1 «0 nS
1
1
VME- TIMING DIAGRAM NO. 3 -Writ* lo DELAV REGISTERVME-DATA TRANSFER INTERFACE / PROGRAMMABLE PULSE GENERATOR Jaap stolt* •0-OSS»
chaokad: rsvbior no.:
1 (M-03.19)
1
SELH.SflAW. SRECL.SREGH
/OTACK
NI*: VME. TIMING DIAGRAM NO. 4 -WrH« lo AMPLIT. REG. or CONTROL REG.. CrMcal Timing v a k » * ( A^M^m^mlm*^
hui
1) S*upT»n»/EloCPolPAL22V10-1S 2) CPPuh» Width ot PAL22Vt0 15
«wilcm VthM 60 nS 20 nS
demanded min. ««hi* l3nS 10 nS
P*" «»:
> v«Hd
VME-DATA TRANSFER INTERFACE / PROGRAMMABLE PULSE GENERATOR
fc
l j j « S IH* *a "
n«m«: Jaap Moita ««•:
90022I
chtdtad: «vision no.: i («0-03-15)
^ ^ ^^
1• V
•o
Ion
i 5 2 S £
fr
&
K
££ 2 *
21E K Z
UI UJ a lil
53
M u. O. 3 3k i"i C B «1
s a <
1
i
Li •
!
08
I 8
— 8 •o •
S—
•8
S—
3
11 co o
f
E P
3 E ü
V
8
§
1 g
I
§ S
S
si i! i ü Si
ir
ui **
2
£
s >
j
i
ifi
1•
£2 1
i
il
•;
i >
8—
,, ?
SS **
IMNO
o 6 <
T>
£; O
I
•
1 i
Mille plicitr t i t l e 'FIOClilMIIW U U IlIUtf FftSCIIIUTOt i bits parallel load aid don couter SIQDIICI COUTH skeet 1 code: Il lould fii der Pittet IIIHF I t e b ! ! , MM' PCI
deiice 'P22I1I';
'upats CLQCUI,Dt.D2,D3,D4.D5 HSL,IJS
pin 1,2,3,4,5,6,1; pit l t . l l ; "bestariifs sijaalti
'oitpits gi,Qi,g2,Q],gM* Seq_coutisl
pil 1 4 , 1 5 , 1 U U U I ; "lot isei pil lï; "output
IMM3.0MMI Seqjoiitisl
Istjpe 'pM.tej'; Istfpe 'p«s,«i ;
I,M,l.CI •iip lit
i f f f•&•r>b*r«U« t
[B5,M,I),IM1,N]; [Se(.cowtisl,ö5,8«,Q3,32,81,80;
Deze couter writ gebriibt oi de ncbttijd t u i n tiee m r pilsei iist te leggei. De tijd is ii te stellet ii ft stippel, Ir lordt eei qetil iigeladei dit ttjeteli rordt tot nil ei ligt tissei I ei (3. De relatie voor de ncittijd is fitis * x * Mis, iiarbi) x btt geladen getal is. De l i i i n i ncbttijd is idis, dit is afiutelijl Til de clocifregaeitie. Uiten de Seq,conist lirgaig rordt gebruist, de adert oitgaigei zija ïodig voor de couter lerüig TU ie PIL. eqiatiois
81
81
Q2
:= !ISL t !ISS I «I I 1ISUISJ i !QI ISL i !ISS t DP ; :* !IS1. k !I5S k 811 !ISLi Kik (Ql $ !Qf) ISL k !ISS k 0! ; :-- HSL t !ISS k «2 i 'ISWISS k
Bijlage 2: i
'hold i
'coiitdors 'preload 'bold |
"coutdon 'preload 'bold
93
(92 S i 31 4 !SÜ) ISL 4 ISS 4 12 ;
"e aait Jon "preload
ISL 4 ISS 4 93 < RSL 4 ISS k (93 SI 91 4 !91 4 !92)> I ISL 4 ISS 4 0) ;
'bold "coïntdom "preload
94
"hold ISL 4 ISS 4 Q4 t ISL 4 ISS 4 (94 S I 914 !?1 4 '32 4 IQDJf'cautioK "preload ISL 4 ISS 4 Dt ;
95
ISL 4 ISL 4 (95 S I ISL 4
"bold K i k gs I ISS 4 gi ü31 4!92 4!9) fi!Q4Ht 'coutdoio ISS 4 05 ; "preload
Seq.coutisl '- !QI 4 !gi 4 !Q2 4 !g) 4 !Q4 4 !Q5; " coniter " I test lectors 'laad ' l[ CLOCI, ISL , ISS , iip ] -) m t ) [ Cl, I , l , "h3N -) 'UV, 'preload I CI , I , L , "bill -) U I ; 'Sea, coast is I test lectors 'couitdon' l[ CLOCI, ISL , ISS , iip f Cl , I , l [ Cl , L , I ( Cl , I , L t Cl , L , I
1 -) UU) , 'hit] -) h4l "set.cout is t , I ] -> '»3F 'coiïtdon , ' M l -> "Ml'preload , I ] -> 'Ml 'coiitdoti Seq.cout is f
test lectors 'kalt' ([ CLOCI , ISL , ISS , iip ] -) lit) [ Cl , I , L , ' U U -> 'aJF; "preload I CI , L , L , I ] -) 'b3F; 'balt
eid
Bijlage 2: ii
loiile plilISTIIlIIC titlt 'PIOCIIIUIIIUI U U IUMS PILSCimiTOI lestuiifs leieelte TII ie fHeritor lould i a ier Pittei Iiuir-i feb 12, mi' PC4
ithce 'P22W';
'upits CLOCI,Sl,SIKLI.!ISTOP
iiijui.tmuc
"oitpits I»,!ISL,IS1,ISS
r,psTor,ncn ST1.ST2 HCIMJUSMSU.PSTOP ISL STlrST2 stttes
'-
I,U,I,CI=
pil 1.3,4.6; pil 11,13,11; pil 21,22,21,21; pis 1UU5; pia 11,15; Istfpe 'p<s,coi'; Istfpe 'lej.cot'; Istjpe 'pos.rej';
(ST2, TH; i,i\.i...i.,.c;
'state laardes fflIT = 1; LUD ' 1; PIISET -- 2; S1Q = 3; "state rej taaries s i = !ST2 i !ST1; si -- 1ST2 4 ST1; sr -- ST21 !ST1; s< -- ST2 k ST1; state_iiifrai it PCI states state I1IT
: If M l TUI PIESET ILSE HIT;
state PIISET : GOTO LUD; state LUD
: IP !SI TUI SIQ ELS! IP ESTOP TUI UIT ELSE LUI;
state SEQ
: IT !SI TUI SIQ ELSE I? ESTOP TUI UIT ELSE LUD;
efiatiois P
s ISL 4 !sr;
Bijlage
2:
iii
MWP -- JlICtl 4 Fill; I1CIT --n;
ISI = » 4 !IH I Isl | sq) 4 SI 4 ISTOP ; K I "- sr | (si | sq) 4 SI 4 'ISTOP; I » = si 4 lil; ISS -" (si | s<) 4 !SI; test rectors 'state u c i i i e ' ([CIÖCI, i n , SI, ISTOP, states UIT Cl ,1
UIT FIISIT LUB
Cl Cl Cl Cl Cl ( Cl
SIQ
w
UIT
test rectors 'PSTOP' USIÏCLI, Plll)->PJTOPI l)-> L I L H l [ b LJ-) l ( I l)-> I ( I
eii
Bijlage
2:
iv
[ states, IS1 SL, t ;i, is [UIT [ FIISIT. (LUB , [SIQ , [SIQ , [UIT , [UIT ,
Ui :IT]
•olile pldadrescouter
title 'nociiiuiiiui uu mui.; rikseuiuToi i bits ip eouter iet tri state oitpits U1IISS C0HTI1 skeet 1 cole: 15 loiali tji der Pittei IIIIIFK fek 21, 1MV PCS
deriee 'P22I1I';
'iipits CLQCI,K1,KI,!KL
P» 1,3,5,1; pit J; pii 11;
ïmuc TIST 'oitpits 11,11,12,13,11,15
trcofiuim
pil 2),22,21,2I,1«,U; pil H,15,14;
15,14,13,12,11,il if,eom,ttM?
Istjpe 'pos,rei'; Istfpe 'pos.coi';
mts
[15,IÜ1,1UUI)
f
l i t is ee* 4 kits ip eouter iet enkle io|elijkkeid ei de lojelijkieid oi eei tieede eouter te stirei. le eouter telt ils I$L_ ei IWL1C actief zijl. Us 131FUC liet actief is daï ü j i de lituifei kia>up. lis KI of ISf actief zijl dai lordt de teller fereset. TtST is toefetoejd oi de teller iikelijk op zijl foede lerkiu te kuiei testes, lornal zal deze iifiM iet L zijl mboidei. euatiois
II
11
:* MKH KI) i !Wt i I I I Kil !ll I TEST;
'reset
:•• MISHI5I) Ü K L i U I
'reset
KLi (11 $ II) TIST;
12
13
I
" KIMI KI) 1 !KL i 121 KLI 112 J ( 1 1 1 I I ) ) TIST;
I
:-- KISIIISI) ÜISLUJI KLI
Bijlage 2: v
'coutip
'coutip
'reset 'coutip
'reset
TA :z 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
• i n . <•• ' I N . <-
' in. (' in. <' Ml. <• 3W. <-
• in. <' in. <' SM. <-
' in. (' 1H. (-
' in. <' sn. <'• Ml. (-
' tn. <' W, <-
' in. <' in. <»I»1. • m. <' JH. (-
1 1
' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '
1 1 1 1 I 1 1 1 1 1 1 1 1 1 1 I 1 1 1 1
'13 '13 'Ï3 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13 '13
1 1 ] 1 1 1 1 1 ] 1 1 1 ] 1 ) 1 1 ] 1 ]
it u i moi.
I ' 1 ' i '13 ] S11M01' ISl 'ISl ' ISl '13013 11 ,11103, siowOtt)
• w. <-1 i (sim (- ( u u 1' 1*
'1 ' 1 ' 1 '1 '1 ' 1 '1 ' 1 '1 ' 1 '1 '1 '1 ' 1 ' 1 '1 ' 1 ' 1 '1 ' 1
aBBtCxg
' i ) <- ( i ' i 1 (- 1 i '
1 1
' T 1 ' 1 '13 ' 1 ' 1 ' 1 '13
JC
1 1
u i moi.
' 1 ' 1 ' i '13 1 ' T 1 ' i '13 1 IC 111 1101. 1 ' I ' ï 1 <- M ' I ' 1 ' 1 ' 1 '13 ) 1 ' 1 ' i ] (- ( i 1 '13 1 JC 111 0101. I ' I ' 1 1 {- M ' i ' i ' i ' 1 '13 1 II '1IS1I '11603) (- [ ISLl' 3111111' 1SI' 1SI ' ISl '13013 11 JUU03 , siopaOH) 1' 1'
1 1
' i 1 <- [ i ' ' i ] <-1 i *
'
I 1
i *r i '
'ISli 1 (ISl f ISl) -•• am •111 111 m Cï! t l ! 511 (ISIIISI)i f ISl :•• 1 1 1 0 3 219)110)»lift 1001 1» t " l t sliui]»q . .'num , n •' 311111! -- SHfl 'I1"l '•»"«.
i««.
'UU K ( M 1 I I 1 tl 1 tl 1 Hl S S!) 11SI
I smsii i (isi I isiii ==
5!
'ISU
'•in». *"".
Kin i n ! ti i en s ui f 151 I H M S I Ü W H ISl) i =:
'au <«!"".
I
((« 1 11 1 tl) S tl)
11
[ CI, 1 , I CI, 1 ( CI , 1 ( CI, I , [ CI, 1 , 1 CI, 1 I CI, I [ CI, 1 [ CI, 1 I CI, 1 [ CI, 1 [ CI, I I CI, I i CI, I [ CI, 1 ( CI, 1 I CI, 1 I CI, I I CI, L
eid
Bijlage 2: vii
L I I I I L L L L L L t L L I L , 1 1 L , L
] -) 1 -> ) -) ] -) 1 -) ) -) ] -> ) -) 1 -) J -) ] -) ] -) ] -) J -) ] -) ] -) - ) 1 -) 1 -)
'kl2 ; 'kl3 ; 'U4 ; "115 ; 'kl« ; 'kll ; 'kit ; 'kl» ; 'kli ; 'kll : *L1C ; 'klD ; 'kll ; 'klf ; 'k2* ; 'k21 ; 'k22 ; 'k21 ; 'Ml ;
todile pldadrescoiiter title PIOdUUHlllE1111 UIULS PILSCIIEUTOl ibits ip conter iet tri state oitpits IDDIESSJOOITEI skeet 1 code: li tevisioïcode I
loiild tai der Pittei PGé
IIIIEH
april i, 19)1'
derke 'P22T1I';
'iipits CMCI,ti\CB,H TEST
pit 1,11,9,!; pii (j'upst 01 device te "testes
"outputs iMMMMlMU
pis 23,22,21,21,19,18;
iMMMS.Ui.lll
Istipe >s,reg';
l,i,I,Z,CE = IDIES =
1,»,.I.,.Z.,.C; [IIUIUUUUM;
Dit is ees ( bits ip COM ter iet eiable logelijtkeid. De coaster telt ais CO ei II actief zijl. lis El tiet actief is dn zijl de titgaigei bigk-iip. Us IE ei El actief zijl dn nrdt de teller gereset. TEST is toegevoegd oi de teller ssel ei saiieüji te iinei testei. lomal zal deze iigaig set L rerboidei zijn. tgiatiois
li
:•• !IE 1 !C0 k l i l !li TEST;
17
:= !1E i !C0 4 17 1 Cot (11 $ l i ) TEST;
IS
19
I
|
"reset 'coiitip
"reset "coistup
:-- III 1 !CU k 18 | Cut Ui 5 (17 1 l i l ) I TEST;
'reset
:= ilE k !C0 t 19 I CO 4 (19 $ (It i 1 7 1 1 0 ) I TEST;
'reset
Bijlage 2: viii
"coutip
"cosstap
lit
111
:= III 4 !CD 4 HI I CI 4 {HIS 11)4 114 17 4 10) | «ST;
'reset
i : !1E 4 !CD 4 HI CI 4 (111 S (HI 4 1) 1 It 4 l? 4 IS!) I TUT;
'reset
liable IDIIS » II ; ctoi
QOIUI I, II TI! 1 If test Tl I I 1 I I ! I I I I I I I I I I 1 I I I I I I I I I I I I E I I I B 1 I I
ir Bijlage
2:
U1K) 'lit ; 'UStT C0I11 ip nriiif '13! Ill •cour '111 '112 113 '114 115
lit '111 lit 11) 111 '111 1IC '1ID 'HI 'IIF '111 '111 '112
'in
'114 '115 '114 '11? "lit 'hi) '111 '111 '11C 'UD '11!
'iir '121 '121 '122 '122
I , I , I ] -> 'lit ix
"BOLD
" COED U p
'coiltip
( ei, i , i . i , i ) -> z ; '!imu
Bijlage 2: x
tolile plüHTlK
title pioaimniui im turns
FUSCUHITOI Circtit ot start ei stop te faun H ruflaf te ukti UTCnS skeet I cole : 17 loiaii u i Ier Pittei lllül I u t i , HM' P67
lefice 722111';
'iipits
dock,stirt,stop mt,pstop,!isl ilock 'ottpits ru,rufl,rufl !estirt,!estop
pil 1.2.1; pii I I ;
preset
pu 22,21.1); pii l U I ; pii H; pn 2J;
li.ru ruft.rufl,preset estart,estop
Istype 'pos.eoi'; istfpe 'pos.m'; Istfpe 'lep.eN';
IJ
l.t.U.CI'-
i f f * • »•»•••#•^•F
leze Pil iseft tiee fucties, ie leluprijiste is ie ruflij. Ie ruflif feeft j » of ie uckiie In rokei of stil stut. lis ru ictief is terkt ie uckiie ook lerkelijk. lij startei iurt ket liiiual 1 doek pils tooriit ie uckiie léjut te lerkei. lij stoppel stopt kij liiiual 1 doek pils eerier iai ie ruflaj iuctief torit. let uiere ieel u i ie PIL kepaalt of er uplitiie iata ufelaiei loet toriei. efiatiou 'aiplitiie lata la -- ialock i isl ;
'umie rufl :- estart; ntfl :- es tart; preset:- 1 ; tritk.takle * start ?i stop taijei ([start, ïut, estartj-)estirt) !-> [ l , l-> ( t , [ l l-> f I . [ I , ]->
tritk table Bijlage
2:
xi
{(preset stop [ I I I [ I 1 E L I ( I L I 1 t [ i I E E E [ i [ E e E 1 E
pstop I L L L E i 1. L E E
, , , , , , , , , , ,
start estop]->estop! I ]-> l ; X L L ]-> L ; L l ]-> i ; 1 x ]-> L ; 1 x J-> i ; E x l-> L ; L I W E ; E i H L ; l I ]-> E ; 1 I H i. ;
trotri table 'nckiie starten ei stopen ([rutfl, |L , [L , [ L . II , [E ,
estop ruik )-> rui) L )-) L L E 1-) E L X ]-) L B I ]-) E L I ]-) L e
testjectors'rMtliï 1[clock, start, stop lait pstopWImfl [ Cl L L E t HU [ Cl E l E l Mi [ Cl L L L i HU l Cl L L L L ]•>[! [ Cl L E L L ]-)[! L ]-)[L 1 Cl L L E [ ei L L E t ]->[l [ Cl L ]->[L L L E [ Cl E L E L ]•)[! [ Cl L L L E J->[ E [ ei L ]-)[ L L L E test rectors'aiplitide lock' llilóck, isl] •) la) L 1 -> L [ L E ] •) B 'LllD 1EPLITÜDE D1T1 [ l I L ] -) L E E ] -) L eid
B i j l a g e 2:
xii
nifl, L 5 t E E L L L E H L
rui L, S, E, E, L, L l , L, E, L, L,
ladsle pldeoit title 'FIOCUUEEISUE U i l IUÜLS POLSCEIEUTOt Coitrolle register I bits Ibits gebriikt h u i d f » der Pitten IIII1K ïrt 1, 1MI ÏE1SIE 2' PC» ierice 'P22W'; "ilpltS
ClQa.Pl»,PDl,PD2,PD3 P04,PD5,PD6,P07,SKESET PSTOP,!IC.
pil 1,2,3,4,5; pia U , U , 1 I ; pii 11.13;
"outputs IlIICU.UOCI.SirGLt FlEtl,FUEl,FIEI2 rui],riH4
pil 23,22,21; pil 21,19,II;
UIXCLI.IiaCE.SIKL! riEil,rmijui2
Istrpe 'pos,re»'; Istype 'pos,reg'; Istjpe 'pos,reg';
I.M.Z.CI * reg -PB1T1 --
pin
'.\M;
1,»,.I.,.Z.,.C; (EIIXClE,lLQCI,SIICLE,riEEl,riEEl,rUE2,ritE3,rm4]; [PM,Pl)i,PJ2,PJ3,PD4,PD5,PD6,PD7];
Bet control register bent drie coitrolle bits, U s S1ISET iktiet is, d u toetei alle registers gereset nrdei. let sujle bit lordt ook gereset als PSTOP ittief is. let register wordt gescbreten ils EiibleCottrol ictief is. egiitiois
FKEEI
= PD3 4 EC. I F1IEI l !EC_ ;
run
= PD4 t EC. I FlEEl k !EC. ;
F1EI2
* PD5 k EC. I FIEE2 k !EC. ;
F1EE3
-• PDé k EC. I FIEE3 k !EC. ;
E1EE4
-- PD1 k EC. I M E 4 i !EC. ;
EIHCLl = PD» k EC. I EIEXCLt i !EC. ; 1L0CI
= PDI t EC. | 11.0CI 1 !EC. ;
SIIGll -- PD2 V EC | SUCLE t !EC k '.PSTOP ; test.rectors (ICLOCE, PSTOP, EC., PDITI) -) rej) 'CLOE , PSTOP, EC , PD1T1 register [ CE , [ Cl , I tl ,
L , L , I ] -) 'kll;(iTitti reset 1 , 1 , 'm) -> 'lFF;"lideii ui cottrolditi L , L , I ] -) 'brf;'io chuge
Bijlage 2: x i i i
t CI , [ CI ,
I , L , I ] -> 'kDF;*restt T U single L , I , 'WW -> 'tM;'lidei i n controldata
Bijlage 2:
xiv
toddle pldpsls title 'PIOGUUHMII l i l t I1I1ILS POlSGEIEUTQl Piishoogte register IttLTIFLIIID 6 JITS 1SÏISTE1 sleet 1 code: 02* loiald iai der Patten IilIEF-1 FEB 1 19)1 TE1SIE 2' PC2I device 722111'; 'inpats CLQCI,DI,DU1U11,D12,D13 pis 1,J,?,II,11,1],H; 'iipit Tao 111 Tii patroon databas nEdlrTUil,ilEd2,TUd3rTIEd4>TUdS pit 2,3,4,5,6,1; 'iipit m TIE via pat roos databas U,MHUG,!E1_ pii 15,16,11; "hestaring 'oitpits il,11,11,11,11,52 * oatpat foor tiee DIC's 11,11,12,11,11,12 I,l.l,I.CI = iipPinooi inpTIE litl iit2
pis 23,22,21,21,19,18; Istjpe 'pos.rej';
1.1,.!.,.!.,.C.; •- [D13,D12,B1U1UJ,BJ]; [TIId$,TIEd4,TIEd3,TIEi2,TIldl,md»]; [12,11,111; II2,I1,W1;
let iiphtuie register is een register dat affcanieiijt TH de MIMG data n t TEE of UI inlaid, l i s 1CTSFL1C actief is zal HI data ingeladen lorden, dit gebeird alleen als Liadliplitadedata actief is. lis IDIFLIC net actief is, dan tordt er data vaa TIE ingeladen als Eubleliplitndedatareg actief is. De dataottpits ras dit register dienen als input «or 2 drie bits DIC's. egsttions
I»
11
12
11
:-•
;•-
::
:•-
D H LI & IDfFLlG ( UUi k El i ÜMFHC 1 11 1 (I i l l 1 I0IFL1G ) < { ü l . l 'IMFLIC });
'Fatroondata "TIEdata "hold
B) i1111DIFL1G | TIEdl i El 1 ÜWFL1C 1 1 1 1 (( !LÏ4 NffLIC } < { !E1.1 illffUC ) ) ;
"Patroondata 'TIEdata
Dill LI 1 I0IFL1G I TIId2 1 El k !IH?UC 1 12 i ( ( !LÏ i IDIFL1G ) 1 ( !El_i lIDflUC ) ) ;
"Patroondata 'TIEdata "hold
Sill LI 1 lOIflK
"Patroondita
bijlage 2: xv
t
"told
TIEdJ i EL 4 IIQIFLIG ut
it !u'i
I
{ !El_l '.1QIFL1C ) ) ; 11
1)12 i LI i 10IFL1C | m U k El k 1IÜIFL1G I U i (l ! Ü i EMFL1G ) I
( üi.i imruc )); 12
"TKdati
IOITUG) i
01 Ji LI k IIHTUG | TIEdS i II i IIDBTLAC I 12 i (f ! L Ï i 1DITL1G ) I I ! t l i IÏMFL1G !;;
"hold "Fitroooditi "TÏEdati "told "Fitrooidata "TlEdïti "held
t e s t Teetors ' ejister controle' [CLO E, L1,~!DIU1G 1 , iipFITIMI, iapïlE] ui ,iit2]l .1 . B , "Ml;"laai patrooi ", "WF , I ] , "Hl;"hold ,1 ï , I] , 'Hl;'hold .L ï , ï] , 'M];"hid TIE data ,1 I , 'MM ,1 , L hl]; 'had TIE dati l , "HF] 'Ml; "laid patroon , "all , I 1
eid
Bijlage 2: xvi
•odule pldpuls title 'PlOGIlUIUlllI U i l I1IULS POISGIIÏUTOI Vuur puls synchronisatie en adres buffer voor ?tf STICIIOIISTUI ei II1ISUTCI sheet 1 code: UI lauld Ta der Putt et IltBCF-I U I 1 \M' PS22
device 'P22T1I';
"inputs BS4M1I2 !IIJ CLOCI
irT,m,irs,m
pin pit pm pil pia
1,13; "IK 11, 2; "BESTCIIIG IS; ' I B 1», », I. 7; i , 5, 4, 3;
"outputs 1112 ST7,ST6,ST5,ST4 STJ,ST2,ST1,STI
pil 14; pii 11,1741.1»; pis 21,21,22,23;
5T1,ST2,ST1,ST| B1I2
Istype'pos,coi'; Istype'pos.coi'; IstTpe'pos.rej';
1,1,4, .I...C; [ir7,iré,irS,H4,BJ,EF2,Bl,Hll; IïT7,m,m,STl,ST3,ST2,STl,JTI];
Ï,i.i.i,a ÏTII STUIT
Oi de uitgangen t.o.T vai de doch te synchroniseren lorden de ingangen geand iet de doch. In onstaan er op de uitgangen opgaande trigger finten die gelijktijdig optredei. Voor de VIE interface he?indt zich ii deze P U 1 adres latch, lis II liet actief is de latch uitgang ligh-iip
equations STUIT -- CLOCI 4 STII l F; 1112 :•-1112 ' CI1BLE B1I2 = 11; est vectors 'L1TCE' ([D54I, EI, 11121 - IM2I [ C l , 1 L 1l [ C l , 1, I 11 [Cl , L, I I- I [ C l , 1, L 1l [Cl , I, I 1I test vectors 'sync' {(OKI, JTII, «-> STUIT) [ L , 'HF, II') hit 1 I , 'IFF, H-) hll ( 1 , 'Hf. «-) •m
B i j l a g e 2:
xvii
•LfllD 'L01D "!H1BLE "101D "101D
"kil. 1]-: 'kir, ii-> "kil, 11-. "MD. I]-> "hll, l]-> ' U I , !]-> tli
Bijlage 2: x v i i i
kil 'kir
kri
'kSD "kil 'hBB
WB address aap far p r o g r a n e b l e iweudn random p u l s e generator Base address = H 270000
23 — 18 BASE
17 16 15 14 13 12 l i l Il0 Ito |08107106105104 J03102 01 00 0 0 0 0 0 0 t/m7FT 0 0 RAM 0 0 0 0 1 0 0 0 0 0 0 0 0 0 t/m 7 0 0 EBAY 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 AMFL 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 OGNTR 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 START 0 0 0 0 1 0 9 0 0 0 0 0 1 0 1 1 0 0 STOP
RAM DATA 0 t/m 7ïT 31
1£NG WORD
address H 270000 - H 271FFC step H 4 DELAY reg 0 t/m 7 7
byteO
0
address H 272000 - H 27201C step H 4 AMPL reg 7
byte©
0
address H 272020 CGHIR reg 7
byte 0
address H 272024 STORT address H 272028 STOP address H 27202C
Bijlage 3 :i
0
0
R/H regR/W regR/W r e g R/W (no data) (no data)
Overzicht revisie Setae's
PAL's
VMS-interface
tekl tek2 tek3 tial tia2 tim3 tim4 tim5
romer : 8 : 5 : 6 : 1 : 1 : 1 : 1 : 0
Generator
tekl tek2 tek3 tek4
:D :C :B :A
PG1 : FG4 : PG5 : PG6 : PG7 : PG8 : PG20: PG22:
PG31 FG32 PG33 PG34 PG41 PG42 PG43 PG44
: : : : : : : :
Bijlage 4: i
1 1 1 2 1 2 2 1
1 1 2 2 1 1 1 1
Brata Op de huidige print is de R M » _ ge'and' «et not HUHFLAG, dit noet in de toekoast in een PAL «orden toegevoegd. De enable lijn van U5 naar Ü6 wordt geinverteerd dit noet in de toekomst «orden toegevoegd in dePALUS. In de schema's van de generator moeten de datalijnen D0..D7 met D8..D15 verwisseld worden.
Bijlage 5: i
Eigenschappen van de Progranmeerbare pseudo random detector puls patroon generator
Eigenschappen VME-interf ace -16K adres ruiste nodig -Base VME adres H 270000 -drie soorten instructies lnord byte dataloos -32 bits databus
Eigenschappen van de generator -interne clock oscilator 16 MHz -8 detector kanalen simuleren -2000 verschillende tijdvensters opslaan -maximale duur tijdvenster 4 us minimale duur ,, ,, 64 ns instelbaar in stappen van 64 ns -maximale simulatie duur van single run 8 ms -moment van genereren van detector puls instelbaar in stappen van 25® ps maximale herhalings frequntie 16 MHz (clock frequentie) -detector pulshoogte in 8 stappen instelbaar van 0 V tot 1 V
Bijlage 6: i
f+-
~-£t
m r^ 1
r> J
3
•
0 0
s
r» :
•
^ r* r* 3
r
3
,-1 u-CLl
ro
7> o_<ü
4vi
o.
•
s
-V O-
.
•
_
;r
rl vb O.
«' rl •vb O.
m
A-K
LA
at
vj,
O
•3-
n
vi
•
O-
o.
•
:f
ü
H i "O I
i r*
Üu u 0 rJ
f*
N ^
• ^
•*
^
*
*
^
— —
.
|
•»"
H
*
*
5
l_2_i1 LL •e i
ri
* ' 3
• O f"
: *
3
4
C
_kJ
I ^
en
|
o o
f*
ft-
(+
Cf
-
i
r*
^
0
•
-•
»
*
*
*
_kJ
*
rt
o
i*
rv»
O-
•
p»
cP
3
*
LJ
O» vb
o. •
1
1
[ C t t C H K U
UttftCT
}
a
3
3
I
ïoooooooooQ oooooooooooonooooooii l O O O O O O O O O O O O O O Ö O O O O O O O O O O f • to O O O O O O O O O O O O O O O O O O O Q ooooooooooooooo > O O O O O O O O O O O O O O O O O O O O O O O O O O O O O Q O O O O O O
oooooooooot
o o o o o o o c o o c J O O O C O O O ' O Ö Ö O Ö Ö O O
©
© © © © © © © © © © © © © © © © © © © © © © © ' © ó ® © © © © © ® © © © © ©
©
©
©
©
©
©
0
©
Q
©
©
0
©
0
©
0
©
©
©
©
©
©
©
©
©
©
©
©
©
©
0
©
0
O
©
0
©
©
0
©
©
0
0
©
0
0
©
3 I I I I I I I © © © © © © © © ©
©
©
©
©
©
©
©
©
©
©
0
©
0
©
©
©
©
©
0
©
i e j ! i e i i i i i i i • i i • i i J • » » i i • i i i • i i i © 0 © © © 0 © Q © 0—0 0 O O 0 O 0 O O 0 Q 0 O O O O O O 0 0 0 O 0 0
I
I
1
« ©
©««O—©
©
0
0
0
0
0
0
• 0
I 0
0
J , J 0 0 0
©
0
©
©
©
©
©
J J , J J J 0 0 0 0 0 0 ©
©
©
©
©
©
*
©
©
0
0
0
®
0
0
©
I
- . . . . « . - - • - ©
©
©
©
©
0
0
0
0
0
•©
©
©
.K l d ©
©
0
0
©
&«©V.0 0 © 0 © © © ©
J J J J J J S S 0 0 © 0 0 © O 0 0
©
' 0
0
©
* ©
OM •" •
-
0
'
B .
B
itf. IC9 Ifi |
.» hbFtbfc
•
t »
t • • • « t •
»»*» •**»
Lpt
'''l'l'l'''''''''''NllllllHlll^QQ^OQ^lllllllllllltlllllllillilllllil)^Q0^OQFl'»»llt»illl»l
0
~T
1
PI
M
at
u
•
~
ff t»«ft
5
«
i
EVITAT2-
-
0*
TC
s z
<• TC
:
s
n
O
TC
**
9
i 1 ï I I I I 5 1I 11!
«
s
1 I 1 I 1 >1 2
! o !
*È
_, -
«1
»-
M
I1
ff
*
ff <
I 1 l I I ! I 1I
b. L :
J rt
EVSTATI
M
<
SVSTAT4
3
• ff t
EVSTAT2
i
1I I 1 I I I
l
>
o
•
o
• " • •
m
B
" « -
n
z
« —
rs
"• • •
•
•
M
M
TC TC
z
£
ril CM
TC
TC
TC
TC
TC
TC
•f» •
o
5
s
TC
n
«
r»
s >
-iè
TC
8 <
- g l
.
A
11
O
i—
-il ï
n
S
§
CT
s
2 § <
!
I f i
•
r^
É
g
> TC
I
f
8
Ii
• ff
g
>
TC
>
TC
•
~
A
_^
«
n
< 3 3 5 3 3 3 3
g ?
^
IW
*
•
TC
TC
TC
z
s
on
j-
n
TC
TC
TC
TC
n O
S8 i
5
S
8
i § §
e
w
TC
TC
TC
5
TC
TC
TC
z s
rw TC
rs
TC
TC
TC
g
5
n
S
TC
TC
a
TC O
TC
u
*.> *
8
If
•
O
5 5
TC
O
s
TC
•
w
-
r*
-
N
8 8
n
TC
O
•«
o
i
1 <3
§
o
*» • •3
t3
*
IA.
5
•
•- < a
o
n
§ §
ï
O
o
i 2 8 s
i is
«I « •>
6
• ^
S o
•
o
g
V)
< >«1
^^
n
s
si
g
•1-
2 6 O
8 ^
TC
•*
«
•>
•
TC
i
-
o
•
"
o
• • ff TC * n TC < < < < < < < 5 <
TC
!
|
i
.
1 i gi 3 3 g o
it
o
n
o
ft
TC
•€
TC
.
w
S i! 3
« •
P>
f»
TC
TC f» 3 < < <(
fs1 *
•
EA
E*
s
•
g
TC
TC
|
f _TC
TC
ï
O TC
g
1
l
_s
n
TC
s <
TC
1
oTC
e
<
> •
s
s 5 8{ 2 8 Ï O
< N
s I
S
s s
_s _s
ra
_s _5
S
>
*
TC
5
O TC
n
_S
O
s
jT-i_jri_jrri_j'7n_pn_j^^
clock start
RUNFLAG
NEXT STATE
WAIT
PA=0
2 ta o
CO
Timing van de generator
LPD
SEQ—
LPD
LPD SEQ— PA=0
LPD
Laad Patroon Data Seq_Count — Patroon Adres = 0 ( Zie f i g . 8 A )
SEQ—
SEO-
LPD
WAIT-^
WAIT
WAIT