SBC-3 Speed Increase

Topics related to the SBC- series of printed circuit boards, designed by Daryl Rictor and popular with many 6502.org visitors.
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

SBC-3 Speed Increase

Post by 8BIT »

I have successfully doubled the 65816 speed on the SBC-3.

I have re-worked some of the timing within the XC95108 to remove the need for a 2x clock for PHI2. I have successfully run my SBC-3 at the full 14.318 MHz that the NTSC system is clocked at. While I have not tested it yet, the 16 MHz PAL version is likely to work as well.

I had to remove the Memory Protect feature, and still have more testing to perform. All other functions remain the same. I did have to increase the SPI Clock divisor. The final value has yet to be determined.

I'll post the final results once they have been verified.

For those interested, the XC95108 and the 28256 will need to be reprogrammed for this upgrade. All other parts remain unchanged. This is a firmware-only update.

Daryl
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

The NTSC version testing is complete. The 65816 on the SBC-3 board is stable at 14.318 MHz. The 65SPI divisor changes to 3 (originally 1).

I performed several serial downloads and DiskOS file transfers to comfirm the 65SPI worked properly.

I did not do a complete test of the 65C22's. However, since the ATMega8 uses CB1 of VIA1 for handshaking, basic communication is working and implies the remainder is working as well. I will eventually test some devices on these VIA's.

Next, bad news for PAL users. My initial tests failed. It appears that the 16MHz clock is too fast for the CPU in this layout. I get a stable picture from the XC95108, but the contents are random patterns. It is evident the 65816 did not execute the /reset code. Time permitting, I'll do further tests.

Please contact me via PM or email if you are interested in this upgrade.

Daryl
Last edited by 8BIT on Tue Nov 03, 2009 2:01 pm, edited 1 time in total.
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Post by GARTHWILSON »

Quote:
Next, bad news for PAL users. My initial tests failed. It appears that the 16MHz clock is too fast for the CPU in this layout. I get a stable picture from the XC95108, but the contents are random paterns. it is evident the 65816 did not execute the /reset code. Time permitting, I'll do further tests.
That may be bad news for more than PAL users then. It could mean that the NTSC ones won't all work either, especially when the temperature is higher, since it's right on the raggety edge. I would try to find out which component is limiting the speed, probably the EEPROM or the CPLD. Reliability will require some headroom. I definitely wish you success.
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

Yes, that occurred to me as well. The EEPROM is only read while the 65816 is in reset, so I know that part is ok. The CPLD will run up to 20MHz on my Core, which has only a few parts and a small footprint. The most likely issue is the addition of the two VIA's and the 65SPI to the 65816 data bus and lower address bus, along with the increase in trace lengths.

When I have time to experiment more, I will remove the VIA's and 65SPI and test again.

thanks for the input!

Daryl
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

20 MHz & Beyond

Post by BigDumbDinosaur »

8BIT wrote:
The CPLD will run up to 20MHz on my Core, which has only a few parts and a small footprint. The most likely issue is the addition of the two VIA's and the 65SPI to the 65816 data bus and lower address bus, along with the increase in trace lengths.
This suggests the need for some kind of bus line drivers, although I was under the impression the 95xxx series CPLD had stronger drive capabilities. You may need to insert something like a 74ABT541 between the CPLD and the address and data lines. Prop times for the 'ABT541 range from 1.0 to 3.5 ns with VCC=5 and at typical operating temps.

Another consideration is that your PCB layout appears to be constraining the maximum clock rate. Since it is a two-layer design, you have to consume real estate with the Vcc and GND traces, limiting how tightly you can pack your parts and how short and direct your signal traces can be. Also, Vcc and GND themselves add reactance issues, especially the dreaded ground bounce effect, which CPLDs generally do not well-tolerate.

Perhaps it's time to look at doing this unit on a four-layer board. You wouldn't have to place Vcc and GND everywhere and the inner power and ground layers would add some noise and crosstalk immunity—the latter could also be sabatoging timing. Only downside, of course, will be PCB cost...

Incidentally, extrapolation of WDC's Fmax vs VDD curve on page 27 of the current (Aug 3, 2009) data sheet suggests the MPU could run significantly faster than 20 MHz, although the MUXing of A16-A23, already a design issue at lower speeds, would become a major obstacle to running beyond 20 MHz. You'd probably be wait-stating the dickens out of everything.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

Yes, I agree with your thoughts. A 4-layer board with PLCC or TQFP parts and tighter parts placement would be better.

However, I do not plan to expand the SBC-3 further. I am very content with the 7.159MHz (8 MHz PAL) performance. The fact that I got my board to run at 14.318Mhz is great, but I feel its operating pretty close to its limits, and will not attempt any further modification/enhancements.

I am working on the code for a RTL8019AS Ethernet interface. I have one on an old ISA board that connects to a VIA. The other is on an old EDTP.com ATA/Ethernet board based around the ATMega128. It would use the ATMega128 to handle the TCP/IP stack and communicate through the 65SPI.

After that, I will stop further development.

For those who might be thinking about Ethernet, I would also recommend researching the Microchip ENC28J60 Ethernet chip. It has an SPI/I2C interface and has a lot of following in the embedded arena's.

My other hobby is flying, and I have recently started down a path that includes building an airplane. I just don't have time for both and while I enjoy the 6502/65816/AVR's, I feel its time to explore my other interests.

Daryl
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Post by BigDumbDinosaur »

8BIT wrote:
My other hobby is flying, and I have recently started down a path that includes building an airplane. I just don't have time for both and while I enjoy the 6502/65816/AVR's, I feel its time to explore my other interests.
Building an airplane will definitely keep you occupied with solving myriad construction details (at one time, I scratch-built very fast drag cars, so I know where you will be headed). In any case, let's hope that any crashing that occurs is with computer hardware. :)

My current other hobby is large scale model railroading and I am scratch-building a 1.6 inch scale EMD F7 locomotive. I have a running chassis and am now working on the body. I don't have a particular time-frame for completion, except I hope to finish while I am still healthy enough to enjoy it.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
kc5tja
Posts: 1706
Joined: 04 Jan 2003

Post by kc5tja »

OK, it's woefully off-topic, and probably lacks the appeal of replicating historical engines, but you folks might appreciate this home-made backyard monorail installation:

http://www.monorails.org/tmspages/Niles.html
User avatar
BigDumbDinosaur
Posts: 9426
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Post by BigDumbDinosaur »

Now, that is cool! Too bad my back yard is too small for anything like that (plus association rules would prohibit it). :(
x86?  We ain't got no x86.  We don't NEED no stinking x86!
Nightmaretony
In Memoriam
Posts: 618
Joined: 27 Jun 2003
Location: Meadowbrook
Contact:

Post by Nightmaretony »

Associations suck which is why I live on a farm :)
"My biggest dream in life? Building black plywood Habitrails"
ElEctric_EyE
Posts: 3260
Joined: 02 Mar 2009
Location: OH, USA

Post by ElEctric_EyE »

8BIT wrote:
..., I feel its time to explore my other interests.

Daryl
nooo.... There is much more to explore on the 6502... We need to work on the 65000 project.... And you are the only one to push the 65c02 beyond spec's. This is an awesome accomplishment. Please continue sharing with us.
Nightmaretony
In Memoriam
Posts: 618
Joined: 27 Jun 2003
Location: Meadowbrook
Contact:

Post by Nightmaretony »

ElEctric_EyE wrote:
8BIT wrote:
..., I feel its time to explore my other interests.

Daryl
nooo.... There is much more to explore on the 6502... We need to work on the 65000 project.... And you are the only one to push the 65c02 beyond spec's. This is an awesome accomplishment. Please continue sharing with us.
Seconded. My project is based on yours and others will be following in the footsteps that you blaze. Party on with it all, man :0
"My biggest dream in life? Building black plywood Habitrails"
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Post by GARTHWILSON »

Quote:
It would use the ATMega128 to handle the TCP/IP stack and communicate through the 65SPI.

After that, I will stop further development.
I don't know what your job is, but you have done so much in this stuff as a hobby that I have little doubt you could do it as a business. Even if it's not full-time, it could still be profitable moonlighting if you take out small ads in the back of electronics hobby magazines. Possible products that come to mind are the following for SPI, including 65SIB which mostly just means supplying the connectors for the more flexible system and you can get the power from the 65SIB also instead of needing a separate power supply:
  • the ATMega128 for ethernet & TCP/IP
  • a VGA interface with instructions for placing text, scrolling, drawing lines, feeding ready-made graphics, etc.. I'd buy a video interface from you even if it were only for monochrome composite video with 480 dots across.
  • IDE adapter
  • PC keyboard to SPI with plenty of buffering so you can type ahead when the processor is too busy to pay attention to the keyboard
  • other hardware interfacing, like A/D and D/A converters, UARTs, infrared, additional I/O lines, etc.
You could also offer your SBC. To get around FCC approval, sell the boards and only the specialty parts, like pre-programmed PLDs and microcontrollers, and let the customer supply the run-of-the-mill parts so you aren't even selling a full kit that needs FCC approval.
kc5tja
Posts: 1706
Joined: 04 Jan 2003

Post by kc5tja »

Isn't it legal to sell a kit that isn't FCC approved if you advertise it as such? Something like, "This product has not received FCC type approval."?
User avatar
GARTHWILSON
Forum Moderator
Posts: 8773
Joined: 30 Aug 2002
Location: Southern California
Contact:

Post by GARTHWILSON »

Quote:
Isn't it legal to sell a kit that isn't FCC approved if you advertise it as such? Something like, "This product has not received FCC type approval."?
I looked into it a few years ago for my own thoughts of selling workbench computers, and talked to a local lab that tests for that too, and IIRC, no, it's not legal. That was before DTV though, and things might be changing. It seems like their main concern is that your neighbors be able to watch TV, even if your barking dog keeps them from hearing it! (Can you tell what I think of our neighbors' dogs? :x ) If the product would not be used in a residential setting, like if it were only used on a production floor or factory of some kind, then I think it's exempt.
Post Reply