<snip> > I've had a quick look at the fifos in the opencores PCI controller, > and they do this. Unfortunately, there are some things I don't > understand yet about how to best make use of it. If your fifo is just > "full" or "empty", it's not such a problem. You have the wrap-around > bits that change slowly enough, and the only other comparison is equal > or not-equal. But the wrap-around and the pointer would change > simultaneously. I'll have to run some experiments and see what I can > come up with. And perhaps you can give me some pointers.
Before you do anything more let me strongly recommend reading the paper I suggested, it should reveal all. - I definitely recommend printing it out and sitting quietly for a while with pen, paper and a cup of tea (or coffee)! > Also, are there any problems with graycode if the sender's clock is > substantially faster that the receiver's clock? The receiver will see > more than one bit change at a time, but I suppose only one could end > up metastable. <snip> No - either side of the FIFO can be faster - and you have answered your own question. The gray pointers mean that only one bit can possibly go metastable at any time. Again, the paper will give you a much better understanding of this; better than any explanation I can give in email. Good luck, James. _______________________________________________ Open-graphics mailing list [email protected] http://lists.duskglow.com/mailman/listinfo/open-graphics List service provided by Duskglow Consulting, LLC (www.duskglow.com)
