( ESNUG 446 Item 8 ) -------------------------------------------- [09/01/05]
From: [ Teller of Penn & Teller ]
Subject: Watch Out; Denali PureSpec PCI Express has Sloppy Documentation
Hi, John,
Our ASIC design team recently began using Denali's PureSpec PCI Express
validation tool. We selected it mainly because another division of my
company had already licensed it. At first glance, it looked like it was a
pretty solid and well-documented verification environment. That's until I
started trying to do meaningful activities with it (besides just letting it
train the PCI Express link).
This PCI verification environment has very inadequate documentation. At
Denali's request, a support ticket has been opened to address some of my
concerns that I had expressed to them, but after again finding myself at
a dead end (or so it seems), I decided to take this public to make sure
my comments don't end up in a black hole.
Denali supplied a user's manual and a reference manual. There are items
in their reference manual (like how to install the product) that ought to
be in the user's manual. There are items in the user's manual that ought
to be in the reference manual. Other points of contention:
- There are no field-by-field descriptions of what's in the Denali PCI
Express packet type that's used to generate the transactions. There's
also no indication of how wide each field is. I'm continually consulting
the source files to figure this out. Our previous PCI-X and PCI test
environments licensed from another vendor *did* document every field and
I rarely had to go digging through uncommented source RTL to get an
answer.
- Information about how the transaction log file is formatted is
supplied in an appendix tucked at the end (page 326) of the reference
manual. I had no inkling that memory space transactions would print the
payload bytes in big-endian order while configuration space transactions
would print them in little-endian order. The example on pages 73 & 74 of
the Denali user's manual shows an excerpt from the transaction log, but
doesn't even have so much as a footnote telling you that the byte
ordering can be different or recommending that I consult the appendix.
I spent an hour investigating our DUT for errors before I suspected that
there was no problem at all.
- No explanation was given on how to get the data collected from a read
transaction. I was fortunate enough to figure it out on my own, but not
everyone might figure it out.
- The examples explaining how to interface the Denali tool to Specman has
some glaring holes. I spent a few hours this afternoon realizing that
the reason why I couldn't get Specman to come up with the PLI in the new
environment was because there was some C code that had to be compiled
and linked into the design. No mention of this anywhere in the Denali
ducumentation -- just three commands Denali said to enter that results
in an error message from the simulator because it's missing the
aforementioned code. Why is there no PCI Express example in the
distribution for Specman?
Even though Denali's tech support department is one of the more responsive
I've dealt with, I still shouldn't have to open 4 or 5 tickets in as many
weeks to get answers to questions that should have been handled either by
the Denali documentation or by decent examples bundled with the Denali tool
distribution. Technical support is a resource for when you're stuck with
more complicated issues like a tool crashing or when you want to do
something sophisticated with the tool and can't figure out how. Denali
would benefit from some extensive rewrites of this 18-month old
documentation. It would probably allow their technical support staff to
spend more time addressing the tougher calls instead of the basic questions
like I've been asking.
This is also not intended to slight the quality of the Denali PCI product
itself; once I do figure out how to get the tool going, it seems to be
pretty solid and versatile.
- [ Teller of Penn & Teller ]
Index
Next->Item
|
|