6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Apr 27, 2024 12:55 pm

All times are UTC




Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3
Author Message
PostPosted: Mon Jul 10, 2023 9:22 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8428
Location: Southern California
BigEd wrote:
Good point, write should be gated to some time where the address decoding is stable. Phi2 is convenient for that - but only convenient, not the actual definition of the right window!

For the '02, true, as long at writes never start before Φ2 goes high; but I was responding to what AndrewP said about the '816, "It's only the Bank-Address-is-disappearing restriction in my head that made me think I should only start doing address decoding after PHI2 has gone high and after the '573** has stopped latching," because in the '816 situation, the rise of Φ2 is the "city limit sign" telling where the function of the data bus suddenly changes.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 10, 2023 9:34 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10793
Location: England
Hmm, I don't quite understand you - with a latch in place, the circuit has access to the high byte of the address almost as soon as it's output by the 816, and that access continues until the end of the cycle. There's no remnant of the effect of phi2 rising, as seen at the output of that latch.

It's true that any logic on the input side of the latch needs to resolve before the rise of phi2. But now I think about it, I'm less sure of the advantages of putting logic on the input side.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 11, 2023 2:49 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8428
Location: Southern California
On the '816, there's the matter of data-bus contention.  A '245 on the data bus will prevent this, although it, too, needs to enable its outputs only when Φ2 is high.  It takes care of the possibility that something else on the bus whose OE\'s are gated by Φ2 don't turn off soon enough when the '816 tries to put the bank address out on the bus, or the possibility of something out there responding with data before the '816 quits asserting the bank address.  Jeff's excellent topic is at viewtopic.php?f=4&t=2438 .

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 14, 2023 9:03 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
AndrewP wrote:
... Adrian's post made me stop and ask: "If I can use a '540 to do the inversion before latching the result then why must I wait until PHI2 high before beginning address decoding?"


You shouldn't actually wait for PHI2 high to begin address decoding, that's why there is a transparent latch! With it, the decoding begins as soon as the bank address bits have propagated through the latch, not when PHI2 rises.

Using a D flip-flop makes you loose time because your /BankIsZero signal only becomes valid after PHI2. If you replace it with a transparent latch (not sure if single-gate transparent latches exist), the signal becomes valid at 13+5+latch_pd. Assuming your latch is faster than 7ns+1.6ns, it will be faster overall, and the time at which PHI2 rises becomes irrelevant (except for setup/hold time requirements on the latch).

Also, because propagation is commutative, it does not matter in this case if the transparent latch is before or after the OR gates, meaning you can use the same latch you use for the bank address bits (assuming the latch opening propagates faster than the bank address bits, and assuming setup/hold time requirements on the latch are satisfied in both OR->latch and latch->OR cases)

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 15, 2023 2:25 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3346
Location: Ontario, Canada
akohlbecker wrote:
not sure if single-gate transparent latches exist

I'll just jump in for a moment here to mention that even a single gate isn't the fastest solution. A FET switch has a sub-nanosecond prop delay. :shock: See the discussion of FET switches about halfway through my first post in When is a Latch not a Latch? (Capturing the '816 Bank Addr)

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 15, 2023 6:39 pm 
Offline
User avatar

Joined: Mon Aug 30, 2021 11:52 am
Posts: 251
Location: South Africa
Thanks for the replies! Sadly we've been kicked to really bad loadshedding so time with electricity has to be rationed but I still wanted to reply to your posts.

I lost the plot when I thought I couldn't begin address decoding until after PHI2 is brought high. Fortunately, looking at my address decode circuitry I wasn't confused when I designed it and it is correct.

There is a single gate LVC latch that can be run at 5V for 1.5ns propagation time. The 74LVC1G373. I've updated and fixed the OR gate diagram to include it instead:
Attachment:
OrGateBankIsZeroB.png
OrGateBankIsZeroB.png [ 13.65 KiB | Viewed 4321 times ]
(Looks like I forgot to invert PHI2).

If I've understood Dr Jefyll correctly then the absolute fastest way to being address decoding without incurring the propagation delay of a 74LVC573 would be something like this:
Attachment:
FETFastBA.png
FETFastBA.png [ 14.46 KiB | Viewed 4321 times ]
which would claw back 3 to 4 nanoseconds.

I hope I never find myself in a situation where I need those nanoseconds but that's a pretty nifty thought!

Cheers,
Andrew


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 15, 2023 9:30 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3346
Location: Ontario, Canada
AndrewP wrote:
If I've understood Dr Jefyll correctly then the absolute fastest way to being address decoding without incurring the propagation delay of a 74LVC573 would be something like this:
Attachment:
FETFastBA.png
FETFastBA.png [ 14.46 KiB | Viewed 4302 times ]

You've gotten the "fast propagation" part of the idea, Andrew, but overlooked the following portion of the linked post. "As drawn, the circuit relies on the capacitance of the attached devices to maintain the Bank Address bits during the clock-high period -- presumably just a fraction of a microsecond."
Attachment:
FETFastBA edit1.png
FETFastBA edit1.png [ 6.35 KiB | Viewed 4302 times ]


"But if clock stopping is a requirement then you can consider attaching a 74ACT1071 or other bus-hold device to indefinitely maintain the bits."
Attachment:
FETFastBA edit2.png
FETFastBA edit2.png [ 7.43 KiB | Viewed 4302 times ]


AndrewP wrote:
I hope I never find myself in a situation where I need those nanoseconds but that's a pretty nifty thought!
If you crave high clock speeds then nanoseconds matter! And there's nothing complicated about the FET Switch approach. Just remember that capacitance and/or bus-hold devices have limitations in regard to excessive DC loading on the BA lines. Luckily, however, if those lines drive only MOS/CMOS inputs then the DC loading will be essentially zero.

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 37 posts ]  Go to page Previous  1, 2, 3

All times are UTC


Who is online

Users browsing this forum: No registered users and 22 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: