Robert R.
eSPI Analysis = Close, but I'd really like more
2017-11-30
eSPI is a small market, so it probably doesn't get much testing. Consequently this has a few bugs and doesn't feel refined.
I want to monitor an eSPI bus using Data Center 6.73.007. eSPI is running at minimum speed (20 MHz) in quad mode, and the analyzer generally decodes and shows me what's happening. Overall it's useful. But there are a few gripes and issues:
1. TotalPhase goes to the trouble of decoding and interpreting the packets, then only does a mediocre job of presenting it. It's only a step or two above raw data, which is a shame because it takes a fair bit of protocol decode to get to that point. Anyway, I'd love some columns for things like:
- Cycle Type (GetCfg, PutCfg, GetVWire, PutMemRd32Short, etc.),
- command phase,
- response phase (command/response phases are currently in a single column along with the whole transaction, so it's difficult to parse quickly),
- status reg (gets returned in every cycle, would be nice to have in its own column)
- address/register (when applicable)
- CRC pass/fail
2. [bug] I exported to a .csv so I could separate commands and responses (using some 'if' statements to copy to new columns). Some of the transactions were missing commands. I noticed the "Index" column skipped a number here and there, so I expanded all transactions in Data Center and exported again (with no filters selected) and got the same thing. It just skips some of the lines when exporting.
3. [bug] When transitioning from single mode to quad mode the analyzer switches as soon as the bit is set instead of at the end of the transaction. The effect is that the response phase for that command is always lost. Doesn't matter too much.
4. [bug?] Some of my transactions have all 0 responses, sometimes the responses are garbled data. It's hard to prove that I haven't screwed up timing or signal integrity or something, but I did enough investigation that I'm satisfied the response wasn't all 0. Also, the master would have behaved differently if some of those bits had been as reported, so I'm pretty sure this is an analyzer bug.
In the end I'm still using this because it's useful (and we already bought it), but it's frustrating that it's not better than it is.