6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Jun 29, 2024 11:31 pm

All times are UTC




Post new topic Reply to topic  [ 7 posts ] 
Author Message
 Post subject: Hold Time
PostPosted: Sat Oct 22, 2022 1:38 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 707
Location: Texas
Hi everyone!

What is the purpose of the 6502's PHI2 falling edge Hold Time on the address and data bus? Is that when it is performing internal operations?

I know this is a terribly stupid question, but let's just say for 1 year now I've just passed over this tiny fact.

Thank you all.

Chad


Top
 Profile  
Reply with quote  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 1:49 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10837
Location: England
The hold time, on an output, is something I prefer to call the clock-to-Q time. It's a promise that the device driving the bus won't yank the values away too quickly after the clock edge. This promise should then line up with the devices receiving the data - they will have a hold time as a constraint.

In other words, the things receiving promise to operate correctly if the data isn't taken away too quickly, and the things sending promise not to take the data away too quickly.

Sometimes a hold time constrain is zero nanoseconds. This is still meaningful, because the clock which the receiving device sees might be slightly delayed or advanced compared to the clock which the sending device sees.

Overall, inputs have constraints, on how late a signal might arrive (not too late) and how early a signal might cease to be valid (not too early). And outputs have promises, on how late a signal might become valid, and how soon it might cease to be valid.

Note that when a sending device stops driving a signal, the signal doesn't necessarily change - that depends on whether anything else is driving. If nothing is driving, the signal may remain at a valid voltage for a short while. Conversely, if some other sending device starts driving before the first one has stopped, the signal may change and become invalid even before the first one stops driving.


Top
 Profile  
Reply with quote  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 2:51 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 707
Location: Texas
Thank you Ed. Right, a promise, that is good, I understand. But now, sometimes the 6502 is reading data, so it's the receiver. PHI2 falls and... does it still need that data from the RAM/ROM for the "holding time"? I had *figured* (which is never a good thing) that it had already done it's job before the end of PHI2-high. I'm probably wrong.

Thoughts?

Chad


Top
 Profile  
Reply with quote  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 4:03 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1003
Location: Canada
When the CPU is reading data from memory or other peripheral it has a hold time constraint. I believe it is 10ns minimum for a 1MHz or 2MHz old school NMOS 6502. That means the device driving the data bus must keep the data stable for at least 10ns after Phi2 falls.

_________________
Bill


Top
 Profile  
Reply with quote  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 5:05 pm 
Offline

Joined: Sat Oct 09, 2021 11:21 am
Posts: 707
Location: Texas
BillO wrote:
When the CPU is reading data from memory or other peripheral it has a hold time constraint. I believe it is 10ns minimum for a 1MHz or 2MHz old school NMOS 6502. That means the device driving the data bus must keep the data stable for at least 10ns after Phi2 falls.


Perfect! Thank you, that's the confirmation I needed.

Thank you both!

Chad


Top
 Profile  
Reply with quote  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 8:23 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8460
Location: Southern California
BillO wrote:
When the CPU is reading data from memory or other peripheral it has a hold time constraint. I believe it is 10ns minimum for a 1MHz or 2MHz old school NMOS 6502. That means the device driving the data bus must keep the data stable for at least 10ns after Phi2 falls.

Note that like Ed mentioned, if nothing else is driving the bus, its capacitance will hold the last driven value for a long, long time (even milliseconds, not just microseconds or nanoseconds, according to an observation I happened to make when developing something). This assumes all loads on the bus are MOS (CMOS, NMOS, etc.). If there's even a single 74LS load on there, its input current will pull the bus up to a '1'; but it will still take a few hundred ns to do so.

_________________
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  
 Post subject: Re: Hold Time
PostPosted: Sat Oct 22, 2022 8:58 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1003
Location: Canada
GARTHWILSON wrote:
Note that like Ed mentioned, if nothing else is driving the bus, its capacitance will hold the last driven value for a long, long time (even milliseconds, not just microseconds or nanoseconds, according to an observation I happened to make when developing something). This assumes all loads on the bus are MOS (CMOS, NMOS, etc.). If there's even a single 74LS load on there, its input current will pull the bus up to a '1'; but it will still take a few hundred ns to do so.
So as long as the addressed device at least goes Hi-Z at the fall of Phi2 and there is not anything else to gum up the works there should be no issues? That makes sense. Being the end of a read cycle there is not likely to be anything else driving the bus unless there is some real stiff buss termination, or a badly timed reflection.

_________________
Bill


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 6 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: