[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Chipset problem



 A PCI device I've been working on for a while uses delayed transactions
for read cycles.  Typically, it takes six retries for my device to retrieve
the data before I acknowledge the cycle (on the master's seventh attempt)
with a disconnect with data.

  Although I've verified with a logic analyzer that the read data returned
to the PCI bus is correct, the software says it received 0xFFFFFFFF.  I
have verified that data setup and hold, parity, and other parameters are
correct or within proper limits.

  Configuration reads to my device are not delayed and do not seem to have
this problem.

  Almost out of ideas, I decided to see if the number of retries was the
culprit.  I took two DEC PCI-PCI bridge evaluation boards, put them back to
back, and then put a PCI device (not mine) at the end.  This created a 3
level PCI system and caused the PCI-PCI bridge on PCI bus 0 to issue 4
retries before it returned the data on the master's fifth attempt.  Lo and
behold, although the logic analyzer verified that the proper data was
returned to bus 0, the software reported 0xFFFFFFFF.  It didn't matter
whether the cycle was a Type 1 configuration read or a memory read.  When I
took out the middle bridge, the number of retries was reduced by 1 and the
data reported by the software was correct.

  All write cycles (even the delayed ones) work fine.  I verified this by
reading what I had written.  Although  I couldn't tell from the software
that the write cycles were working, the logic analyzer traces showed that
the data being read was the same as that being written.

  So I'm looking at the chipset as the problem rather than my device (since
I was able to reproduce the problem without my device in the system!).  The
chipset is the VXPro.  I've heard nasty rumors about its quality, but
mostly related to IDE problems.

  Does anyone know if this chipset in particular, or PCI chipsets in
general, have a retry limit as short as 4 or 5 retries?  Could there be a
timer in the chipset?  Could there be something else I'm overlooking?  Any
light shed on this subject will be greatly appreciated.

  Thanks.

  Craig Conway
  National Instruments