FIFO vezerles

Andras Tantos andras_tantos at yahoo.com
Tue Sep 28 00:52:01 CEST 2004


Hali!

A teljesen aszinkron FIFO vezerles nem egyszeru feladat. Van egy-ket Xilinx 
APP-note, amit talan erdemes megnezned. Az alapveto problema a FIFO 
foglaltsag-szamlalojanak a megvalositasa. Ha jol emlekszem a reszletekre, 
ket megoldast javasolnak:

- Ha a ket orajel elegge kulonbozo (nalad az), akkor urja-mintavetelezed az 
egyik portot a masik port orajelen, es szinkron FIFO-t csinalsz a magasabb 
orajelen. Persze nem csak az orajelet, hanem az adatot is urjra kell 
mintavetelezni (ez helybol 64-128 makrocella a te esetetetben).

- Ha valoban aszinkron FIFO-t akarsz, akkor az iras- es olvasas pointerek 
szamlalojat Gray-code szamlaloval kell megcsinalni (vagy Gray-code-ra kell 
konvertalni) ezeket az ertekeket mintavetelezni minden esetben, amikor a 
foglaltsag-szamlalot olvasni akarod, vissza alakitani binarissa, es 
elvegezni a kivonast. Igy max 2 erteket tevedhetsz a kiolvasott ertek es a 
valodi foglaltsag kozott.

Persze nem tudom nalad mibol ered a hiba, tudni kene pontosabban mit jelent 
az, hogy 'hibazik'. Azt hiszi hogy tele van a FIFO, es eldob egy adatot, 
vagy hogy nem ures, es kiolvas meg egyet? Vagy valami teljesen mas jellegu 
problema?

Udv,
Tantos Andras

----- Original Message ----- 
From: <vf at elte.hu>
To: "elektro" <elektro at tesla.hu>
Sent: Monday, September 27, 2004 11:57 AM
Subject: FIFO vezerles


>
> Hi!
>
> Kezdek megorulni... Tok jol mukodik a legujabb kartyam PCI resze, az
> analog aramkorokkel sincs nagy gond, csak egy egyszeru FIFO kezelessel.
> Ehhez hasonlot is mar tobbszor csinaltam, mindig mukodott, most nem.
> Tehat 2 orajel van, a 33MHz PCI clock, meg egy 11MHz koruli orajel,
> amivel szinkronban kene kinyomnom az adatokat. A memoria (64bites SRAM)
> es gyakorlatilag minden mas a PCI clockrol megy.
> Az a gond, hogy bar funkcionalisan mukodik, a ket orajel fazisanak
> csuszasa miatt idonkent hibazik, ez jitterkent latszik a kimeno adatokban.
> Mi erre a profi megoldas?
> Van 1db 288 makrocellas 7ns CPLD, ezzel kene megcsinalni.
> Akar haromszorosan lehet bufferelni, az meg szukosen belefer.
> Majdnem tok ugyanez a kapcsolas 10ns alkatreszekkel mukodik.
> Latch metastability vagy ground bounce, vagy egyeb?
> Nemi varazslassal sikerult elerni, hogy a gyorsabb uzemmodban mar
> nincs jitter, legalabbis nem latszik a szkopon. A lassabb (fele)
> sebessegu modban viszont mindig marad egy kicsi...
> 1ms csomagban 100..200ns. Ez 0.2 ezrelek, azt meg lehet hallani? :)
>
> -- 
> Valenta Ferenc <vf at elte.hu>   Visit me at http://ludens.elte.h u/~vf/
> ... ERR0R: Timing error! Please wait! And wait! And wait!
>
> -----------------------------------
> Szponzorunk: http://tonerbolt.hu/
> 




More information about the Elektro mailing list