Yarrb - redesigned

emulators, hardware and classic software for atom + system machines
User avatar
roland
Posts: 3768
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Yarrb - redesigned

Post by roland » Sun Oct 06, 2019 12:06 pm

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.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by KenLowe » Sun Oct 06, 2019 12:42 pm

Yup. I'd be interested.

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

Re: Yarrb - redesigned

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

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

User avatar
marcusjambler
Posts: 767
Joined: Mon May 22, 2017 12:20 pm
Location: Bradford
Contact:

Re: Yarrb - redesigned

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

I'm interested in one board please :D

balford
Posts: 38
Joined: Wed Sep 04, 2019 12:06 am
Contact:

Re: Yarrb - redesigned

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

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

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

Re: Yarrb - redesigned

Post by roland » Mon Oct 07, 2019 9: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 :)
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

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

Like 8)

Mark

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

Re: Yarrb - redesigned

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

Hi Roland,
roland wrote:
Mon Oct 07, 2019 9: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: 3768
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Tue Oct 08, 2019 6: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.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by eXne » Sat Oct 12, 2019 4: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: 2858
Joined: Mon Jun 01, 2009 12:52 am
Contact:

Re: Yarrb - redesigned

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

hoglet wrote:
Tue Oct 08, 2019 5: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: 3768
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Wed Oct 16, 2019 9: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 44 times
Yarrb2-PCB.pdf
(299.23 KiB) Downloaded 30 times
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by hoglet » Thu Oct 17, 2019 11: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: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Yarrb - redesigned

Post by bprosman » Thu Oct 17, 2019 12:20 pm

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: 3768
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Thu Oct 17, 2019 1: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.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by roland » Sat Oct 19, 2019 8: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 :)
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by 1024MAK » Sun Oct 20, 2019 10: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: 3768
Joined: Thu Aug 29, 2013 9:29 pm
Location: Born (NL)
Contact:

Re: Yarrb - redesigned

Post by roland » Sun Oct 20, 2019 12:19 pm

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 16 times
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

bprosman
Posts: 418
Joined: Sun Mar 29, 2015 11:27 pm
Contact:

Re: Yarrb - redesigned

Post by bprosman » Fri Oct 25, 2019 11:23 am

I'm very curious to learn from your experience having the boards assembled.

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

Re: Yarrb - redesigned

Post by roland » Fri Oct 25, 2019 11:53 am

#MeToo :lol:

I wanted to order the boards yesterday but they have run out of stock for the CPLD so I could not place my order. I will make a short description about the design and ordering process once I have place my order.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by 1024MAK » Fri Oct 25, 2019 6:52 pm

Roland, how many boards were you intending to get made?

I like the idea of using one as a SBC, so am interested in one for myself.

Mark

Boydie
Posts: 426
Joined: Sat Oct 24, 2015 9:25 am
Location: Sunny Wigan
Contact:

Re: Yarrb - redesigned

Post by Boydie » Fri Oct 25, 2019 8:02 pm

One for me too, please.

My other Atom will feel left out, otherwise. Besides, I’ve got a mountain of components going spare!

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

Re: Yarrb - redesigned

Post by roland » Fri Oct 25, 2019 10:52 pm

My intention is to have a first batch of 10 boards just in case there is something wrong with the design despite all our good care.

I see that the XC95144XL cpld is available again and I hope the 288 will follow soon. JLC will notify me if there are new ones in stock.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by roland » Mon Oct 28, 2019 9:12 pm

:evil: :evil:

Today I got an email from JLC that there is not much demand for the XC95288XL and that there won't be any supply on short term. So I have to check if my board can be redesigned with an '144 ( probably with the same risk of getting no components ) or find another manufacturer :( I don't think that soldering by hand is realistic with a 144 package.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by KenLowe » Mon Oct 28, 2019 10:11 pm

:(

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

Re: Yarrb - redesigned

Post by roland » Mon Oct 28, 2019 10:16 pm

Lcsc even mentions that this cpld is discontinued. I'll ask them if they will continue the 144 for at least a year or so. If so then I can redesign it for the time being.....

Another option is to use a 72 but then it is not very useful as a stand-alone board.
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

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

Re: Yarrb - redesigned

Post by hoglet » Mon Oct 28, 2019 10:20 pm

roland wrote:
Mon Oct 28, 2019 9:12 pm
Today I got an email from JLC that there is not much demand for the XC95288XL and that there won't be any supply on short term. So I have to check if my board can be redesigned with an '144 ( probably with the same risk of getting no components ) or find another manufacturer :( I don't think that soldering by hand is realistic with a 144 package.
That's really annoying for you.... and not a goot advertisement for those of us considering this service.

FYI, the XC95144XL part they stock is in a TQG100C package. So that would be a big change to your PCB.

And what happens when this goes out of stock?

Dave

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

Re: Yarrb - redesigned

Post by roland » Tue Oct 29, 2019 3:57 pm

hoglet wrote:
Mon Oct 28, 2019 10:20 pm
That's really annoying for you.... and not a goot advertisement for those of us considering this service.
Indeed. When I picked this part it was plenty on stock. I don't remember how much but it seemed more than enough. There was no notice like "Don't use this part because it is discontinued".
hoglet wrote:
Mon Oct 28, 2019 10:20 pm
FYI, the XC95144XL part they stock is in a TQG100C package. So that would be a big change to your PCB.
I realize that. But what choice do I have. I did not find another supplier yet in the same price range.
hoglet wrote:
Mon Oct 28, 2019 10:20 pm
And what happens when this goes out of stock?
The same as what happened when we ran out of XC9572XL in PLCC44 package: design a new board with more up-to-date parts.

I am still in contact with JLC about how long they will keep the XC95144XL in stock but either my English is lousy or it is a real hard question because I still have no answer...
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Boydie
Posts: 426
Joined: Sat Oct 24, 2015 9:25 am
Location: Sunny Wigan
Contact:

Re: Yarrb - redesigned

Post by Boydie » Tue Oct 29, 2019 4:26 pm

I’m sure there’s a very good reason why not, but would it be possible to design a system whereby the CPLD sits on a daughter card which then plugs into a socket with a sufficient number of pins? Then, when the CPLD becomes obsolete it’s only a matter of redesigning a new daughter card mapped to that socket and CPLD.

Apologies for showing my complete ignorance for how these things work and the intricacies involved.

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

Re: Yarrb - redesigned

Post by roland » Tue Oct 29, 2019 4:43 pm

This could be a realistic approach but I have to investigate the total height of a Yarrb (which is already a daughterboard on the Atom's main board) and then another CPLD board on top of that. On the other hand, creating a small board with 40 - 50 pins and a SMD chip can also be a challenge. I'll have a look at it.....
FPGAtom: 512 KB RAM, Real Time Clock and 64 colours
MAN WOMAN :shock:

Post Reply

Return to “acorn atom and acorn system series”