Nockieboy went for the cheap 17$ 256pin fpga, not a nice 484 pin one with enough IO for real ram + that Z80 interface & full external 24bit dac. If so, I would have recommended 1 single 16bit wide DDR2/3 chip @ ~1$ with a guaranteed 500mtps, if not 600mtps running 3-4x circles in speed around this 13 wire hyperbus solution.
Yup, I'm victim to my own lack of skill, knowledge and confidence - not just with FPGAs, but electronics in general. There's no way I could justify blowing over $50 on an FBGA484 package when I've
never soldered a BGA before. QFP-144s gave me a headache, so forgive me if I'm a little reticent to jump into self-assembling a 6-layer PCB with a BGA484 FPGA. Those kind of production costs don't sit well with what I'm doing being described as a 'hobby', either. I'd need to start selling products to keep the boss happy.
I'm still not sure whether I should try soldering the FBGA-256 package myself, or get JLCPCB to do it. It'd probably work out a lot cheaper if I did it myself, but a lot riskier in terms of success...
Have routed the DRAMs to the FPGA now, but I'm sure there's going to be some feedback on some of those route lengths. I blame whoever designed the IO pin locations on the FPGA package - they clearly weren't concerned about how we're supposed to connect stuff up to them.
Reading the last 2-3 pages made me think ... have you thought if it wouldn't it be easier or cheaper to just put a sodimm ddr1 slot on the board? They're maybe a couple of dollars is small quantities and there's lots of 512MB - 1 GB sodimm sticks on eBay.
Only issue I see is sticks being 64 bit wide, but maybe you could wire only the bottom 24-32 bits and use a part of the sticks somehow?
I came across an old DDR2 stick of RAM on a shelf when I was clearing it out the other day and the thought did occur to me as well. Then I matched the stick up to the uCOM's PCBs and it won't fit - the PCB is too small to fit the stick, let alone the connector/receptacle it fits into. I scrubbed the idea at that point, without even getting to any of the other considerations that BrianHG and asmi have already raised. Otherwise was a good suggestion.