This is actually 2 mil you have cheated. I only cheated 1 mil
But to be absolutely honest I've done this before multiple times with both PCBWay and allpcb, and in all cases boards came out good, and they never said anything about it. So I was relatively certain of favorable outcome. I just thought that I'm the only one who plays chicken with PCB houses
Micron has a technical note: "TN-41-08: Design Guide for Two DDR3-1066 UDIMM Systems"
It is about DIMMs (and 2 of them), so probably not exactly what you're doing, but they suggest 4-layer board, they discuss routing, impedance etc. May be of interest to you.
Thanks.
I had an idea of 256-pin Artix-7 with SO-DIMM. I wanted to place Artix-7 on one side and SO-DIMM on the other side. Half of the DQ lines from the same group would go on the top layer (where FPGA is) then they would have vias next to the far end of the SO-DIMM socket. The other half would go straight to the bottom from the dogbone, then would travel the bottom layer and would connect to the near side of the SO-DIMM connector. This way it is easier to match lengths and it is only one via for each line.
That won't work, because DDR3 controller requires all pins to be in the same IO column. And you'd better not use right column (IO banks 14 and 15) because they contain configuration pins which are required to be on certain voltage domain during bootup stage (like QSPI flash pins for example that can only be 1.8 or 3.3 V depending on what IC do you use). So while it's theoretically possible though the use of voltage translators, MIG datasheet and wizard strongly advise against it.
But because left column has one of two IO banks only partially bonded out (specifically only one DQ group of the bank 34 is fully bonded out, and other one partially), you can only use a single x8 DDR3 chip with that package as MIG wizard doesn't allow to pick anything from bank 34. So unless I'm missing something (or will be willing to play games with voltage translation), you can't have anything other than x8 chip with that package.
I started this it, and I even routed three groups, but then I abandoned this idea and decided that I would better go with 484-pin Artix-7 and 6-layer board. I would even go with 676-pin model, but they're expensive and have horrible pinouts.
I'm thinking about making a devboard out of 484 package on a 6-layer using 0.1/0.1/0.2 mm process as this will allow me to fit two traces between vias, which in turn should allow to fully route out all pins on the package without major hassle. The reason is I want to make a Gameboy-kind of device and FPGA will need to drive LCD via 24-bit parallel port (+ pins for the touchscreen), and that is in addition to the memory (which by itself will consume two IO banks because of IO voltage requirement), and since two banks will be involved, I might as well go all the way and route 4 byte groups for 32bit-wide bus - this will allow me to practice fly-by routing for address/control lines too
What was the problem with your routing?
A couple of issues - one was that I couldn't come up with the way to route out all lines of ADDR/CTRL group on a single layer while maintaining length matching. Another one was that traces took all the space on the bottom layer, so I had no space to put decoupling caps for that bank, and from what I understand that is a big no-no especially when you have so many fast switching pins in the bank.
Placing ADDR/CTRL bus traces on different routing layers would not work because of the stackup I've chosen (signal-power-signal-ground, which is, while not optimal, gave me more routing space in the critical breakout region as decoupling caps did not interfere with signal traces). The problem here is that propagation delay for inner and outer layers is different because of different effective dielectric constant of the air vs prepreg.
The bottom line is I wasn't able to route it while complying with all DDR3 memory interface requirements and recommendations, and while it might just work, spending $200 or boards + ~$100 on components to find out seemed like not the best idea.
With that said, I found that AM3354 SoC from TI in "Via Channel" package was specifically designed to be routed out on 4 layer boards, and it has DDR3 interface among others, and this sounds very convincing for me to just take the risk and give it a try. So I might as well do just that - but a little later, as my purchase of Orcad PCB Editor Pro will wipe out all my hobby money for the next several months, and by spending more I run the risk of being kicked away from home by my wife
But at least with that CAD package I can actually run IBIS simulations and be reasonably sure it will work if the sim will say so. So stay tuned!