I understand SRAM is much easier to use. But I'm not sure I understand the implementation using LPDDR that you're talking about. Xilinx has memory controller generators that will get you a LPDDR or DDR3 controller with just a few clicks (I've actually used one on a Numato Saturn V3 board which happens to have LPDDR RAM), and those generated controller IPs are free to use. Of course you'd then need some interface between the CPU and this controller, but it certainly wouldn't require writing or maintaining thousands of lines of code, so I don't know exactly what they did here. Would you happen to have a link to this project, or is it closed source?
Thank you for your comprehensive reply. Yes - you are right - many of the lines were tool-generated. I have a long-standing aversion to source-generating 'wizards' but leaving that prejudice aside there are still 3 additional modules with more than 1000 lines and the top module was 3x larger than before. The code (for Saanlima's Pipistrello board) is on github:
https://github.com/Saanlima/Pipistrello/tree/master/Projects/Oberon_lpddr
Thanks - I took a look. And this actually looks pretty reasonable to me. There's the code for the LPDDR memory controller, generated by Xilinx tools (you may not like auto-generated code but for such controllers you don't have much choice. Writing such a controller yourself IS hard. Note that someone on the forum is currently doing this, writing a DDR3 controller. But its not easy and I bet you may not uinderstand much better their code...) Then there is a source file for interfacing with the memory controller, and another one for implementing a memory cache, each about 600 lines of code. Not sure what the third is, but I'm not very familiar with the RISC5 CPU. But that's not a lot really. And since Xilinx controllers have the same interface, you could easily port this to another type of RAM, such as DDR3.
Thing is, between the Spartan-6 series and the 7-series, with Vivado, I think the interface for memory controllers has changed a bit? So there would be a bit of work there to port it to an Artix-7.
Now from what you said, I'm not entirely sure what your goal is in terms of hardware. Do you want to use an existing dev. board, as seemed to be the case, or do you want to design/have designed your own board?
There are very few FPGA dev boards with this amount of SRAM on the market. I do remember the boards you mention, but they are kind of old now, and anything based on a more recent FPGA (such as the 7 series) is likely to have some kind of DDR RAM and certainly not SRAM... Those Pepino boards are Spartan-6 based, and I don't know if they even are still available. But anything Spartan-3 based? That's much too old IMHO.
So I don't know what to suggest really apart from what I already said. Either have a board designed for your specs (for instance, with an Artix-7 and 1 MBytes of SRAM), have an extension board with SRAM designed for an existing board such as the MIMAS A7, or accept to use DDR3 RAM on it, but if it's a bit beyond your expertise or you definitely don't want to modify the original design in this way, then...
You mentioned a board from Magnus that would interest you except for PSRAM - which is an option I mentioned earlier, and would require modifications in the Verilog code too... and besides, you asked for 10 ns access time, this is not something you can get for random access through PSRAM. So you'd need to run your CPU at a rather low clock rate, or add some cache, something I guess you don't want to bother with either. But, if there is no board available with the specs you need, I don't really see an option apart from having it custom designed.