[Open-graphics] A really good immediate use for OGD1: PCI bus analyzer

Nicholas S-A nova at macintoshclub.com
Tue Jan 2 21:08:24 EST 2007


>> How much speed can we get from the XP10?  Enough to do any meaningful
>> timing captures?  According to the raw specs, we could theoretically
>> sample at 10x the PCI bus clock for a 33Mhz bus but the front end  
>> would
>> have to be very carefully crafted to ensure the timing was fast  
>> enough.
>
> You just made an interesting point.  We can get the XP10 to go that
> fast... but can we get that data quickly enough from the XP10 into the
> 3S4000?  That might be a problem.

We could do some selectivity from the start... after all, signals  
that don't change are
not "interesting" (as in, we can reconstruct them) to us, so why  
waste the memory bandwidth?
There is no point in storing the non-changing signals in memory,  
since they will be
flushed out later anyway. If we do some sort of "changelog" in the  
XP10, it will most
likely make the tranfers faster. Since we are doing 32 bit PCI  
(right?) that is less than
128 signals, so we can easily clock over the changed signal + current  
state (as 8th bit)
in the connection between the two chips.
So, for example, if there is a 64 IO interface between Spartan and  
XP10, we could have
8 control signals (one clock, 5 bits to say number of transfers  
coming, and 2 whatever control)
and 56 bits of data, split into 7 bytes, with 7 bits being the signal  
number and one bit being current state.
I don't know if this makes sense, just let me know if it doesn't ;-)

And make it DDR so 2.5 clock cycles can transfer every signal. With  
10x bus speed, that should
be ample fast to capture stuff (4x overhead) - right?

If we want analog signals, it is basically the same idea but using,  
say 16 bits per signal with 7 bits
for identifying the signal and 9 bits of precision on the ADC.

So, how many pins of interconnect between Spartan and XP10?

nick


More information about the Open-graphics mailing list