Announcement
Collapse
No announcement yet.
picosecond to Mil conversion.
Collapse
X
-
finaly update on this thread. all was very well no errors.. a first time right design.
to conclude you do not need to make it more complicated then it is.
just calaculate the de the picoseconds to mills (depending on your material) and implement the lenghts.
Xsignals will take care of the rest!
just finishing up on the other 4 banks so the final SI / Timing analasys will be done after that!
just one more thing.. if you are using Xsignals. i find it easier to create xsignals my self instead of the wizard, it seems not to implement it all that well and it saves a lot of headaches to find the corerct way of naming it.. if you do it yourself you will have full control.
- Likes 1
Leave a comment:
-
Yes indeed. In the end it was just a rule setting. First bank is now in si check so will post hopefully some good news next week!
Leave a comment:
-
Honestly, I do not know what the red meansBut I know they all should be white when everything is ok
Leave a comment:
-
Hi Guys,
ok added the new " updated" signals and got it to work.. no more broken links.
it is going for simulation this week..
just one question.. I red that the red signals in the xsignal panel, just mean that they are the longest signals. not that there is anywthing wrong with the,, e.g. a maximum length rule that is telling me that they are too long right?
Leave a comment:
-
yes, if you swap pins, you may really need to adjust the xSignal definitions.
Leave a comment:
-
well figured it out again, just manually re add the xsignals will fix the broken link.. I dont know if pinswapping is allowed within xsignals, but that still a manual thing for me..
but hey it works...i am a Happy panda again!
- Likes 1
Leave a comment:
-
Hi Robert,
since you are the expert in Xsignals. I have the following issue. I have swapped a few bits in one byte cluster, but by doing this my xsignals have gone crazy.. it looks like xsignals does not recognize the new definition. but I cant find how to fix it.
now it says Broken and when you look at the primitives attached you can see the swap I made (manually by moving the netnames in the schematic) but it does not update the link..
I am hesitant to re run the xsignals since I already have routed the flyby of the controller. and do not want to screw things up.
any suggestions?
1 Photo
Leave a comment:
-
If you are using xSignals, maybe this will help you: https://www.fedevel.com/welldoneblog...useful-things/
Leave a comment:
-
update number one!
after introducing Xsignals to the settings, things became much more clear. I do not have to group the signals like i did in the excel file. altium does this for you, so just calculating the the picoseconds to mill is good enough and putting them into the schematic symbol. which kind of makes sense, because otherwise changing the pin file in vivado would mess up all calaculations.
we are learning every day!
xsignals it self is pretty handy but still a lot of headaches.
keep you posted!
Leave a comment:
-
Hi Robert,
I understand your reasoning, but when running the DDR4 @ 2400 MHz (or 1200 clk) the margins are within the 5 ps. this means (in my opninion) that getting the PCB layout as close to perfect will help a lot giving you a larger margin for the FPGA to work with. anyway, I am working through this one interface first and having it simulated. I will have awnsers soon I hope they will be positive!.
now to get the Xsignals working ont his design and start routing..
keep you posted!
- Likes 1
Leave a comment:
-
that lead me to contact xilinx themselves, and the answer was that you should not trust the matching on the defkits, since they are not likely to be 100% correct.
you have to take internal wirebonds into account.
But as I said, that is only what I would expect .. I have never tried that and I may be wrong.
I am curious what you will find out, please let me know.
Leave a comment:
-
Hi Robert,
,,Double check how other do it. ''
thats what I am trying to do here
the thing is, I tried to look at the defkits, and finaly managed to get some orcad files into altium. then the confusion started. it did not make sense!
i recalculated the matching they did on the VCU190 and it did not match. not in a good way. that lead me to contact xilinx themselves, and the answer was that you should not trust the matching on the defkits, since they are not likely to be 100% correct.
But running ddr4 at 2400 Mhz, makes me a bit nervous. especially with this many in a 64 bits config (and that 4 times) . and it has to run at max speed for this project.
(It is kind of funny thinking about it..running transceivers @ 25 Gbps don't scare me at all)
this protoype will cost a lot of pennies, so i would prefer not waisting a pretty expensive FPGA and PCB.
yes there will be a compensation inside of the chips / tooling to get optimum preformance but still all documentation says you have to take internal wirebonds into account. so here I am doing that and there is no real guide of how to do it. it is going to be simulated, but does the simulation (post layout) take the timing of the internal wirebonds? or is it just pin to pin.? I am having a meeting about this today so hope to have a answer soon...
now i get the option in the schematic symbol to add the lengths of internal wirebond to the pins, and that is great. but the fun doesn't stop there.. how to match this..
I have broken down the 16 bits config to 2x8 to ease routing, so I can match the 16 bits on 2 layers making it possible. doing 16 bits and dqs / dm on one layer isn't even possible.
grouping signals in a control/ byte groups. and then i should match this over 64 bits.. thats sounds like impossible right?
I am at pre layout stage here, just figuring out on what layers to use... and still have a lot to do (see screenshot)
so any advice or experience is welcome.
in the end I will figure it out.. I always do, but having some help along the way is always nice!
anyway... Thanks for helping so far!
Best regards,
Paul..1 Photo
Leave a comment:
-
Double check how other do it.
I was working on a project based on Altera chip with 4 memory slots and we have done the length matching the standard way. I am not 100% sure, but I believe, they then had some calibration firmware which they run on the physical board, and get values which they used to adjust their own firmware.
It may be something similar with XILINX, this is what I found as an example (https://www.xilinx.com/support/docum...cale-mis.pdf):
"Physical Layer – The physical layer provides a high-speed interface to the SDRAM. This layer includes the hard blocks inside the FPGA and the soft blocks calibration logic necessary to ensure optimal timing of the hard blocks interfacing to the SDRAM. "
.. and then it continues ...
"Calibration – The calibration modules provide a complete method to set all delays in the hard blocks and soft IP to work with the memory interface. Each bit is individually trained and then combined in order to ensure optimal interface performance. Results of the calibration process will be available through the Xilinx debug tools. After completion of calibration, the PHY layer presents raw interface to the SDRAM."
Leave a comment:
Leave a comment: