cyfrowy pomiar fazy
Masz problem? Zapytaj na forum elektroda.pl
From: "Greg" <Grzegorz.Kasprowicz_at_nospam_CERN.CH>
Subject: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 11:15:37 +0200
Witam
potrzebuje zbudowac uklad mierzacy faze sygnalu w odniesieniu do zegara
rozdzielczosc 10 bitow, zakres 20ns
mam kilka koncepcji :
- analogowo z integratorem - sprawdzona, ale klopotliwa
- cyfrowa z lancuchem rejestrow i opoznien
myslalem ustawic lancuch rejestrow i opoznien w FPGA, tylko czy istnieja
jakies narzedzia pozwalajace kontrolowac polaczenia w FPGA na poziome
bramek?
A mzoe ktos z Was sie spotkal z chipem ktory posiada to zrobione takowa
metoda?
idea jest banalna:
mamy np 1024 przerzutnikow D, wszystkie wejscia zegarowe laczymy razem,
natomiast wejscie D pierwszego podajemy sygnal, na drugie sygnal opozniony o
kilkaset ps, na nastepne dalej opozniony..itd..
FPGA byloby idealne, wejscia zegarowe sa laczone 1 linia, gdyby tylko
jeszcze dalo sie recznie ustawic polaczenia pomiedzy LE, to w malym cyclone
1c3 zmiescilbym caly projekt lacznie z odczytem rejestrow.
jeszcze lepiej byloby uzyc dedykowanego chipu..Ale czy sa takowe?
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 15:26:36 +0200
Greg:
myslalem ustawic lancuch rejestrow i opoznien w FPGA,
tylko czy istnieja jakies narzedzia pozwalajace kontrolowac
polaczenia w FPGA na poziome bramek?
floorplan w quartus pozwala recznie umiescic logike w dowolnym
miejscu, ale rozmieszczenie 1024 bramek bedzie troche klopotliwe;
mozna to tez zrobic zwyklym edytorem tekstu w pliku <projekt>.qsf;
takie opoznienia na bramkach beda troche zalezec od temperatury
i z pewnascia nie beda idealnie rowne, bo zaleza od 'oddalenia'
bramek, opoznienie miedzy sasiednimi bramkami jest znaczaco mniejsze
niz miedzy bramkami w sasiednich kolumnach czy rzedach;
jezeli pomiar moze trwac dluzszy czas, to mozna pomyslec
o zastosowaniu zewnetrznej, programowalnej linii opozniajacej,
o ile sie orientuje sa takie linie majace step 0.25ns;
JA
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 21:23:29 +0200
myslalem ustawic lancuch rejestrow i opoznien w FPGA,
tylko czy istnieja jakies narzedzia pozwalajace kontrolowac
polaczenia w FPGA na poziome bramek?
floorplan w quartus pozwala recznie umiescic logike w dowolnym
miejscu, ale rozmieszczenie 1024 bramek bedzie troche klopotliwe;
mozna to tez zrobic zwyklym edytorem tekstu w pliku <projekt>.qsf;
tak, ale IMHO nie pozwala na zabawe bramkami..
takie opoznienia na bramkach beda troche zalezec od temperatury
i z pewnascia nie beda idealnie rowne, bo zaleza od 'oddalenia'
bramek, opoznienie miedzy sasiednimi bramkami jest znaczaco mniejsze
niz miedzy bramkami w sasiednich kolumnach czy rzedach;
to akurat przeboleje..od czego jest linearyzacja...
jezeli pomiar moze trwac dluzszy czas, to mozna pomyslec
o zastosowaniu zewnetrznej, programowalnej linii opozniajacej,
o ile sie orientuje sa takie linie majace step 0.25ns;
pomiar ma byc powarzany co 20ns , z tego liczone histogramy..
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 22:15:41 +0200
On Sat, 29 Apr 2006 21:23:29 +0200, Greg(G.Kasprowicz) wrote:
floorplan w quartus pozwala recznie umiescic logike w dowolnym
miejscu, ale rozmieszczenie 1024 bramek bedzie troche klopotliwe;
mozna to tez zrobic zwyklym edytorem tekstu w pliku <projekt>.qsf;
tak, ale IMHO nie pozwala na zabawe bramkami..
o pojedyncze bramki w FPGA trudno, moze u Actela.
Musialbys manipulowac raczej polaczeniami.
J.
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 22:30:15 +0200
o pojedyncze bramki w FPGA trudno, moze u Actela.
Musialbys manipulowac raczej polaczeniami.
okazuje sie ze chipy ACAM'a idealnie rozwiazuja sprawe..
zeby bylo zabawniej, chlopaki z firmy uzywaja ich w eksperymencie COMPASS :)
teraz trzeba sie do nich tylko ladnie usmeichnac..
http://www.acam.de/index.php?id=49&L=0%22%20onfocus%3D%22blurLink%28this%29%3B
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Sun, 30 Apr 2006 17:57:40 +0200
Greg wrote:
floorplan w quartus pozwala recznie umiescic logike w dowolnym
miejscu, ale rozmieszczenie 1024 bramek bedzie troche klopotliwe;
mozna to tez zrobic zwyklym edytorem tekstu w pliku <projekt>.qsf;
tak, ale IMHO nie pozwala na zabawe bramkami..
zalezy, co rozumiesz pod 'zabawe bramkami';
quartus pozwala recznie zrobic wszystko;
pomiar ma byc powarzany co 20ns , z tego liczone histogramy..
no wlasnie, co 20ns i z rozdzielczoscia 20ps, to calkiem
poza zastosowaniami fpga;
ale ... w nocy, i pod pewnym wplywem piwa, myslalem
o takim oto rozwiazaniu:
quartus pozwala podniesc czestotliwosc za pomoca pll
do 400MHz, co przy wykorzystaniu obu zboczy daje
juz 800MHz, rozdzielczosc 1.25ns,
jakby podac wejsciowy zegar na 4 pll, podniesc do 400MHz,
i kazde z wyjsc pll-ek poprzesuwac miedzy soba o 100ps
[na co pozwala quartus, na ile prawdziwe jest to 100ps
- nie potrafie powiedziec]
to korzystajac z obu zboczy mamy teoretyczna
rozdzielczosc 50ps;
nie jest to jeszcze wymagane 20ps, ale jak na fpga wynik
niezly :)
wierze nawet, ze przy uwaznym rozmieszczeniu logiki dalo
by sie w praktyce uzyskac dokladnosc rzedu setek ps;
JA
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Sun, 30 Apr 2006 22:15:18 +0200
floorplan w quartus pozwala recznie umiescic logike w dowolnym
miejscu, ale rozmieszczenie 1024 bramek bedzie troche klopotliwe;
mozna to tez zrobic zwyklym edytorem tekstu w pliku <projekt>.qsf;
tak, ale IMHO nie pozwala na zabawe bramkami..
zalezy, co rozumiesz pod 'zabawe bramkami';
quartus pozwala recznie zrobic wszystko;
bede musial sie w to wgryzc...do tej pory kompilator robil wszystko...
mam nastepujacy problem..
potrzebuje sprobkowac sygnal rozdzielczoscia min 125ps oraz z opoznieniem
kilkadziesiat ns...kilka s (sic!) odtworzyc go..
sygnal trwa max 200ns
w tym celu moge dac SERDES 10 gbit i po LVDS poslac do FPGA, do tego zegar
622MHz lub 155.5 MHz, w FPGA ten strumien rozdzielam na 4 po 155.5 MHz i
laduje do 4 pamieci 1kx16 bitow..
Ale to drogie rozwiazanie..
same SER i DES sa po 80$ u Maxima...
mam inny pomysl..
dac 4 rejestry 8 bit w logice ECL, one maja Tsu i Th <80ps. Zasilic je
zegarem 250MHz, 1 rejestr normalnie, drugi odwroconym o 180st (zamienione
linie PECL), 3 rejest zegar opozniony o 90 stopni, 4 - opozniony i
odwrocony..
w ten sposob mamy probkowanie co 1ns i 32 bity danych
Nastepnie na kazde z wejsc rejestru podajemy te sama dana, ale opozniona o
125ps, np za pomoca odowiedniej dlugosci sciezek
laczac poszczegolne wejscia rejestrow razem, dostajemy efektywna szybkosc
probkowania 8 GHz !!!
niezle jak na FPGA..
problem ze 8 szt 4-ro bitowych rejestrow ECL ksoztuje ponad 100$, czyli
drozej niz ten SERDES....
Wraz drogo..
dalsze uproszczenie...
wsadzamy rejestry do FPGA...
dajemy do 8 pinow opozniony o 125ps sygnal , czyli
D0 - bezposredni,
D1 - opozn 125ps
D2 opozn 250ps
D3 - opozn 375ps
D4 itd...
Dla Cyclone Tsu i Th < 30ps , wiec niezle..
PYTANIE: czy da sie recznie poukladac te przerzutniki na wejsciach LVDS,
zeby opoznienie od padu do 4 przerzutnikow bylo zblozone z dokl kilkunastu
ps??
Moge w sumie polaczyc po 4 pady razem..ale nie powinno to byc konieczne
Co do zegara, to powinno dac rade wygenerowac przesuniety o 90 stopni bez
problemu...
taki uklad by rozwiazal problem kosztem niemal zerowym - nie liczac FPGA...
Nastepny problem - synteza przebiegu...
moge zrobic to za pomoca Deserialiser'a 10 gbit...
ale fajnei byloby to zrobic za pomoca opoznien na PCB i przerzutnikach w
FPGA...
osiagneicie tych 100ps impulsow jest raczej niewykonalne, ale z uwagi ze
minim. dlugosc impulsu wejsciowego to ok 3ns, powinno dac sie cos
zrobic..Mysle nad tym..
pomiar ma byc powarzany co 20ns , z tego liczone histogramy..
no wlasnie, co 20ns i z rozdzielczoscia 20ps, to calkiem
poza zastosowaniami fpga;
ale ... w nocy, i pod pewnym wplywem piwa, myslalem
o takim oto rozwiazaniu:
quartus pozwala podniesc czestotliwosc za pomoca pll
do 400MHz, co przy wykorzystaniu obu zboczy daje
juz 800MHz, rozdzielczosc 1.25ns,
jakby podac wejsciowy zegar na 4 pll, podniesc do 400MHz,
i kazde z wyjsc pll-ek poprzesuwac miedzy soba o 100ps
[na co pozwala quartus, na ile prawdziwe jest to 100ps
- nie potrafie powiedziec]
to korzystajac z obu zboczy mamy teoretyczna
rozdzielczosc 50ps;
nie jest to jeszcze wymagane 20ps, ale jak na fpga wynik
niezly :)
wierze nawet, ze przy uwaznym rozmieszczeniu logiki dalo
by sie w praktyce uzyskac dokladnosc rzedu setek ps;
JA
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Sun, 30 Apr 2006 22:28:50 +0200
Nastepny problem - synteza przebiegu...
moge zrobic to za pomoca Deserialiser'a 10 gbit...
ale fajnei byloby to zrobic za pomoca opoznien na PCB i przerzutnikach w
FPGA...
mialem na mysli serialiser..
np MAX3952
juz wiem ze da sie w FPGA zrobic i za pomoca sciezek...pytanie jak wyzej, co
z dokladnosci opoznien dla poszczegolnych padow...
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Mon, 01 May 2006 02:36:18 +0200
Greg(G.Kasprowicz) wrote:
bede musial sie w to wgryzc...do tej pory kompilator robil wszystko...
mam nastepujacy problem..
potrzebuje sprobkowac sygnal rozdzielczoscia min 125ps oraz z opoznieniem
kilkadziesiat ns...kilka s (sic!) odtworzyc go..
sygnal trwa max 200ns
nie rozumiem :( [zwlaszcza "z opoznieniem kilkadziesiat ns...kilka s"];
wczesniej chodzilo, zdaje sie, o pomiar opoznienia zbocza
jednego sygnalu wzgledem zbocza innego;
moglbys, moze na adres prywatny, narysowac idee tego, co
chcesz zrobic i wytlumaczyc, tak jak chlopu na miedzy ...
w tym celu moge dac SERDES 10 gbit i po LVDS poslac do FPGA, do tego zegar
622MHz lub 155.5 MHz, w FPGA ten strumien rozdzielam na 4 po 155.5 MHz i
laduje do 4 pamieci 1kx16 bitow..
Ale to drogie rozwiazanie..
same SER i DES sa po 80$ u Maxima...
mam inny pomysl..
tego tez nie rozumiem :(
lvds podnosi co prawda czestotliwosc, by przeslac rownolegle slowo
seryjnie, ale to nie znaczy, ze probkuje jakis sygnal z 10krotnie
wieksza czestotliwoscia;
PYTANIE: czy da sie recznie poukladac te przerzutniki na wejsciach LVDS,
zeby opoznienie od padu do 4 przerzutnikow bylo zblizone z dokl kilkunastu
ps??
pomijajac juz to, co to za przerzutniki na wejsciach lvds, przerzutniki
mozesz sobie poukladac jak ci sie podoba, pytanie, na ile stale jest
opoznienie miedzy padem, a celami sasiadujacymi z tym padem,
floorplan moze pokazywac identyczne opoznienie, ale to sa w koncu tylko
liczby wpisane w timing model, a nie faktyczne wartosci;
samo lutowanie da nieco rozna pojemnosc i indukcyjnosc kazdego pinu;
nie wiem czy to ci cos pomoze, ale najwieksza powtarzalnosc parametrow
czasowych powinno dac wykorzystanie przerzutnikow w I/O cell;
I/O cele tez maja programowalne opoznienia miedzy padem a flip-flop,
z krokiem ok. 60ps, wiec chyba z podobna dokladnoscia [ale tylko
stratix, cyclone ma chyba tylko 3 ustawienia;
jak wyglada I/O cela i co mozna w niej ustawic mozesz zobaczyc
w 'resource editor', w quartus ->tools->chip editor i w nim podwojny
click na cele I/O];
do ustawiania drobnych opoznien mozna uzyc rowniez pll - ale oczywiscie
tylko do sygnalu bedacego stala fala prostokatna o niezmiennych parametrach;
Nastepny problem - synteza przebiegu...
moge zrobic to za pomoca Deserialiser'a 10 gbit...
ale fajnei byloby to zrobic za pomoca opoznien na PCB i przerzutnikach w
FPGA...
osiagneicie tych 100ps impulsow jest raczej niewykonalne, ale z uwagi ze
minim. dlugosc impulsu wejsciowego to ok 3ns, powinno dac sie cos
zrobic..Mysle nad tym..
tego tez nie rozumiem :(
na koniec - moim zdaniem rozrzut parametrow w fpga zupelnie wyklucza
takie "pikosekundowe zastosowania", pobaw sie, jesli to nie jest
jakis krytyczny projekt, jesli jest, to ja bym sie zwrocil do
fachowcow [dobrych] od analogowki;
JA
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Mon, 1 May 2006 11:56:37 +0200
bede musial sie w to wgryzc...do tej pory kompilator robil wszystko...
mam nastepujacy problem..
potrzebuje sprobkowac sygnal rozdzielczoscia min 125ps oraz z opoznieniem
kilkadziesiat ns...kilka s (sic!) odtworzyc go..
sygnal trwa max 200ns
nie rozumiem :( [zwlaszcza "z opoznieniem kilkadziesiat ns...kilka s"];
wczesniej chodzilo, zdaje sie, o pomiar opoznienia zbocza
jednego sygnalu wzgledem zbocza innego;
moglbys, moze na adres prywatny, narysowac idee tego, co
chcesz zrobic i wytlumaczyc, tak jak chlopu na miedzy ...
poprzedni problem pomiaru zbocza rozwiazuja mi uklady TDC, teraz mam
zdefiniowany nowy problem
mam sobie sygnal cyfrowy trwajacy ok 3...200ns, z diody odbiorczej dalmierza
laserowego
i musze zrobic symulator udajacy odbicie wiazki..
potrzebuje wiec odebrac sygnal, opoznic i nadac z powrotem..
z dokladnoscia < 0.5ns
opoznienie regulowane od kilkunastu ns do ponad 60us albo wiecej..
tak wiec probkuje sobie ten sygnal z czestotliwoscia ekwiwalentna kilka GHZ,
wrzucam do RAM i czekam...potem go odtwarzam..
w tym celu moge dac SERDES 10 gbit i po LVDS poslac do FPGA, do tego
zegar 622MHz lub 155.5 MHz, w FPGA ten strumien rozdzielam na 4 po 155.5
MHz i laduje do 4 pamieci 1kx16 bitow..
Ale to drogie rozwiazanie..
same SER i DES sa po 80$ u Maxima...
mam inny pomysl..
SERDES to sa szybkie reejstry przesuwne + PLL
pracuje to na czestotliwosci np 10 GHZ ze slowem 16 bit
tak wiec taki rejesr zbiera mi dane co 100ps i uklada w slowa 16bit
potem juz odbieram je rownolegle z szybkoscia 622MHz po LVDS i zegarem
311MHz (to Cyclone powinno dac rade zrobic)
synteza przebiegu wyglada odwrotnie, wysylam slowa 16bit, a SER zamienia mi
na ciag bitow o zegarze 10GHz
tego tez nie rozumiem :(
lvds podnosi co prawda czestotliwosc, by przeslac rownolegle slowo
seryjnie, ale to nie znaczy, ze probkuje jakis sygnal z 10krotnie
wieksza czestotliwoscia;
zgadza sie, LVDS bedzie pracowal z zegarem kilkase MHz
dlatego pomysl jest by probkowac rownolegle w 8 kanalach ten sam przebieg,
tylko w kazdym kanale nieco opozniony..
w ten sposob zwiekszamy efektywna predkosc zbieranai informacji 8-smio
krotnie.
Pomysl jest sprawdzony w innym projkecie i dziala calkiem przyzwoicie
PYTANIE: czy da sie recznie poukladac te przerzutniki na wejsciach LVDS,
zeby opoznienie od padu do 4 przerzutnikow bylo zblizone z dokl
kilkunastu ps??
pomijajac juz to, co to za przerzutniki na wejsciach lvds, przerzutniki
mozesz sobie poukladac jak ci sie podoba, pytanie, na ile stale jest
opoznienie miedzy padem, a celami sasiadujacymi z tym padem,
floorplan moze pokazywac identyczne opoznienie, ale to sa w koncu tylko
liczby wpisane w timing model, a nie faktyczne wartosci;
samo lutowanie da nieco rozna pojemnosc i indukcyjnosc kazdego pinu;
jestem tego swiadom..wyglada na to ze w najgorszym wypadku porzebby stroic
niezaleznie zewnetrzne linie opozniajace, jest to do zrobienia
wezme chyba PGA na warsztat, podepne Agilenta 60GHz i posprawdzam jak to
jest z tymi czasami pad -rejestr, mam pomysl jak o zrobic
nie wiem czy to ci cos pomoze, ale najwieksza powtarzalnosc parametrow
czasowych powinno dac wykorzystanie przerzutnikow w I/O cell;
tak, ale takowe maja Setup Time i Hold Time rzedu 300ps, rejestry LE maja je
ponizej 30ps
I/O cele tez maja programowalne opoznienia miedzy padem a flip-flop,
z krokiem ok. 60ps, wiec chyba z podobna dokladnoscia [ale tylko stratix,
cyclone ma chyba tylko 3 ustawienia;
moze sie przydac..
istnieje gdzies w quartusie do tego ustawienie?
czy sa takowe komponenty?
a moze tylko przy okazji wyjscia do pamieci DDR?
jak wyglada I/O cela i co mozna w niej ustawic mozesz zobaczyc
w 'resource editor', w quartus ->tools->chip editor i w nim podwojny click
na cele I/O];
do ustawiania drobnych opoznien mozna uzyc rowniez pll - ale oczywiscie
tylko do sygnalu bedacego stala fala prostokatna o niezmiennych
parametrach;
tak, jestem tego swiadom
Nastepny problem - synteza przebiegu...
moge zrobic to za pomoca Deserialiser'a 10 gbit...
ale fajnei byloby to zrobic za pomoca opoznien na PCB i przerzutnikach w
FPGA...
osiagneicie tych 100ps impulsow jest raczej niewykonalne, ale z uwagi ze
minim. dlugosc impulsu wejsciowego to ok 3ns, powinno dac sie cos
zrobic..Mysle nad tym..
tego tez nie rozumiem :(
opisalem to powyzej
na koniec - moim zdaniem rozrzut parametrow w fpga zupelnie wyklucza
takie "pikosekundowe zastosowania", pobaw sie, jesli to nie jest
jakis krytyczny projekt, jesli jest, to ja bym sie zwrocil do
fachowcow [dobrych] od analogowki;
dlatego ciagle mysle dac uklady SERDES...one rozwiaza problem calkowicie
albo zrobic to na rejstrach ECL
ciekawe o ile moga sie roznic opoznienia w tym samym egzemplarzu scalaka
pomiedzy 2 sasiadujacymi padami..
jesli mniej niz 50ps, to byloby o zaakcepowania.
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Tue, 02 May 2006 00:34:19 +0200
Greg:
i musze zrobic symulator udajacy odbicie wiazki..
potrzebuje wiec odebrac sygnal, opoznic i nadac z powrotem..
z dokladnoscia < 0.5ns
dokladnosc czego ? - opoznienia, szerokosci sygnalu ?
SERDES to sa szybkie reejstry przesuwne + PLL
z grubsza wiem, co to serdes, jakies 8 lat temu
uzywalem ich do zmniejszenia ilosci polaczen miedzy
plytkami;
pracuje to na czestotliwosci np 10 GHZ ze slowem 16 bit
tak wiec taki rejestr zbiera mi dane co 100ps i uklada w slowa 16bit
ten rejestr, ktory podales w innym poscie max3952, zbiera dane
z zegarem 640MHz, 10GHz to czestotliwosc transmisji szeregowej;
nawiasem mowiac setup i hold time rejestrow rownoleglych
dla tego ukladu to 200ps, czyli dokladnosc 'skanowania'
efektywnie wynosi 400ps;
zgadza sie, LVDS bedzie pracowal z zegarem kilkase MHz
dlatego pomysl jest by probkowac rownolegle w 8 kanalach ten sam przebieg,
tylko w kazdym kanale nieco opozniony..
w ten sposob zwiekszamy efektywna predkosc zbieranai informacji 8-smio
krotnie.
Pomysl jest sprawdzony w innym projkecie i dziala calkiem przyzwoicie
jesli dane katalogowe sa prawdziwe, to z dokladnoscia 400ps;
tak, ale takowe maja Setup Time i Hold Time rzedu 300ps,
rejestry LE maja je ponizej 30ps
nie znalazlem takich danych, ale przeskanowalem jedynie manual
cyclone na setup time, glebiej szukac mi sie po prostu nie chcialo (: ;
zrobilem z quartusem kilka prob, ktore daly takie wyniki: [cyclone2]
powtarzalnosc opoznienia miedzy padem, a rejestrem LE ~20ps;
[wg. floorplan, na ile dane pokazywane przez to narzedzie odpowiadaja
rzeczywistosci to osobna sprawa]
opoznienie miedzy padem a I/O FF 0ps, wiec chyba powtarzalnosc
tez okolo 0ps;
clock skew jesli zegar jest prowadzony bezposrednio z pinu
kilkanascie ps
jesli zegar jest prowadzony przez clock buffer [clock_ctrl]
kilka ps;
moim zdaniem - jesli dobrze rozumiem co chcesz osiagnac, i zakladajac
uzycie fpga, ktore moim zdaniem do tego sie nie nadaje - byloby
opoznienie mierzonego sygnalu sciezkami na pcb i zapisywanie ich
w rejestrach I/O cell, byc moze korzystajac z opcji, ze w I/O cell
sa 2 rejestry zapisujace na narastajacym i opadajacym zboczu zegara;
i wymuszenie na kompilatorze generowanie zegara przez clock_ctrl,
co zapewnia najmniejsze mozliwe clock skew;
I/O cele tez maja programowalne opoznienia miedzy padem a flip-flop,
z krokiem ok. 60ps, wiec chyba z podobna dokladnoscia [ale tylko stratix,
cyclone ma chyba tylko 3 ustawienia;
sprawdzilem, cyclone2 ma 7 krokow, mniej wiecej co 60ps;
> moze sie przydac..
> istnieje gdzies w quartusie do tego ustawienie?
set_instance_assignment -name PAD_TO_CORE_DELAY 0/1/2...6 -from
<name>
-to <name>
w *.qsf file;
na poczatku prosciej chyba w 'compilator report' kliknac na "fitter",
potem na "resource section", dalej na "input pins" tam wybrac "input",
zanaczyc jakis input signal i klik prawa myszka - z menu wybrac:
'locate in resource property editor' i ustawic opoznienie;
po skompilowaniu - 'assigments->back annotate assigments->
zaznaczyc 'pin, cell, routing...' i 'delay chains';
po tej operacji mozna zobaczyc jak wyglada przypisanie
zarowno w *.qsf file jak i w 'assignment editor' quartusa;
czy sa takowe komponenty?
?
a moze tylko przy okazji wyjscia do pamieci DDR?
architektura I/O jest przygotowana do wspolpracy z ddr,
co nie znaczy, ze nie mozna jej wykorzystac inaczej :);
moge podpowiedziec jak skonfigurowac I/O cell altery, by robila
to, co od niej oczekujemy;
JA
From: "Greg" <Grzegorz.Kasprowicz_at_nospam_CERN.CH>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Tue, 2 May 2006 09:15:55 +0200
i musze zrobic symulator udajacy odbicie wiazki..
potrzebuje wiec odebrac sygnal, opoznic i nadac z powrotem..
z dokladnoscia < 0.5ns
dokladnosc czego ? - opoznienia, szerokosci sygnalu ?
jednego i drugiego
pracuje to na czestotliwosci np 10 GHZ ze slowem 16 bit
tak wiec taki rejestr zbiera mi dane co 100ps i uklada w slowa 16bit
ten rejestr, ktory podales w innym poscie max3952, zbiera dane
z zegarem 640MHz, 10GHz to czestotliwosc transmisji szeregowej;
nawiasem mowiac setup i hold time rejestrow rownoleglych
dla tego ukladu to 200ps, czyli dokladnosc 'skanowania'
efektywnie wynosi 400ps;
tak, chodzi mi zeby zbierac dane szeregowo i zamieniac na rownolegle..
strumien jest 1 bitowy
ale poniewaz oba uklady beda pracowac synchronicznie, to nie dbam w tej
chwili o timingi interfejsu roznoleglego ani jego Tsu i Th, cala ciezka
robote odwala SERDES, FPGA tylko gromadzi dane..
uklad SER i DES moge zapuscic z tego samego zegara 10GHz
znalalzme takze uklady pracujace na 2.48GHz, mozliwe ze wystarcza takowe..
zrobilem z quartusem kilka prob, ktore daly takie wyniki: [cyclone2]
powtarzalnosc opoznienia miedzy padem, a rejestrem LE ~20ps;
[wg. floorplan, na ile dane pokazywane przez to narzedzie odpowiadaja
rzeczywistosci to osobna sprawa]
byloby super...pomierze jak wyglada rzeczywistosc..
moze sie przydac..
istnieje gdzies w quartusie do tego ustawienie?
set_instance_assignment -name PAD_TO_CORE_DELAY 0/1/2...6 -from <name>
-to <name>
w *.qsf file;
ciekawe jak stabilne w czasie to jest...
na poczatku prosciej chyba w 'compilator report' kliknac na "fitter",
potem na "resource section", dalej na "input pins" tam wybrac "input",
zanaczyc jakis input signal i klik prawa myszka - z menu wybrac:
'locate in resource property editor' i ustawic opoznienie;
po skompilowaniu - 'assigments->back annotate assigments->
zaznaczyc 'pin, cell, routing...' i 'delay chains';
po tej operacji mozna zobaczyc jak wyglada przypisanie
zarowno w *.qsf file jak i w 'assignment editor' quartusa;
dzieki, bede probowal
architektura I/O jest przygotowana do wspolpracy z ddr,
co nie znaczy, ze nie mozna jej wykorzystac inaczej :);
moge podpowiedziec jak skonfigurowac I/O cell altery, by robila
to, co od niej oczekujemy;
dzieki, na razie sprobuje z tymi serdes, potrzebuje rozwiazania ktore ruszy
na pewno, potem bede optymalizowal..
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Wed, 03 May 2006 19:42:05 +0200
Greg wrote:
na razie sprobuje z tymi serdes, potrzebuje rozwiazania,
ktore ruszy na pewno, potem bede optymalizowal..
powodzenia, daj znac jak poszlo;
JA
From: "Piotr Wyderski" <wyderski_at_nospam_mothers.against.spam-ii.uni.wroc.pl>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Wed, 3 May 2006 23:51:45 +0200
Greg(G.Kasprowicz) wrote:
[ciach]
A myślałem, że to ja mam dziwne potrzeby. ;-)))
Pozdrawiam
Piotr Wyderski
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy - jako ciekawostka
Date: Thu, 4 May 2006 19:06:34 +0200
A myślałem, że to ja mam dziwne potrzeby. ;-)))
lubie wyzwania..
A miewam jeszcze dziwniejsze potrzeby..:)
jak wytworzyc impuls o dobrze znanej energii (<0.5%) i ksztalcie zblizonym
do Gaussa - ma to byc kalibrator udajacy sygnal z akceleratora czastek (LHC)
czas trwania 1ns
amplituda 8V, na 50 Ohm
czestotliwosc 40MHz
generatory lawinowe odpadaja, chociazby z tego wzgledu ze starzeja sie i
ciezko wyciagnac te 40 MHz (udalo mi sie max 18MHz)
pozostaja SRD, tyle ze wraz wymagaja na wejsciu przebiegu o sporej
amplitudzie, zaleta mzoe byc ze czas narasania nie jest tak krytyczny
kupujac SRD musialem podpisac dokument ze nie bede uzywal w zadnych
militariach :)
ale ladne to cudenka...mozna generowac impulsy po 50ps
koszt 1 sztuki przy zakupie 100 -10.. 20$
From: JA <j_andr_bezsmieci_at_nospam_freeent.de>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 17:59:03 +0200
nie zwrocilem uwagi na to wczesniej:
Witam
potrzebuje zbudowac uklad mierzacy faze sygnalu
w odniesieniu do zegara rozdzielczosc 10 bitow,
zakres 20ns
[...]
> mamy np 1024 przerzutnikow D, wszystkie wejscia zegarowe
> laczymy razem, natomiast wejscie D pierwszego podajemy
> sygnal, na drugie sygnal opozniony o kilkaset ps,
> na nastepne dalej opozniony..itd..
cos tu nie gra, albo 10 bitow, albo opoznienia
kilkaset ps ...
a przy okazji - chyba lepszym pomyslem na lancuch
opoznien sa opoznienia w I/O celach, niz logika w fpga;
JA
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 21:22:28 +0200
[...]
mamy np 1024 przerzutnikow D, wszystkie wejscia zegarowe
laczymy razem, natomiast wejscie D pierwszego podajemy
sygnal, na drugie sygnal opozniony o kilkaset ps,
na nastepne dalej opozniony..itd..
cos tu nie gra, albo 10 bitow, albo opoznienia
kilkaset ps ...
mialo byc kilkanascie:)
From: J.F. <jfox_xnospamx_at_nospam_poczta.onet.pl>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 18:56:19 +0200
On Sat, 29 Apr 2006 11:15:37 +0200, Greg wrote:
potrzebuje zbudowac uklad mierzacy faze sygnalu w odniesieniu do zegara
rozdzielczosc 10 bitow, zakres 20ns
nie bardzo rozumiem - chcesz zmierzyc pozycje zbocza z rozdzielczoscia
.. 20ps ?
jeszcze lepiej byloby uzyc dedykowanego chipu..Ale czy sa takowe?
Cos od oscyloskopow ?
J.
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 21:21:47 +0200
potrzebuje zbudowac uklad mierzacy faze sygnalu w odniesieniu do zegara
rozdzielczosc 10 bitow, zakres 20ns
nie bardzo rozumiem - chcesz zmierzyc pozycje zbocza z rozdzielczoscia
.. 20ps ?
tak, dokladnie
da sie zrobic, bo chlopaki w firmie robia...
tyle ze robia to przy okazji i wsadzaja ten bloczek jako jeden z wielu do
scalaka..
From: "Jarek Grolik" <grolikNOSPAM_at_nospam_chemia.uj.edu.pl>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 19:16:14 +0200
Witam.
Użytkownik "Greg" <Grzegorz.Kasprowicz_at_nospam_CERN.CH> napisał w wiadomości
news:e2varq$bl9$1_at_nospam_inews.gazeta.pl...
Zobacz sobie na układy TDC firmy ACAM.de bez problemu zmierzysz dodatnie i
ujemne różnice w fazie ( czasie ) dwóch sygnałów, ale nie wiem czy mają coś
co pracuje do 20 ps. Pogooglaj . Scalaki ACAM nie sa drogie 15-25 Eurow u
producenta nawet chyba z przesyłką... zależy jeszcze które , bo te32
kanałowe kosztują ponad 100 Euro.
Pozdrawiam
Jarek Grolik
From: "Greg\(G.Kasprowicz\)" <gkasprow_at_nospam_gmail.com>
Subject: Re: cyfrowy pomiar fazy
Date: Sat, 29 Apr 2006 21:28:49 +0200
Zobacz sobie na układy TDC firmy ACAM.de bez problemu zmierzysz dodatnie i
ujemne różnice w fazie ( czasie ) dwóch sygnałów, ale nie wiem czy mają
coś
co pracuje do 20 ps. Pogooglaj . Scalaki ACAM nie sa drogie 15-25 Eurow u
producenta nawet chyba z przesyłką... zależy jeszcze które , bo te32
kanałowe kosztują ponad 100 Euro.
dzieki wielkie, szukalem pod tym haslem, ale cos cienko bylo
dokladnei tego mi potrzeba:)