6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 3:50 am

All times are UTC




Post new topic Reply to topic  [ 72 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
PostPosted: Tue Jul 22, 2014 11:26 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
That looks great, Andrew...


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 22, 2014 11:44 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8544
Location: Southern California
Be sure to always do a thorough visual inspection after the autorouter gets done with it, and do some corrections by hand. (Autorouters can't compete with the intelligence of a human anyway, which is why I never use one.) Right next to pin 40 of U4, there are two blue traces crossing (shorting). Just left of U2 pin 21, a red trace appears to be too close. A red trace going to U3-39 makes an unnecessary U-turn with two unnecessary vias. Similarly to pin 29, there are two unnecessary vias. Since these just jumped out, I'm sure I'd find many more if I spent some time with it.

_________________
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: Wed Jul 23, 2014 12:56 am 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
I agree with Garth, the auto-router made a mess. Did you notice that the GND trace does a lot of silly things: it jumps layers to carefully avoid C2, then goes all the way "around the world" to come back to it. You should route this board manually, it's not that hard and kinda fun if you have a little bit of OCD like most hardware and software engineers ;-).

Also, unless you already have plans for an enclosure that fits your PCB exactly, you should consider moving J3 and the pull-up resistors down, so that you can cut about 3/4 inches off the top of your board (making your board significantly cheaper). You may be able to move the other connectors down too, to make even more space; actually it kinda looks like J1 and J2 might cause less routing trouble if they would be on the right side of the board but I understand and agree with the esthetics of putting all connectors on one side.

I would also do away with the double socket for the WDC65C02 vs regular 6502. The only relevant differences between 6502 and W65C02 (at least for PCB design) are that pin 1 needs to be grounded for 6502 and disconnected for W65C02, and pin 36 on a 6502 is not connected but needs to be pulled to VCC on W65C02 (I think Garth's pages recommend a pull-up resistor instead of a connection straight to VCC). Just design the board as if it only has a 6502, but add a jumper between pin 1 and GND (on=6502, off=WDC), and add a pull-up resistor between VCC and pin 36 (no jumper needed, it won't harm a 6502 if that pin is pulled high). It will save board space, and a 40-pin socket is cheaper and less work to solder than four single-row headers.

Finally: don't take any of this personal; we're just trying to help! Keep up the good work!

===Jac

EDIT/PS: If you turn the SRAM chip 180 degrees, it may be easier to route, too. On the 6502, the address bus pins are all around the "tail" of the chip, but on the SRAM chip, the address bus pins are near the "head" and the data bus pins are near the "tail".

Also, keep in mind that it's okay to swap address bus pins or data bus pins on the SRAM chip, to make routing easier! See attached.


Attachments:
Screenshot 2014-07-22 21.34.18.png
Screenshot 2014-07-22 21.34.18.png [ 29.45 KiB | Viewed 5765 times ]
Screenshot 2014-07-22 21.29.21.png
Screenshot 2014-07-22 21.29.21.png [ 36.07 KiB | Viewed 5765 times ]
Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 23, 2014 5:59 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
jac_goudsmit wrote:
The only relevant differences between 6502 and W65C02 (at least for PCB design) are that pin 1 needs to be grounded for 6502 and disconnected for W65C02, and pin 36 on a 6502 is not connected but needs to be pulled to VCC on W65C02 (I think Garth's pages recommend a pull-up resistor instead of a connection straight to VCC). Just design the board as if it only has a 6502, but add a jumper between pin 1 and GND (on=6502, off=WDC), and add a pull-up resistor between VCC and pin 36 (no jumper needed, it won't harm a 6502 if that pin is pulled high).

Also, pin 5 on the 65C02 should be a "no connect," as that is the MLB output. I can't tell for certain in looking at the PCB layout if that is the case.

I have to agree with Garth and Jac: the autorouter didn't cut it with this design. I manually route everything. As Garth said, the average designer has far more intelligence than the smartest piece of software ever invented. I've never seen an autorouted board that didn't need a fair amount of cleanup after the fact.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 23, 2014 7:54 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I feel a need for a counterpoint.

Although I agree that hand-routing can be fun, and that autorouters almost always make some unusual decisions, I would expect the autorouter never to create a short or a design rule violation without telling you about it. I know from experience that hand-routing can be a bottleneck and just getting the design off for manufacture can unstick a hobby project.

As far as I can see:
- the "short" near pin 40 is not wrong. Pins 36 and 40 have been tied together.
- the "too close" route near pin 21 is clearly avoidable, but I would presume is design rule legal. It would be worth fixing, or using coarser design rules, for a revision. But it needn't mean that the board won't work.
- pin 5 on the 65C02 looks very clearly unconnected, as it should be.

In conclusion: the board could be neater, but it's not wrong for those points. It's not wrong to autoroute for a hobby project.

(For other comments about how to improve the board - all fine and valid optimisations. But don't let the perfect be the enemy of the good.)

(For other comments about how to improve the circuit design, I haven't addressed them. An actual mistake in the circuit would of course be worth addressing for a revision. Meanwhile, cutting and splicing the first set of boards might be necessary. Many an industrial product has patch wires.)

Cheers
Ed


Top
 Profile  
Reply with quote  
PostPosted: Wed Jul 23, 2014 8:09 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8544
Location: Southern California
I'm sure a good autorouter has its place, when time is of the essence and you can afford the board space for it to operate, and you don't have critical criteria that it would have no way of understanding. Doing a good job manually definitely takes time.

However in my last place of work where we used OrCAD, we still had to do a careful hand check even after an autorouter job, because its autorouter definitely gave us wrong connections, even though the netlist came from the schematic capture which had the schematic correct. Clearly the board did not match the schematic. There were also times that one pin of an IC should go to its immediate neighbor and there was a straight shot with nothing in the way; yet the autorouter would take off in exactly the wrong direction, wander around, and then finally generate a message that you can't get there from here.

What might be best in many situations is to go ahead and use the autorouter but always do a careful job of manual checking and clean-up afterwards.

_________________
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: Wed Jul 23, 2014 9:27 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Only do that clean up if you need to. Almost all the time, you don't need to.

It doesn't help people to get their projects done and to enjoy their hobby if every progress report is followed by several mainly-aesthetic criticisms. I've posted in a new thread "forum decorum" some thoughts about good and bad ways to approach posting.

Cheers
Ed
(Edited for improved temperament.)


Top
 Profile  
Reply with quote  
PostPosted: Mon Apr 09, 2018 4:36 pm 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
I’ve made a new version of my board (with a pull up on /SO) and slightly reduced in size to be inside the 100x100mm prototyping limit imposed by some board houses. I now have a trinity of devices to work with (6502, 65c02 and 65802).
Attachment:
File comment: The Trinity of 65 devices
F85F164E-3789-4E8D-80D3-7D67FBE9849C.jpeg
F85F164E-3789-4E8D-80D3-7D67FBE9849C.jpeg [ 2.72 MiB | Viewed 5419 times ]

I also made some spare boards this time.
Attachment:
4ABE649A-AC69-4F17-8A7B-59EEE12E53E2.jpeg
4ABE649A-AC69-4F17-8A7B-59EEE12E53E2.jpeg [ 2.14 MiB | Viewed 5419 times ]

Now I really need to finish the firmware.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 24, 2018 8:19 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
As my current design is dangerously close to being finished (after a mere four and a half years) I started wondering about replacing the PIC with something else, like a dsPIC30F.

The 30F is an old family of chips which operate at 5V (rather than 3V3) and being 16-bit they can do some operations in fewer instructions which in part make up for their slightly slower MIPS rating (only 10 compared to the 16 with the 8-bit 18F46K22 I currently use).

Using a 30F6013A/14A would give me one extra UART, one extra SPI port, an I2C port, extra I/Os so I can attach SYNC, RDY, /NMI and more SPI chip select lines, drive extra address lines for multiple 64K RAM banks (with a 512K SRAM chip) and have the ability use ICSP properly (on the current board I can't read A14/A15 when debugging so the I/O page is repeated every 16K in test mode).

The 30F I'm thinking of comes in a 80 pin TQFP with 0.8 pin spacing so a bit easier to solder than the usual 0.5 or 0.4 itty bitty packages.

I want to keep to the 100x100 board size and might up the chip count by one to include VGA/Keyboard handling on the board generated by a PIC32MX and connected via one of the UARTs.

As the last board was called SB-6502 this one would be SB-6502-PLUS.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 20, 2020 12:10 pm 
Offline

Joined: Mon Jan 20, 2020 11:22 am
Posts: 9
Location: Wrocław, Poland
Dr Jefyll wrote:
  • listed as 2 byte, 2 cycle are 02,22,42,62,82,C2, E2
  • listed as 1 byte, 1 cycle are X3,OB-BB,EB,FB
  • listed as 2 byte, 3 cycle is 44
  • listed as 2 byte, 4 cycle are 54,D4,F4
  • listed as 3 byte, 8 cycle is 5C
  • listed as 3 byte, 4 cycle are DC,FC

Folks who find such minutia interesting may wish to visit this page of my site. I've documented not just the bytes and cycles, but also what the undefined NOP's actually do (on the Rockwell 'C02). I can't vouch for what they do on the W65C02S. But, whatever it is, it takes the same number of bytes and cycles as the Rockwell part.

Something I'd like to know is whether the one byte, one cycle NOP's delay interrupt acceptance by one cycle -- which would be a drawback in some situations. If I do any further testing I'll be sure to report back.


Sorry for digging out old thread, but I've stumbled on curious phenomenon and while I was trying to find any information about it in the web this is the only one discussion remotely relevant to my finding. I've created a separate topic for it to not go off-topic here :)


Last edited by laoo on Mon Jan 20, 2020 1:37 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 20, 2020 12:55 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Welcome to the forum laoo! Please could you re-post in a new thread, with a good title? Don't worry, everyone will see your post.

And then please edit down your post here, so you don't get answers in two places.

(Everyone else: please don't respond in this thread!)


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 20, 2020 1:57 pm 
Offline

Joined: Mon Jan 20, 2020 11:22 am
Posts: 9
Location: Wrocław, Poland
BigEd wrote:
Welcome to the forum laoo! Please could you re-post in a new thread, with a good title? Don't worry, everyone will see your post.

And then please edit down your post here, so you don't get answers in two places.

(Everyone else: please don't respond in this thread!)

Done. Thanks for suggestion.


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

All times are UTC


Who is online

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