On Tue, 7 Jun 2005 16:29:56 -0400
Timothy Miller <[EMAIL PROTECTED]> wrote:

> http://opengraphics.gitk.com/sync.gif

Looks nice, but as it always passes the token around,
we'll have an additional delay when new data arrives until
the token passes from the first clock domain to the second.
Moreover, this delay is prety much random, depending on
where the token currently is and as it passes the clock
domain border twice, we can have an additional delay of
c1+c2 in the worst case (ie when on both border crossings
of the token the timing constraints are violated and thus
a metastable state is created)

How about using an req/ack system ?
Ie the first clock domain sets his req line to signal
that there is new data to fetch, the second clock domain
fetches the data on seeing the req signal assertion, and
after it ensured that all data has been copied correctly,
it sets the ack line, signaling that it got everything.

Another system that could be used is, to add an additional
register on the side of the second clock domain and compare
it's input and ouptut, if it differs, we are in the transition
between two data items and thus have to wait for another clock
cylce. Ofcourse this only works if the rate of arriving
data items is much lower than the clock of the second domain.


                                Attila Kinali
-- 
郷に入れば郷に従え
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to