Thank You @robertferanec, i viewed the Open Rex and the layout it´s done exactly the same what i´m doing so now i understand what you mean!
I readed JESD79-3E and all Xilinx , Altera, Micron, NXP, TI notes about DDR xD
I routed the fly by first and matched mem1 to mem2 more or les but i will adjust when i do the complete layout
On the OpenRex The lines were routed by order (first soc - bottom and then to top fly-by vias and mem1-> mem2->mem3->mem4
On the OpenRex All the stages are matched to 1 mil (so fine) and knowing that altium computes the layer you enter and exit the via i suppose that the skew it´s minimum
I ported Open Re to xSignals to check what you say and now i perfectly understand it
I know that:
-The clock should have the same lenght that
addr_cmd_ctrl (+/- 25 ps) i supose that clock should be the longest within this tolerance for the first memory so that when clk arrives, all the signals are "quiet" (sample and hold stuff and time budget)
I will make the clock the longest in the address_ctrl_cmd group before the memory 1 so that from mem 1 to mem 2 i dont have to worry about the clock to be the fastest
-The
clk and addr_cmd_ctrl lenght should not be shortest than the dqs because the controller is not able to do the calibration under this circunstances (excepting in some i.Mx controllers that allow it to be quite shortest)
-The
dqs, dq dqm etc should have the same leght (+/- 10 ps) and the dqs lenght should be centered between the longest and shorthest
dq/dqm
What i dont undestand is this altera doc about tdqss I´m finishing the SoC decoupling When i finish this board i will send you the project if you want to take a look an then i will start a cheap i.MX7 $14 Soc based pcb
(There are writting the documentation on NXP but the available docs are enought to get started i also ordered a arrow i.mx7 red board)
I like so much the cortex m4 inside