Yarrb - redesigned

discussion of games, software, hardware & emulators relating to the Acorn Atom and Acorn System machines.
Post Reply
User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Yarrb - redesigned

Post by roland » Sun Oct 06, 2019 11:06 am

Since there is quite a demand for Atom memory expansions I am considering to do a version 2 of the Yarrb board. It will be using some SMD parts:
  • XC95288XL-10TQG144I
  • LY621012SL-70LLI (128K x 8 SRAM)
  • LM3940IMP-3.3/NOPB
The ROM will be replaced by a SST39FS010A-55-4C-NHE (LCC socket)

The SMD parts are available from JLC PDB so they can solder them on the board. It costs a few dollars but I think it's a good compromise for people that cannot do the SMD soldering themselves. That's also why I choose the XC95288XL: it's available in their stock and it's cheaper than the XC95144XL. The CPLD has more ports so the 74LS133 is no longer necessary.

I picked the LCC socketed ROM because it is easier to program. I have no idea how to program a mounted, blank device. An option is to do the programming by JLC and we can update the device from the Atom. But what if that goes wrong? So I prefer a LCC device that I can program on my normal programmer by using an adapter.

Please reply your thoughts about this board or your interest for this board in this topic.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
KenLowe
Posts: 707
Joined: Mon Oct 18, 2004 4:35 pm
Location: Scotland
Contact:

Re: Yarrb - redesigned

Post by KenLowe » Sun Oct 06, 2019 11:42 am

Yup. I'd be interested.

User avatar
anightin
Posts: 329
Joined: Thu Aug 23, 2018 1:03 pm
Location: Cambridge UK
Contact:

Re: Yarrb - redesigned

Post by anightin » Sun Oct 06, 2019 12:45 pm

Yes please Roland, Atom no.3 is feeling left out :)

User avatar
marcusjambler
Posts: 670
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: Yarrb - redesigned

Post by marcusjambler » Sun Oct 06, 2019 1:05 pm

I'm interested in one board please :D

balford
Posts: 33
Joined: Tue Sep 03, 2019 11:06 pm
Contact:

Re: Yarrb - redesigned

Post by balford » Sun Oct 06, 2019 3:28 pm

I’d also be interested in a board, please!

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Mon Oct 07, 2019 8:56 pm

I edited the first post because there was a typo in a part number (thanks Mark!) I have already found a KiCad symbol and footprint for the three main components: the CPLD, RAM and ROM. For the rest I am going to stick to as much as through holed parts as long as they are not in the basic part list of the manufacturer because each "extended" part will be $3.00 extra. And we have to solder anyway because of the DIL and PLCC sockets and the pin headers.

Next steps will be to assign the pins of the CPLD and route the board :)
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
1024MAK
Posts: 9236
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Yarrb - redesigned

Post by 1024MAK » Tue Oct 08, 2019 4:11 pm

Like 8)

Mark

User avatar
hoglet
Posts: 8551
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Yarrb - redesigned

Post by hoglet » Tue Oct 08, 2019 4:39 pm

Hi Roland,
roland wrote:
Mon Oct 07, 2019 8:56 pm
Next steps will be to assign the pins of the CPLD and route the board :)
CPLDs can be less flexible on pin assignment that FPGAs. Occasionally pathological cases can arise where a particular pinout cannot be achieved (e.g. due to overallocation of product terms in a particular area).

You probably should confirm that the fitter can successfully fit the design in the CPLD before you commit to a pinout.

I normally pick a pinout that makes routing the PCB easy. This can be an iterative process, swapping pins (in the schematic) where necessary to avoid tracks crossing. Once the PCB is routed, I update the .ucf file with the final pinout, make the fitter can fit the design.

This really means designing the CPLD and PCB in parallel.

Dave

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Tue Oct 08, 2019 5:43 pm

Thanks for this information. I already planned to make my schematic design and then first check to see if I can synthesize the VHDL file with my designed pin assignment.
256K + 6502 Inside
MAN WOMAN :shock:

eXne
Posts: 28
Joined: Wed Apr 06, 2016 7:15 am
Location: Assendelft, The Netherlands
Contact:

Re: Yarrb - redesigned

Post by eXne » Sat Oct 12, 2019 3:49 pm

Add me to the list aswell.
Smd soldering was a while agoo but I’m capable :D
Might go to an old friend to get a miniwave smd tip :D
Acorn BBC + 6502 and Z80 2nd proc and CoPro, Master 128, 512 + 80186. Atom Prophet

Prime
Posts: 2786
Joined: Sun May 31, 2009 11:52 pm
Contact:

Re: Yarrb - redesigned

Post by Prime » Sat Oct 12, 2019 6:17 pm

hoglet wrote:
Tue Oct 08, 2019 4:39 pm
I normally pick a pinout that makes routing the PCB easy. This can be an iterative process, swapping pins (in the schematic) where necessary to avoid tracks crossing. Once the PCB is routed, I update the .ucf file with the final pinout, make the fitter can fit the design.

This really means designing the CPLD and PCB in parallel.
Yep this is especially important if you are home building the PCB, and want to minimize things like extra holes drilled in the board. But basically the way I do it too. The other thing I've had to do as a design evolves is sometimes you need to shuffle pins round to maintain this if you where to say go from using a 28 pin 64K ROM to a 32pin 128K-512K rom (for example) and wated to 'move' spare pins to where they could be used for this.

Something else I tend to do with CPLD based designs (if I have the board space) is run any unused pins to a pth pad away from the chip that way if I later want to use that pin after thew board is made I can just take a wire to that pad, much easier than trying to solder to a 0.5mm pitch pin :)

Cheers.

Phill.

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Wed Oct 16, 2019 8:16 pm

I have a first draw of the diagram and PCB ready. I'll have to double check the CPLD pinout with the UCF file to make sure that the basic design works.

This board has also some optional components to make this board a stand alone CPU board. You might even make a small System-1 clone of it. The spare I/O connectors provide enough pins to connect a System-1 keyboard and display.

I have chosen to use quite a few SMD components as I intend to have them mounted by JLCPCB. In the first place I think it will be a great service to the users of this board and second, I just want to experiment with the ordering process for such boards. Most of the components are "basic" parts that they mount without additional costs. Only the CPLD and the RAM chip will cost extra. Also the basic parts are very cheap. Most of them cost less than $0.02.

If you want to have a look at the diagram and board files, I attached them here.
Attachments
Yarrb2-Schematic.pdf
(293.56 KiB) Downloaded 14 times
Yarrb2-PCB.pdf
(299.23 KiB) Downloaded 11 times
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 8551
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol
Contact:

Re: Yarrb - redesigned

Post by hoglet » Thu Oct 17, 2019 10:35 am

Hi Roland,

Just looking at the CPLD pinout, I have a comment about the data bus pins, and what's next to them.

(For other people following this, the reason the data bus pins are spread out across several functional blocks is to all space for further registers to be added in the future without running out of resources in those functional blocks).

What I would suggest you do is to mock up some additional registers, just to make sure that the other pin assignments you have made to these functional blocks don't cause blocking/contention. As we have already seen, sometimes CPLDs do not behave as expected!

In general, I think it's fine to use those ther pins for input signals, as these don't really impact the resources of the functional block. But I would be cautious about assigning too many unrelated outputs to the same functional block.

What I'm not 100% sure about is how flexible the product term allocator is. Each function block output is associated with 5 product terms. If it needs more, it can borrow these from adjactent outputs. At the moment, each of your data pins uses four product terms: one for the OE signal and one for each of the three registers. If you want allow space for a total of (say) 16 internal registers, that will need 17 product terms. What I'm not sure about is if these need to be borrowed from immedately adjacent outputs. Or whether the product term allocator can borrow them from anywhere in the functional block. Hence my suggestion to add a load more registers and make sure the CPLD still routes.

Dave

bprosman
Posts: 341
Joined: Sun Mar 29, 2015 10:27 pm
Contact:

Re: Yarrb - redesigned

Post by bprosman » Thu Oct 17, 2019 11:20 am

Just a thought, if you are going to have it assembled (at least the SMD parts) , wouldnt be a small FPGA more flexible ?
Having that said realizing that level shifting would be the next issue.

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Thu Oct 17, 2019 12:34 pm

@Dave: OK, I will implement some dummy registers to see if the additional I/O pins can be implemented.

@Bram: using a FPGA is another project: viewtopic.php?f=44&t=17318
At the september ABUG I showed a sketch of a new board that fits into the 6502 and 6847 sockets, providing everything that an AtomFGPA offers. And you simply plug it into a (almost) Atom main board.

This Yarrb is a good test case for that project. However, I doubt if (m)any people are really interested in stripping their Atom and replace most of the logic by a FPGA. Level shifters are not such a big problem, the 74LVC245 in smd package can do the job.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Sat Oct 19, 2019 7:24 pm

I tried to implement a real time clock that outputs the hours and minutes to the spare I/O pins. Unfortunately the CPLD was too small to fit so I ended up with two additional registers: another bank of eight leds and eight inputs that could be read by the CPU. That was synthesized and fitted without warnings and errors.

I'm pretty sure that this board will work :)
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
1024MAK
Posts: 9236
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Yarrb - redesigned

Post by 1024MAK » Sun Oct 20, 2019 9:32 am

Hi Roland

Looking good :D

Some queries:

Your note (about the configuration depending on the type of CPU fitted) in relation to the links / jumper shunts in the bottom right hand corner of the schematic refers to JP4 and JP5. But the numbering on the schematic is different.

I can’t see any values for C1, C3 ... C9, C10, C13 ... C15, C16, C17, R12, R14, R15, R17 and R18

If used as a stand-alone board, how will the RESET line be driven?

Mark

User avatar
roland
Posts: 3395
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Sun Oct 20, 2019 11:19 am

Thanks Mark for your comments.

Most of the components with no values are smd parts that will be soldered on the board. I used the value field for the JLCPCB part number (which makes it also easy to generate the BOM and POS files). These fields also include the values but they are rather long so I made them invisible.
To make the diagram readable for humans I added the values as text.

The reset line can be driven by the CPLD in stand alone mode. But for more options, I added another optional 4k7 resistor that pulls up the reset line.

Working on this, I think it's also a nice feature to have a power connector on the board for stand alone usage. So I added that also, otherwise you have some solder pads to attach wires in "stand alone mode".

Schermafbeelding 2019-10-20 om 13.04.19.png
An impression of the board....
Attachments
Yarrb2-Schematic.pdf
(300.53 KiB) Downloaded 2 times
256K + 6502 Inside
MAN WOMAN :shock:

Post Reply