6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 10:23 am

All times are UTC




Post new topic Reply to topic  [ 23 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: MARC-3 S
PostPosted: Mon Feb 26, 2018 3:24 am 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
Nice to see the progress, Marco! And I like the photos of the piggybacked RAM chips. :)

Not so enthusiastic about your timing calculations, though.
Quote:
The AT28C256 is only 150ns, so that should be good for 6,67 MHz [...] [27C160's] are 2MiB, 100ns, that’s good for 10 MHz
I guess you know it's simplistic (and falsely optimistic) to expect a system to run at a clock rate that's the reciprocal of memory cycle time. This allows zero ns for the CPU's end of the transaction. :|

-- 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  
 Post subject: Re: MARC-3 S
PostPosted: Mon Feb 26, 2018 10:50 am 
Offline

Joined: Wed Sep 11, 2013 8:43 pm
Posts: 207
Location: The Netherlands
Dr Jefyll wrote:
Nice to see the progress, Marco! .. I guess you know it's simplistic (and falsely optimistic)

Thanks Jeff!

Yes indeed I know, however what I don’t know is:

Why is it running at 8 MHz? The EEPROM has better specs then specified? Will it fail over time?
What would be a safe clock speed if you know the specs of the slowest component?
What would be a safe clock speed if you don’t know the specs of the slowest component?

_________________
Marco


Top
 Profile  
Reply with quote  
 Post subject: Re: MARC-3 S
PostPosted: Mon Feb 26, 2018 8:37 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Here's my understanding of it, which is old, but it's probably still fairly accurate.

The specs are guaranteeing that it will be at least this good.  Actual parts are not identical, even from the same wafer.  They cover a range.  I got a taste of this in the mid-1980's when I worked at a place that made VHF and UHF power transistors mostly for military radars and communications.  I was not involved with wafer fab, but was partly involved in setting up the production testing for a new MOSFET line, and later in applications engineering where I would commonly set up the conditions dictated by each potential client to see how well a given part number would work for them, and whether enough of the parts would pass to make the potential contract worthwhile.

Since the parts cover a range, most of them, in order to maximize yield, will be considerably better than the spec.  They're not guaranteed to be though, so you can't count on it.  There's also "binning."  The "bins" are not actual bulk containers, but classifications for sale.  For an EPROM, the "bins" might be for example 55ns, 70ns, 100ns, and 120ns.  The parts are tested, and each one is put into the fastest bin that it passes the test for.  So imagine a part marked 100ns.  It might have been 71ns, which is faster than marked, but not fast enough to make it into the 70ns bin.  Or it might have been 99ns. You don't know.  They can charge a little more for the faster ones, without throwing out the slower ones.

In the late 1970's Bill Mensch had NMOS 6502's running at 10MHz.  That doesn't mean they would pass all the timing margin guarantees at that speed, or that they were guaranteed to run at 10MHz under the whole temperature range.  He tells that early production testing was done on a crude, home-made manual tester.  If I understood it correctly, the tester was hand-made to approximate the timings of the accompanying parts that a 6502 of so many MHz would have to operate with, which implied that the 6502 met the remainder of the timing margins, and then if it worked at 4MHz, they'd mark it for 2MHz, and if it didn't make it for 4MHz, even by the slimmest of margins, it was marked for 1MHz.  IOW, a 1MHz might have actually worked at 3.9MHz, at room temperature.

Temperature does affect it.  You're probably only operating it at room temperature, whereas it will slow down at the hot end.  One of the 6502 home computers—maybe Ed remembers which one—had a huge problem with this.  The designers assumed that just because it worked in their air-conditioned lab, it was fine.  But when customers used them in very warm conditions, it would crash.

The takeaway is that although some parts will exceed the guaranteed timing margins by factors that bring a big smile, you cannot assume they all will.  On my workbench computer, I used a variable-frequency oscillator to gradually turn the speed up until the first problems showed up (which happened just a hair above 7MHz), then I backed the speed down a bit (to 5MHz) for a safety margin and put in a crystal oscillator of that speed.  If you're going into production though, you would want to test a lot of units to find out what they can do and whether you'll be safe selling a product that's supposed to run well above the IC manufacturers' specified speeds.  The SuperCPU add-on for the Commodore 64, using a 65816 running at 20MHz, was one such product.  I don't know much about it, but I expect they had to use extra-fast supporting parts to do it.

Be sure to go through Dr. Jefyll's page he linked to on the meanings of 65xx timing specs, with his excellent animated .gif illustrations, at http://laughtonelectronics.com/Arcana/V ... iming.html .

_________________
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: MARC-3 S
PostPosted: Mon Feb 26, 2018 9:00 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
(There's another effect of binning: if 10% of the parts pass the test and go into the fastest bin, but the market only needs 5%, then some of the known fast parts can be marked as some slower grade and sold as such.)

Two other effects allow overclocking: the supply voltage and the temperature may not be worst case, and probably are not.

Another effect is that a critical path may pass through several components, any of which might have some margin beyond the spec. A fast gate in the glue logic might make up for an on-spec CPU and ROM.


Top
 Profile  
Reply with quote  
 Post subject: Re: MARC-3 S
PostPosted: Tue Feb 27, 2018 10:59 am 
Offline

Joined: Wed Sep 11, 2013 8:43 pm
Posts: 207
Location: The Netherlands
So first of all the sum of all the propagation delays dictate the maximum frequency. Then it’s a bit of luck how much you can get above the specified frequency of the individual components.

Nevertheless I have different can- and crystal oscillators to determine the maximum frequency my computer will run on. However this could and will probably change every time I add a peripheral / PCB to my computer.

GARTHWILSON wrote:
The "bins" are not actual bulk containers, but classifications for sale.


BigEd wrote:
There's another effect of binning: if 10% of the parts pass the test and go into the fastest bin, but the market only needs 5%, then some of the known fast parts can be marked as some slower grade and sold as such.


Indeed, I think that’s what Intel does with their CPU’s, normal versus “K” versions etc.

BigEd wrote:
supply voltage and the temperature

Of course I remember overclocking my ASUS motherboards, CPU, RAM and video cards back in the 90’s, and I had to provide sufficient cooling and raise the supply voltage of some components. Now I’m not doing that anymore, the PC’s nowadays are fast enough.

_________________
Marco


Top
 Profile  
Reply with quote  
 Post subject: Re: MARC-3 S
PostPosted: Tue Feb 27, 2018 11:04 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
The other thing to note is that a hobbyist has a different situation than a mass market manufacturer. If you need to ship a million computers and deal with the expense and negative press from getting a thousand returned as faulty, better to design with a safety margin. Likewise if you make medical equipment, better make it reliable. But if you're making one computer, and you'd be happy if it runs for an hour, that's a different situation.

(Several here, including Garth and Jeff, engineer things for a living, so they do need a safety margin as they have a reputation and a livelihood to protect.)


Top
 Profile  
Reply with quote  
 Post subject: Re: MARC-3 S
PostPosted: Tue Feb 27, 2018 3:09 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
lordbubsy wrote:
Why is it running at 8 MHz? The EEPROM has better specs then specified? Will it fail over time?
Better specs than specified? :) Okay, I think you're having some fun with the wording. But yes, sometimes a part has better performance than specified, as Garth explained. Here's the deal:
- If you stay within the specs then your design is guaranteed to work (timing-wise, I mean).
- If you violate the specs it doesn't mean your design is guaranteed to fail (but it might).

Quote:
What would be a safe clock speed if you know the specs of the slowest component?
What would be a safe clock speed if you don’t know the specs of the slowest component?
You need the specs for all components. That's because every clock cycle involves a transaction between the CPU and memory -- and the transaction happens sequentially, step by step. That means there's got to be enough time in the clock cycle for the total time taken by all the steps.

A read cycle goes like this:
  • (cpu): takes some time to place an address on the address bus
  • (mem): takes some time to input that address, fetch the data stored there and put the data on the data bus
  • (cpu): takes some time to input the data

A write cycle goes like this:
  • (cpu): takes some time to place an address on the address bus and data on the data bus
  • (mem): takes some time to input the address and data and perform the write

edit: oops! -- somehow I overlooked the last few posts until now! But it's just as you say. "the sum of all the propagation delays dictate the maximum frequency."

-- 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  
 Post subject: Re: MARC-3 S
PostPosted: Thu Mar 01, 2018 10:20 am 
Offline

Joined: Wed Sep 11, 2013 8:43 pm
Posts: 207
Location: The Netherlands
GARTHWILSON wrote:
Be sure to go through Dr. Jefyll's page he linked to on the meanings of 65xx timing specs, with his excellent animated .gif illustrations, at http://laughtonelectronics.com/Arcana/V ... iming.html .
I did! +1

BigEd wrote:
Several here, including Garth and Jeff, engineer things for a living, so they do need a safety margin as they have a reputation and a livelihood to protect.
Of course, that makes sense.

Dr Jefyll wrote:
Better specs than specified? :) Okay, I think you're having some fun with the wording.
Oops :oops:, now I see what I wrote…


Continuing my build:

After the EEPROM board, I build two new ones, the DUART and CLOCK / RESET boards. Since there was a lot of room left on the CLOCK / RESET board, I added the F18A video FPGA board to it.

DUART:
Attachment:
a.jpg
a.jpg [ 975.75 KiB | Viewed 11715 times ]


CLOCK, RESET & F18A:
Attachment:
b.jpg
b.jpg [ 1.4 MiB | Viewed 11715 times ]

Does it run CRYSIS? :)
No, but it lives!!!
Attachment:
c.jpg
c.jpg [ 2.29 MiB | Viewed 11715 times ]

Attachment:
d.jpg
d.jpg [ 1.64 MiB | Viewed 11715 times ]


The F18A isn’t decoded yet in the CPLD, but it starts up correctly and responds to the system reset.


Now I have to tidy up and complete the VHDL code, create a way to easily update my firmware onto MARC-3 S and adapt some software (monitor / ehbasic etc.).

_________________
Marco


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

All times are UTC


Who is online

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