BigDumbDinosaur wrote:
I don't understand why everyone is so resistant to using these signals to qualify chip selects.
I can't speak for "everyone" but it's my own conclusion that VPA is usually best ignored... depending on one's priorities, of course. Usually there's a degree of tradeoff involved. But most of us have priorities that favor logic that's simple and fast.
It's true that, in the case you mention, ORing VPA with VDA prevents the occurrence of an un-necessary wait state if a dead cycle occurs while the '816 is executing code from ROM. If you run a lot of code from wait-stated ROM then the advantage of bringing VPA into the picture begins to become significant. At a guess, I'd say it could reap a 10% speedup.
Unfortunately, the OR gate used to bring VPA into the picture not only adds complexity to the logic but its prop. delay of about 5 ns probably has a direct impact on the maximum achievable clock speed. If you're running at 20 MHz then a 5 ns slowdown is 10%.
I prefer to keep an open mind, myself. I can accept that ORing VPA with VDA
will make sense in certain circumstances. Invariably there's a penalty, which may be large or small. But before accepting even a small penalty, my default attitude is, "First let's see if we can find a way to just avoid doing that."
And usually there is a way to avoid bringing VPA into the picture.
There's more I could say, but I'll cut it short by saying WDC's doc on the subject of VDA and VPA is irrelevant in some ways (caches?? really??) and woefully under-elaborated in others.
BTW: nice work on the summary in your
post, kernelthread.
-- Jeff
_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html