6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Sep 20, 2024 7:13 pm

All times are UTC




Post new topic Reply to topic  [ 122 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9  Next
Author Message
 Post subject: Re: Yet another TTL 6502
PostPosted: Sun Jan 13, 2019 12:17 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Are you using KiCAD? If so, which version?
Who are you choosing to manufacture the boards?

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Sun Jan 13, 2019 12:23 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
No, I'm using Eagle. I'll have the boards made by Eurocircuits.


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Sun Jan 13, 2019 12:33 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Experimenting with bus crossings... the problem is that everything is connected to everything else, so no matter how you place the components, it's going to be a mess. And of course, these TSSOP packages are nice and compact, but there's no room to route a trace between the pins, and it starts to get crowded with vias.


Attachments:
buses.png
buses.png [ 10.15 KiB | Viewed 1659 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Sun Jan 13, 2019 5:11 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
When you already a customer to Eurocircuits they surely will give you a quote for a 6 layer board with blind vias. I try to get an estimation online but it won't work. Beta-Layout didn't offer a blind-via option but I'm sure they can produce such boards. But usually asking for a quote is serviced within a few hours.

My assumption for a single board is a price 150..200% of a 4 layer one (without blind vias).


Regards,
Arne


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Sun Jan 13, 2019 5:17 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Blind vias are very expensive, because it kicks you out of their pooling service.

But you can stay in the pool with 6 layer and smaller via size, which helps a lot. I'm not at that point yet. Still trying to get everything on 4 layers with standard drill size. There are still plenty of options to explore.

Here's the board so far. I had a lot more traces earlier today, but then I got a better idea for placement. The biggest issue was the placement of the PC/AB LEDs, because there are so many, and they need to be in a row, so it creates a lot of congestion. My first attempt was to give the LED drivers priority placement, but that meant that the high and low parts of the address bus got mixed, creating other problems.

I now have two rows of ICs, top row is MSB address byte, and bottom row is LSB.


Attachments:
board.png
board.png [ 38.1 KiB | Viewed 1642 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Mon Jan 14, 2019 6:26 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Parts list for the complete (hopefully) data path:

  • 9 octal D-flipflops (74ALVC574), for: A, X, Y, S, M, PCH, PCL, ABH, ABL. I'm taking out the IR, and moving it into the control unit.
  • 8 quad 2-input OR gates for the ALU.
  • 12 quad 2-input AND gates, 8 for the ALU and 4 for the address incrementer
  • 12 quad 2-input XOR gates, 8 for the ALU and 4 for the address incrementer
  • 21 octal tri-state buffers (74ALVC541), used as follows:
    • 7 for the AI bus (driving A, X, Y, S, M, PCL, PCH),
    • 5 for the ADH bus (driving ALU, PCH, INC (address incrementer), DB, 00/01/FF)
    • 5 for the ADL bus (driving ALU, PCL, INC, DB, FA/FC/FE),
    • 4 for the data bus (driving ALU, PCH, PCL, P).
  • 3 dual D-flipflops with individual CLK inputs (74AUP2G79) for the flags.
  • 8 multiplexers 8->1 (74CBT3251) for selecting ALU operation.
  • 1 dual 4->1 multiplexer (74CBT3253) for selecting flag input
  • 3 quad 2->1 multiplexers (74CBT3257), one used for selecting flag input the other two for selecting BCD adjustment/DB.

A total of 77 ICs. Size varies a bit, but average is something like 6*6 mm, or about 30 cm^2 total area. :D if you ignore the room needed for routing and LEDs (and the control unit)


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Tue Jan 15, 2019 10:22 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
This area seemed completely hopeless. These are 4 buffers, from PCL -> AI, PCH -> AI, PCL ->DB and PCH ->DB, plus a set of LEDs. Each of the four 8-bit buses needs to connect to 2 different ICs, and the PCL/PCH buses need to be close to their LEDs, and the AI/DB buses needed to run to other areas of the board as well.

After trying all kinds of via placement, I had an idea to swap to pins on some of the buffers. In the picture, the two buffers in the middle are hooked up straight (e.g. PC0 goes to A0 and AI0 goes to Y0). The buffers on the outside are reversed, so PC0 goes to A7 instead. This is very easy to do in Eagle, by simply defining a 'Straight' and 'Reversed' package option for the same symbol. In the layout, you can then click on an IC, and select the other package. Of course, when you reverse the inputs, you also reverse the outputs, but that worked out great here, because I had the same problem on both sides. Also, very conviently, I can hook up the LEDs for PC[15..12] to PCH->AI buffer, and hook up PC[11:8] to the PCH->DB buffer. The AI bus will connect on the left, and the DB bus connects on the right.

Normally I like to avoid this kind of trickery, because consistency helps to avoid mistakes, but in this case I'm making an exception. Simply changing the package during layout is fool proof, and there's no confusion if I need to debug signals with a scope, because I can just stick the probe on the nearby PC LED pad instead instead of fiddling with the small TSSOP pins.

And I didn't even have to use the GND layer for anything.


Attachments:
pc.png
pc.png [ 18.45 KiB | Viewed 1555 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Tue Jan 15, 2019 11:15 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
For a sense of scale, here's the same set of 4 buffers next to a 65C02 in PLCC socket (with 100 mil grid lines)


Attachments:
scale.png
scale.png [ 10.95 KiB | Viewed 1551 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Tue Jan 15, 2019 3:31 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Worst (hopefully) is done.

Here's the section around the AB/PC LEDs, including the PCH/PCL->AI/DB drivers at the top, and then below from left to right: PCH register, the PCH->ADH buffer, the ABH register, and the ALU->ADH buffer. Coming from below are two 8-bit buses with the PCL/ABL signals for the LEDs.

Center right is the AB bus leaving, going past the incrementer and out to external memory. Top right is DB leaving, and top left is AI going back to ALU input.

The address incrementer will be placed to the right of this area, and then the INC bus will loop around and come back at the bottom, going into the PCH register.

Had to use all 4 layers for signals, but I think it will be okay.


Attachments:
full.png
full.png [ 84.08 KiB | Viewed 1533 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Tue Jan 15, 2019 11:59 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Beautiful! Loving the compactness of the board design. Not sure if that's a real word...

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Wed Jan 16, 2019 6:15 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Quote:
Loving the compactness of the board design

Yeah, and the process of going from "hopeless" to "fits like a glove" is very satisfying.

During all of this, I did neglect to look after the connections for control and supply, and I'm afraid they got buried in the mess, so I'll have to redo part of the design. But, I came up with a different way of doing the long buses under the ICs (the blue/red traces in the bottom row) that will leave a lot more space for intersecting orange traces. Redrawing the actual traces is not a big deal. The most time consuming part is the placement and general flow.


Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Wed Jan 16, 2019 1:10 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Here's my idea for new bus crossing. Instead of laying out the vias in a diagonal for easy routing on the bus itself, I now have the vias in two vertical lines. This makes the bus (blue/red) a bit less straight, but leaves a lot more space for crossing wires on different layer (shown in yellow here). There's also a smaller gap between the two vertical via columns that could be used for power or additional signals.


Attachments:
newbus.png
newbus.png [ 17.91 KiB | Viewed 1461 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Thu Jan 17, 2019 12:42 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Here's the reworked address area with new via placement and straighter lines. This time, all the control signals and GND/VDD are hooked up properly as well as the other signals. Also cleaned up the GND/VDD pours on all the layers, and threw some GND vias near all the ICs (will add some more at the end).


Attachments:
File comment: Inner 2, GND highlighted
gnd.png
gnd.png [ 15.93 KiB | Viewed 1406 times ]
File comment: Inner 1, VDD highlighted
vdd.png
vdd.png [ 20.95 KiB | Viewed 1406 times ]
File comment: Bottom layer, GND highlighted
bottom.png
bottom.png [ 20.18 KiB | Viewed 1406 times ]
File comment: Top layer, GND highlighted
top.png
top.png [ 27.42 KiB | Viewed 1406 times ]
newbus.png
newbus.png [ 69.16 KiB | Viewed 1406 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Thu Jan 17, 2019 6:07 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
Work in progress. Trying to find good plan for address incrementer. Address bus comes in from the left, LSB in bottom row (yellow/blue), MSB in top row (yellow/red). Because the yellow is the GND plane, I switch those traces back to blue (bottom) as soon as there's room for some vias. Address bus continues to the right for connection to external bus. Output of the incrementer goes down.

First set of AND/XOR gates is connected in rough draft version.

Also picture of current board status (including rat's nest). Address logic in on the right, and the incrementer is in the top right corner.


Attachments:
board.png
board.png [ 112.08 KiB | Viewed 1390 times ]
increment.png
increment.png [ 42.67 KiB | Viewed 1390 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: Yet another TTL 6502
PostPosted: Thu Jan 17, 2019 6:23 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
If I move stuff over a bit, there's just enough room to squeeze the FPGA in the corner.

The bottom row on the right (the ADL bus) can probably move up a bit, but I want to see how much room I need first. That could leave some room for buttons or displays at the bottom.

(that thing looks huge!)


Attachments:
fpga.png
fpga.png [ 78.13 KiB | Viewed 1388 times ]
Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 122 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9  Next

All times are UTC


Who is online

Users browsing this forum: Google [Bot], Martin A and 8 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: