-
Notifications
You must be signed in to change notification settings - Fork 28
WIP: Serwb improvements #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
WIP: Serwb improvements #13
Conversation
bcfe441
to
25d5fcb
Compare
liteiclink/serwb/phy.py
Outdated
# https://support.xilinx.com/s/article/38408?language=en_US | ||
max_taps = {188: 107, 200: 101, 266:72, 333: 54, 400: 43, 533: 28, 625: 22, | ||
667: 20, 800: 14, 945: 9, 1000: 8, 1050: 7, 1080: 6} | ||
sys_freq = 50 # todo: how to get that information? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does somebody know a good way to get the sysfreq, or is it ok to make it a parameter?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @cklarhorst,
that's indeed a point I want to improve and avoid having to pass sys_clk_freq parameter to all module that require it. (ie having access to it globally when elaborating a design). I'll try to work on such improvements in the future, but for now for this module, if sys_clk_freq is required, you can add an argument (and make it optional with a default value of None).
Hi @cklarhorst, thanks for your work, this is really interesting and the changes look good. #14 is now merged and happy to do a closer review of this PR when you think it will be ready. |
Thanks. (I have to change my focus for a month, so I will finish this PR sometime at the end of next month.) |
@cklarhorst Sure, no problem. |
0cd512d
to
7c9248b
Compare
7c9248b
to
977c436
Compare
Bit widths of 4,6,8 are supported for non cascaded serdese2 in ddr mode. Note that a width of 6 is currently useless because it is not supported by the stream converter.
977c436
to
e934868
Compare
e934868
to
808dd28
Compare
Hi, |
I decided to make this PR bigger:
My open todos:
Current additional ideas:
Improve the idelay2 range: Use 255 taps for edge detection and just make sure that the delay used is less than the errdata value.. Just use 255 taps. I have not experienced any problems, and it makes the implementation easier (doesn't need to know the sysfreq)What was tested (sync + memtest over serwb, all with PR#14):
As always, thank you for this great project.
Let me know if there is anything I can improve or do differently to reduce work on your side.