Цитата(des00 @ Jan 29 2006, 03:16)

Цитата
Ja moget tut ne prav no esli dage s vyhoda CLK0 i CLK2X signaly synfasny to oni dolgny doiti do svoih GBUF svoimi putjami i tam mogut nabrat' nebolshoj razbeg phasy. Hotja moget soft eto uchityvaet ne znaju. V Virtex4 est' special'nye clk buffers poddergivajushie synfasnost' CLK , CLK/2, CLK/4 i t.d.
Po povodu soglasovanija nizkochastotnoj (N) i vysokochastotonoj (V) chastej shemy.
U vas ja tak ponjal N i V ne sovsem asyncronny. Oni privjazany k odnomu clocku i tolko imejut razlichnuju fasu.
Est' mnogo sposobov kak eto sdelat', poskolku eto proshe chem sovsem async clks.
Vo pervyh, esli nugno peredat' tol'ko odin signal, to eto mogno sdellat' na pare triggerov s avtosbrosom.
Po moemu mnogokratno obsugdalos'.
Esli eto bus, to tut nugno akkuratnee. No esli, k primeru, u vas izvestno chto sootnoshenie clockov 1 k 3 to tut sovsem prosto - delaete peredachu dannyh po vtoromu clocku, ostavljaja po odnomu clocku na razbeg fas.
Est' i drugie sposoby, no vse zavisit ot konkretnoj situacii i chto vam izvestno o clk zaranee.
Dopolnitel'no posmotrite reshenie ot Peter Alfike na Xilinx tech exclusive, kogda on rassugdaet o
"crossing async boundaries" - chto to v etom rode.
Спасибо за ответ, я читал статии Peter на сайте, он рассуждает об асинхронных клоках.
У меня не много другая ситуация и по поводу первых "пристрелок" лучшим вариантов выглядит вариант с сигналом разрешения.
Насчет вопроса про CLK, CLK2 меня вот что интересовало,
в своей схеме я делаю сигнал разрешения (CLK) на тригере, и потом сигнал с этого тригера идет на входы разрешения блока работающего на частоте CLK2.
Вот я и по думал а нужен ли этот тригер, если можно снять этот сигнал с DCM(CLK) и так же подать на входы enable блока работающего на частоте CLK2. Плюсы такого решения в том, что для сигнала разрешения используеться линия с большим fan-out.
Потом я подумал, а что если просто тактировать НЧ часть от CLK, а ВЧ от CLK2, если бы клоки были синхронны то проблем с метастабильностью не было бы и просто потребовалась бы перетактирование сигналов от НЧ к ВЧ части на 1ом тригере, а не на 2-х.
Не могли бы вы прояснить данную ситуацию ?
Variant s signalom clk enable samyj bezopasnyj i rekomenduemyj. Esli ego mogno ispol'zovat' ja by na vashem meste postupil imenno tak. Voobshe v voprosah clk syncronizacii ja vsegda sleduju principu izvastnoj frazy is "Pervogo Otdela" "Luchshe perebdet' chem nedobdet'", esli konechno kto pomnit chto eto takoe. (Srazu ogovorjus' chto krome etoj frazy ja nichego obshego s 1 otdelom ne imel ;-) )
To est' drugimi slovami ochen' konservativen v voprosah clk'ov.
Drugoe delo kogda odin kusok koda uge napisan i ne podgotovlen dlja signala clk enable. Togda dannyj nugno peredavat' iz odnogo clk domain v drugoj.
V vashem sluchae , kogda "clks are synchronous" mogno, naprimer primenit' sledujushij izvestnyj sposob.
Pust' naprimer vy peredaete dannye iz CLK1 v CLK2, gde CLK1=CLK2, np fronta ih ne synfasny. (Clks, konechno, mogut otlichatsja drug ot druga no v N=integer chislo ras, Togda my ispol'zuem kagdyj N-tyj front bolee vysokochastotnogo CLKa).
Dannye iz CLK1 domain poocheredno sohranjaete v dvyh ( ili bolee ) registrah (odd and even dlja 2h registrov). V rezul'tate v kagdom iz registrov dannye activny v techenii 2h perodov CLK1, chto garantiruet kak minimum odin "valid edge of ClK2" po kotoromu i registriruete dannye iz oboih registrov.
Ostaetsja pravilno opredelit' kakoj imenno "edge of CLK2" nugno ispol'zovat' v dannom konkretnom takte i potom sobrat' dannye v odim stream.
Chto kasaetsja ispol'zovanija "constraints" pri "Synthesis and PAR", ochevidno mogno dobitsja trebuemogo resul'tata, no lichno ja predpochitaju ispol'zovat' snachala vse "logicheskie" sposoby , a esli ug sovsem nel'zja obojtis', to togda konechno ispol'zovat' vsjakie hitrosti s "constraints". Inache poluchennye reshenia trudnee ispol'zovat' v budushm pri perehode s kristala na kristal. I potom men'she zavisish' ot vsevozmognyh "tools bugs".
Da, zabyl eshe dobavit' naschet clk enable fanout.
V4 (i pomoemy Virtex, Virtex E toge) pozvoljaet ispolzovat' "Global CLK nets" dlaj rasprostranenija signala CE. I "PAR tool" sam ispol'suet etot "net" esli vidit bol'shoj "fanout". Virtex 2 po moemu ne pozvoljaet.
Hotja vse eto nugno utochnit' v "datasheets".