NO170244B - Synkront fifo-register - Google Patents

Synkront fifo-register Download PDF

Info

Publication number
NO170244B
NO170244B NO872467A NO872467A NO170244B NO 170244 B NO170244 B NO 170244B NO 872467 A NO872467 A NO 872467A NO 872467 A NO872467 A NO 872467A NO 170244 B NO170244 B NO 170244B
Authority
NO
Norway
Prior art keywords
signal
fifo register
write instruction
control
stage
Prior art date
Application number
NO872467A
Other languages
English (en)
Other versions
NO170244C (no
NO872467D0 (no
NO872467L (no
Inventor
Mathias Hofmann
Original Assignee
Siemens Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Ag filed Critical Siemens Ag
Publication of NO872467D0 publication Critical patent/NO872467D0/no
Publication of NO872467L publication Critical patent/NO872467L/no
Publication of NO170244B publication Critical patent/NO170244B/no
Publication of NO170244C publication Critical patent/NO170244C/no

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/08Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations, the intermediate ones not being accessible for either enqueue or dequeue operations, e.g. using a shift register

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Shift Register Type Memory (AREA)

Description

Oppfinnelsen angår et synkront FIFO-register i henhold til innledningen av krav 1.
Et FIFO-register (First in - First out) er som kjent et digitalt lager med en utgang hvor dataordene fremkommer i samme rekkefølge som de ble innlest med ved inngangen, idet et dataord holdes så lenge ved utgangen til det kommer et lesesignal på leseinngangen, hvilket bevirker at det neste dataord flyttes til utgangen. Slike FIFO-registre som blant annet er kjent fra US-PS nr. 4 314 361 og består av en kontrollkrets og en vippematrise med D-vipper anordnet langs parallelle linjer resp. kolonner, har vist seg uhensiktsmessige på grunn av deres relativt kompliserte oppbygging.
Hensikten med oppfinnelsen er derfor å skaffe et FIFO-register som lar seg realisere med forholdsvis lav kretsteknisk kostnad.
Denne hensikt oppnås ved de i karakteristikken av patentkrav 1 angitte trekk. En slik utforming av et FIFO-register har den fordel at den medfører en meget enkel simulerbarhet og muliggjør på enkel måte en oppbygging med monolittisk inte-grasjon. Ytterligere utførelser av oppfinnelsen fremgår av de uselvstendige krav.
Oppfinnelsen blir i det følgende nærmere forklart ved eksemp-ler som er gjengitt på tegningen, som viser: fig. 1 blokkdiagrammet av et FIFO-register i henhold til opp f inneIsen,
fig. 2 kretsdiagrammet av et kontrolltrinn og en vippekolonne for et slikt FIFO-register,
fig. 3 et tidsdiagram for forskjellige signaler i et slikt FIFO-register og
fig. 4 en tabell for å anskueliggjøre den såkalte transparens av et slikt FIFO-register.
FIFO-registeret på fig. 1 har en vippematrise som består av tre seriekoblinger med hver tre lagringsceller Ul, U2, U3, VI, V2, V3 og Wl, W2 og W3. En slik lagringscelle eller datalås (data latch) er i prinsippet en statisk taktstyrt D-vippe som beskrevet i boken "Halbleiter-Schaltungstechnik" av U. Tietze og Ch. Schenk, Springer Verlag 197 8, side 164. De midtre lagringsceller U2, V2 og W2 blir sammen aktivert av et kontrollsignal c som leveres av et kontrolltrinn C2 som er anordnet mellom to kontrolltrinn Cl og C3, idet kontrolltrinnet Cl styrer lagringscellene Ul, VI og Wl sammen, og kontrolltrinnet C3 styrer lagringscellene U3, V3 og W3 sammen.
Hvert kontrolltrinn Cl, C2 og C3 har en inngang for hvert skriveinstruksjonssignal (strobe) S, Sl resp. S2, som på utgangssiden hvert omformes til henholdsvis skrivesignalet Sl, 52 og S3 for det neste trinn når det forekommer. Dessuten har hvert kontrolltrinn Cl, C2 og C3 en ytterligere inngang for hvert fyllingstilstandssignal F, Fl, F2, som henholdsvis omformes til fyllingstilstandssignalene Fl, F2, F3 resp. for det neste trinn om det finnes. De tre kontrolltrinn som sammen tilføres et taktsignal Tk, har dessuten hver en ytterligere inngang for et tilbakekoblet skriveinstruksjonssignal. Det første kontrolltrinn Cl aktiveres med signalet S2, det annet med signalet S3 og det tredje med et leseinstruksjonssignal r.
Kontrolltrinnet C2 i henhold til fig. 2 viser en flanketrigget og med taktsignalet Tk aktivert D-vippe KS, hvis D-inngang mottar et nytt fyllingstilstandssignal g2, som gis av en 0G-port Ul, som slår sammen det over en inverter NI førte signal 53 og utgangssignalet fra en ELLER-port Gl. Den ene inngang på denne ELLER-port Gl er forbundet med D-vippens Q-utgang som leverer signalet S2 og den andre inngang med utgangen på en ytterligere OG-port U2 som leverer signalet F2, idet denne 0G-porten U2 forbinder det inverterte signal F2 med utgangssig-naiet fra en ELLER-port G2, som sammenfatter signalene Fl og 51. Dessuten forekommer det en ytterligere OG-port U3, som forbinder signalet S2 med det over en inverter N2 ledede taktsignal Tk og som gir styresignalet c, idet det istedenfor det inverterte signal Tk også kan benyttes et på fig. 2 ikke vist signal som har samme periodisitet som signalet Tk og sikrer et korrekt tidsforløp.
Fig. 3 viser taktsignalet Tk, signalene Sl, S2, S3, kontrollsignalet c, nytt fyllingstilstandssignal g2, datasignalene u, u2, u', u'2 og fyllingstilstandssignalene Fl, F2. Taktsignalet Tk er et firkantsignal som er vist med to stigende flanker i tidspunktene Pl og P3 og en fallende flanke på tidspunktet P2. Tiden mellom punktene Pl og P2 går med til å forberede skrive-instruksjonssignalene (strobes) og tiden mellom punktene P2 og P3 er for gjengivelse av data, hvorav det fås en sykel bestående av en kontrollfase og en skrivefase. Signalene Sl, 52, S3 og g2 er aktive under kontrollfasen og signalene c, u'2 og u' er aktive under skrivefasen. Signalene Fl og F2 opptrer ved flanken P3. Den maksimalt mulige takt er på den ene side avhengig av den tid som signalene F, Fl, F2, F3 bruker for å gå gjennom hele kretsen og på den annen side avhengig av den tid som dataene bruker for å komme fra u til u'. De tilsvarende maksimale forsinkelsestider bestemmer den størst mulige taktfrekvens. Takten kan derimot være vilkårlig langsom.
FIFO-registeret i henhold til fig. 1 virker på følgende vis: Kontrolltrinnene Cl, C2, C3 frembringer en skrittvis sekven-siell overføring av en databit u = 1 eller u = 0 over de tre lagringscellene Ul, U2, U3 og spesielt skjer dette under den tid da kontrollsignalene b, c resp. d har verdien "1". Det tilsvarende skjer alltid samtidig med cellene VI, V2, V3 og Wl, W2, W3. Samtidig blir skrivingen av dataene u, v, w i trinn 1 ved hjelp av signalet S og utlesingen av dataene u<1>, v', w' av trinn 3 styrt eksternt ved hjelp av signalet r på en slik måte at begge operasjoner i stor utstrekning kan skje uavhengig av hverandre. For kontrollsignalene b, c, d er alle åtte mulige verdier fra 000 til 111 tillatt, hvorved det oppstår åtte overføringsmuligheter. Kombinasjonene 000 for signalene b,c,d gir ingen dataoverføring. De etter hverandre forekommende kombinasjoner 000, 100, 010, 001 tillater en overføring av inngangsbiten på en minimaltid på tre sykler. Ved en rekkefølge av kombinasjonene 000, 110, 001 eller 000, 100, 011 blir inngangsbiten overført på en minimaltid på to sykler. Spranget fra tilstandene 000 til tilstandene 111 gjør FIFO-registeret transparent, da inngangsbiten når frem til utgangen i en eneste sykel.
I kontrollfasen av en enkelt sykel blir forskyvningen bestemt, dvs. det blir avgjort om en forskyvning (f.eks. c = 1) finner sted eller ikke (c = 0). Ved slutten av skrivefasen blir fyllingstilstanden for trinnet C2 bestemt, dvs. det blir registrert om lagringscellen C2 ble skrevet, lest eller skrevet og lest, da lagringscellen må leses en eneste gang om det ikke skal fås bittap eller bitduplisering. Bestemmelsen om hvorvidt fyllingstilstanden er relevant eller ikke, er viktig, da lagringscellene beholder sin informasjon også etter at de er blitt lest.
På fig. 1 er bare de tre siste kontrolltrinn av et FIFO-register vist. Skal f.eks. allikevel trinnet Cl være det første, så må inngangen for signalet F eller S jordes, for det er nok med et av de to signaler S eller F for å bevirke at dataene blir skrevet.
Kretsen på fig. 2 virker på følgende måte:
Kontrolltrinnet C2 må generere to signaler, signalet g2 som angir den nye relevante fyllingstilstand og skriveinstruksjonssignalet S2 (strobe) som viser trinn C3 at trinn C2 er skrevet. Signalet F2 er relatert til den aktuelle fyllingstilstand og angir om denne er relevant (F2 = 1) eller ikke relevant (F2 = 0). Den nye tilstand for signalet g2 overtas av signalet S3 over OG-porten Ul og gis ut med den stigende flanke P3 som signal F2 fra vippen KS. Signalet g2 bestemmes av betingelsen g2 = XS3 • (F2 + (XF2 (Fl + Sl))), hvor pre-fikset X er et negasjonssymbol og Fl og Sl henholdsvis angir fyllingstilstanden og skriveinstruksjonstilstanden for det foregående trinn. Signalet F2 kan f.eks. være "0" eller "1". Således gjelder for signalene S3, c og F3 relasjonene:
S2 = (Fl + Sl) -XF2
c = S2 • XTk'
F2 (T> Tk') = (S2 + F2(T < Tk'))'XS3
De lagrede data i cellene til det foregående trinn kan være relevante eller ikke. Når de er relevante, må de leses, dvs. overføres, ellers ikke.
Når verdiene i 2. trinns lagringsceller U2, V2, W2 er relevante og de i 1. trinn enten er relevante eller blir relevante i denne sykel og skal overtas, må signalet Sl = 1 eller Fl = 1, for at lagringscellene U2, V2, W2 kan overta de relevante verdier under skrivefasen (Tk = 0). Samtidig må trinnene C2 videremelde om cellene U2, V2, W2 har overtatt relevante verdier (F2 = 1) eller ikke (F2 = 0). Dette skjer som følger: Når 3. trinn ikke leser de i cellene U2, V2, W2 i 2. trinn lagrede relevante verdier, forblir de relevante verdier i disse celler og F2 er lik "1"; ellers, dvs. når disse relevante verdier blir lest, må F2 bli lik "0". Når 2. trinn har irrelevante verdier (F2 =0) og skrives, vil det motta relevante verdier (F2 =1) og spørsmålet oppstår om det føl-gende 3. trinn har lest 2. trinn eller ikke i dette tidsrom. Om det ikke blir lest (S3 = 0), så blir det relevant (F2 = 1); blir det imidlertid samtidig lest (S3 = 1), så forblir det irrelevant (F2 = 0), selv om det også skrives i denne sykel. Med denne egenskap blir transparensen av FIFO-registeret i henhold til oppfinnelsen påvist.
Denne transparens forekommer alltid når et antall m av etter hverandre følgende lagringsceller i en serie allerede er lest og derfor oppviser irrelevante verdier, slik at den for de tilsvarende fyllingstilstandssignaler har verdiene Fi = 1, F(i + 1) = 0, (Fi + 2) = 0, ... F(i + m) = 0 og F(i + m + 1) =1, hvor Fi ikke ubetinget må være lik Fl. Under disse betingelser gjør en ny skriveinstruksjon til det første trinn (S = 1, F = 0) at den relevante bit på stedet i i en enkelt sykel hopper til stedet i + m. Denne spesielle egenskap blir vist i tilknytning til tabellen på fig. 4, som angår et FIFO-register med 8 lagringsceller koblet i serie. Signalene S og r tilsvarer de samme som på fig. 1-3.
I en ytterligere utførelse av oppfinnelsen kan inngangs-ELLER-porten, f.eks. porten G2 på fig. 2, bortfalle i enkelte kontrolltrinn og den tilsvarende inngang for signalet Sl kan jordes for bare å arbeide med fyllingstilstandssignalet,
f.eks. signalet Fl på fig. 2. I dette tilfelle er FIFO-registeret riktignok bare transparent mellom disse kontrolltrinn, taktfrekvensen kan imidlertid økes slik at taktsignalet selv kan styre alle trinnene sammen. Taktfrekvensen kan f.eks. økes med en faktor n hvis n-1 av således jordede trinn forekommer som første kontrolltrinn under de forskjellige grupper som hele serien kan inndeles i.
Fortrinnsvis kan alle vippetrinn (f.eks. KS på fig. 2) for-synes med en tilbakestillingsinngang for å tømme alle kolonner av vippematrisen etter behov og i fellesskap ved hjelp av et tilbakekoblingssignal RS.

Claims (8)

1. Synkront FIFO-register med en av en kontrollkrets styrt vippematrise for seriell forskyvning av parallelt ankommende databiter (u, v, w), idet kontrollkretsen minst er forsynt med et kontrolltrinn (C2) til styring av en vippekolonne i matrisen, hvor vippene i matrisen er lagringsceller (datalås, data latch), karakterisert ved at kontrolltrinnet (C2) ved inngangen tilføres et fyllingstilstandssignal (Fl) og et skriveinstruksjonssignal (Sl) og ved utgangen leverer et eget fyllingstilstandssignal (F2) og et eget skriveinstruksjonssignal (S2), idet kontrolltrinnet (C2) mottar et ekstra skriveinstruksjonssignal (S3), og at det for disse signaler gjelder tre relasjoner I : S2 <=> (Fl + Sl)* XF2 II : c = S2*XTk' III: F2(T > Tk') = (S2 + F2(T < Tk'))'XS3 hvor c er kontrollsignalet for vippekolonnen, T et tidsrom, X et negasjonsprefiks og Tk' et tidspunkt som svarer til den aktive flanke av taktsignalet (Tk).
2. FIFO-register i henhold til krav 1, karakterisert ved at fyllingstilstandssignalet (Fl) og skriveinstruksjonssignalet (S2) leveres av et ytterligere kontrolltrinn (CC1) koblet foran kontrolltrinnet (Cl).
3. FIFO-register i henhold til krav 1 eller 2, karakterisert ved at siste trinns (C3) ekstra skriveinstruksjonssignal (r) er et eksternt skriveinstruksjonssignal.
4. FIFO-register i henhold til et av kravene 1 eller 2, karakterisert ved at det ekstra skriveinstruksjonssignal (S3) for kontrolltrinnet (C2) er skrivein-struksjons-utgangssignalet til et etterkoblet kontrolltrinn (C3) .
5. FIFO-register i henhold til et av kravene 1-4, karakterisert ved at for minst ett kontrolltrinn gjelder den forenklede relasjon S2 = F1-XF2 for skriveinstruksjonssignalet.
6. FIFO-register i henhold til et av kravene 1-5, karakterisert ved at det til implementering av den tredje relasjon er anordnet et vippetrinn (KS), hvis taktinngang mates med taktsignalet (Tk) og hvis D-inngang mates med et signal (g2), for hvilket den ytterligere relasjon g2 = S3-(F2 + S2) gjelder.
7. FIFO-register i henhold til krav 6, karakterisert ved at flere kontrolltrinn (Cl, C2, C3) hver er forsynt med et slikt vippetrinn (KS).
8. FIFO-register i henhold til krav 7, karakterisert ved at minst ett av disse vippetrinn er tilbake-stillbart og koblet til en felles sletteledning.
NO872467A 1986-06-16 1987-06-12 Synkront fifo-register NO170244C (no)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CH2418/86A CH671476A5 (no) 1986-06-16 1986-06-16

Publications (4)

Publication Number Publication Date
NO872467D0 NO872467D0 (no) 1987-06-12
NO872467L NO872467L (no) 1987-12-17
NO170244B true NO170244B (no) 1992-06-15
NO170244C NO170244C (no) 1992-09-23

Family

ID=4233345

Family Applications (1)

Application Number Title Priority Date Filing Date
NO872467A NO170244C (no) 1986-06-16 1987-06-12 Synkront fifo-register

Country Status (3)

Country Link
CH (1) CH671476A5 (no)
DE (1) DE3718469A1 (no)
NO (1) NO170244C (no)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2515226A1 (en) * 2011-04-21 2012-10-24 STMicroelectronics SA An arrangement

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL7713708A (nl) * 1977-12-12 1979-06-14 Philips Nv Informatiebuffergeheugen van het "eerst-in, eerst-uit" type met vaste ingang en variabele uitgang.

Also Published As

Publication number Publication date
NO170244C (no) 1992-09-23
DE3718469A1 (de) 1988-01-14
DE3718469C2 (no) 1989-06-22
NO872467D0 (no) 1987-06-12
NO872467L (no) 1987-12-17
CH671476A5 (no) 1989-08-31

Similar Documents

Publication Publication Date Title
KR930018594A (ko) 반도체 기억 장치
EP0188059B1 (en) Semiconductor memory device having read-modify-write configuration
JPS618785A (ja) 記憶装置アクセス制御方式
EP0242599A3 (en) Method and apparatus for simulating memory arrays in a logic simulation machine
US4903240A (en) Readout circuit and method for multiphase memory array
KR930000767B1 (ko) 반도체 기억장치
JP2002216479A (ja) クワッドデータレートシンクロナス半導体メモリ装置の駆動方法及び駆動回路
US5280620A (en) Coupling network for a data processor, including a series connection of a cross-bar switch and an array of silos
US5398209A (en) Serial access memory with column address counter and pointers
US5319596A (en) Semiconductor memory device employing multi-port RAMs
US4020470A (en) Simultaneous addressing of different locations in a storage unit
NO170244B (no) Synkront fifo-register
US7190631B2 (en) Multi-port memory
US7603535B2 (en) Low power consumption semiconductor memory device capable of selectively changing input/output data width and data input/output method
US7231413B2 (en) Transposition circuit
US5978295A (en) Sequential access memories
US5822316A (en) ATM switch address generating circuit
JPS6386630A (ja) 並列伝送路におけるフレ−ム同期方式
JPH03504292A (ja) 幅の狭いシフトレジスタを有するビツトブリツタ
CA1191211A (en) Electronic time switch
EP0373714A1 (en) Coupling network for a data processor, comprising a series connection of at least one crossbar switch and at least one array of silos, and data processor comprising such a coupling network
US5381378A (en) Semiconductor memory device
US6442097B2 (en) Virtual channel DRAM
JPS5963092A (ja) メモリ回路
JP3057728B2 (ja) 半導体記憶装置