No, I'm using EasyEDA which is - as best I can tell - very similar to KiCAD, but all online (though there is a desktop version as well). Thanks for the offer of help, let me know if you feel you can get to grips with EasyEDA and I'll give you access to the project - but I'm not giving up just yet.
I think so as it supports length tuning as well. At the very least I'm hoping to provide some constructive feedback.
I don't have a microscope - I'm using a loupe where necessary, but that's about it. What sort of microscope do you use?
I use relatively cheap x10/x20 stereo microscope (mostly in x10 mode for soldering) - AmScope SE410, it was about US$170 (+ delivery charge) at the time of purchase. If you browse ebay/aliexpress, you can find a ton of options if pretty much the same basic design as mine with all kinds of combinations of objectives, eyepieces and other accessories. One thing I would say from my experience - if I was to buy a brand new one today knowing what I know now, I would buy a version with double arm boom, as it allows more freedom in movement. But it would cost more than a single arm one that I use, so for occasional use single arm is just fine. Also now that I have the microscope, I use it in x20 mode to look at all kinds of fun and interesting things - from my own skin to biological samples (my wife is a biologist, so that makes it extra fun
)
Okay, so I've just had a very quick look at the Spartan 7 series - am I reading it right in that it has about 520KB of RAM in it, not included distributed RAM?
That sounds about right for the S100 device, but keep in mind that BRAMs in 7 series are natively 72 bits wide (can be split into two independent 36 bits wide parts), so depending on whether your design actually uses these additional 8 or 4 bits for something (ECC or some other data like flags or whatever), you might end up having less actually available (because remember each BRAM is all-or-nothing, you either use it fully or you don't). That said, since these BRAMs are very fast (depending on the mode of operation and speed grade, it can go from low 400's well past 500 MHz) and can be configured as hardware FIFOs, they are often used as cache or scratch memory, while resorting to external memory for longer term storage. Since even the slowest speed grade supports DDR2/DDR3 memory running at least at 333 MHz (DDR3 can work at 400 MHz for most devices), you can have massive memory bandwidth and very high capacity ( a single MT41K256M16TW-107:P memory chip cost just US$5 and provides 512 MBytes of storage with 16 bit data bus). And since memory controller IP is provided free of charge, you can see that vast majority of 7 series boards have DDR2/3 memory onboard. The only downside is that x16 memory takes up a whole IO bank (50 pins), but if you use Artix in 1mm pitch 256 pin package, you will have 170 IO pins, so losing 50 of them for memory is not a big deal. Also, since 400 MHz is relatively slow for DDR3 (and tracks are typically very short), it's not super sensitive to proper layout and impedance matching. Again, if you care to look at the project in my signature, you will see that DDR2 there works just fine at 333 MHz (package limit) despite me taking several shortcuts in layout and having no termination for address and control lines (except for the clock signal, which is too important to skimp on).