Skip to content
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

Kintex7 ODELAYE2 fuzzer #2093

Merged
merged 2 commits into from
Feb 3, 2023
Merged

Kintex7 ODELAYE2 fuzzer #2093

merged 2 commits into from
Feb 3, 2023

Conversation

hansfbaier
Copy link
Collaborator

Hi, I have been successfully running the LiteX K7DDRPHY with the results of this fuzzer,
see this thread:
https://twitter.com/hansfbaier/status/1617651908453494785

gatecat and others added 2 commits January 24, 2023 07:28
Signed-off-by: David Shah <[email protected]>
Signed-off-by: Hans Baier <[email protected]>
@hansfbaier hansfbaier changed the title Kintex7 ODELAYE2 works Kintex7 ODELAYE2 fuzzer Jan 24, 2023
@hansfbaier
Copy link
Collaborator Author

All tests pass, ready for review.

@tmichalak
Copy link
Contributor

Have you verified the final .db files? I downloaded the artifacts for kintex and the database diff is for example:

5296 --- a/kintex7/segbits_cmt_top_l_lower_b.db
   5297 +++ b/kintex7/segbits_cmt_top_l_lower_b.db
   5298 @@ -1,30 +1,3 @@
   5299 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_FREQ_BB0 !28_1012 28_1013 29_979 29_1012
   5300 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_FREQ_BB1 !28_1012 !28_1013 29_979 29_1012
   5301 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_FREQ_BB2 !28_1012 28_1013 29_979 !29_1012
   5302 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_FREQ_BB3 !28_1012 !28_1013 29_979 !29_1012
   5303 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_IN3_HCLK 28_1012 !28_1013 29_979 !29_1012
   5304 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_L_LOWER_B_CLK_IN3_INT 28_1012 28_1013 29_979 !29_1012
   5305 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKFBIN.CMT_LR_LOWER_B_CLKFBOUT2IN 28_980 28_981 29_980
   5306 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_FREQ_BB0 28_1014 !29_1013 29_1014
   5307 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_FREQ_BB1 28_1014 !29_1013 !29_1014
   5308 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_FREQ_BB2 !28_1014 !29_1013 29_1014
   5309 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_FREQ_BB3 !28_1014 !29_1013 !29_1014
   5310 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_IN1_HCLK !28_1014 29_1013 !29_1014
   5311 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN1.CMT_L_LOWER_B_CLK_IN1_INT !28_1014 29_1013 29_1014
   5312 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_FREQ_BB0 !28_1015 28_1016 29_1015
   5313 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_FREQ_BB1 !28_1015 !28_1016 29_1015
   5314 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_FREQ_BB2 !28_1015 28_1016 !29_1015
   5315 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_FREQ_BB3 !28_1015 !28_1016 !29_1015
   5316 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_IN2_HCLK 28_1015 !28_1016 !29_1015
   5317 -CMT_TOP_L_LOWER_B.CMT_LR_LOWER_B_MMCM_CLKIN2.CMT_L_LOWER_B_CLK_IN2_INT 28_1015 28_1016 !29_1015
   5318 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS0_ACTIVE 28_1066 28_1074 29_1056
   5319 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS0.MMCM_CLK_FREQ_BB_REBUF0_NS 28_1070 29_1065 29_1073 29_1077
   5320 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS1_ACTIVE 28_1057 28_1067 28_1075
   5321 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS1.MMCM_CLK_FREQ_BB_REBUF1_NS 28_1071 29_1066 29_1074 29_1078
   5322 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS2_ACTIVE 28_1068 28_1076 29_1057
   5323 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS2.MMCM_CLK_FREQ_BB_REBUF2_NS 28_1072 29_1067 29_1075 29_1079
   5324 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS3_ACTIVE 28_1058 28_1069 28_1077
   5325 -CMT_TOP_L_LOWER_B.MMCM_CLK_FREQ_BB_NS3.MMCM_CLK_FREQ_BB_REBUF3_NS 28_1073 29_1068 29_1076 29_1080
   5326  CMT_TOP_L_LOWER_B.MMCME2_ADV.CLKFBOUT_CLKOUT1_HIGH_TIME[0] 29_860
   5327  CMT_TOP_L_LOWER_B.MMCME2_ADV.CLKFBOUT_CLKOUT1_HIGH_TIME[1] 28_860
   5328  CMT_TOP_L_LOWER_B.MMCME2_ADV.CLKFBOUT_CLKOUT1_HIGH_TIME[2] 29_859

BTW @mithro I guess it's time to update the prjxray-db database after the recent kintex additions from @hansfbaier.

@hansfbaier
Copy link
Collaborator Author

@tmichalak good point, the changes in the makefile probably didn't work out.

@hansfbaier
Copy link
Collaborator Author

@tmichalak OK, I took a look. The mentioned changes date back to @acomodi :

f4b1bd154 (Alessandro Comodi   2022-03-02 14:16:01 +0100 127) ifneq ($(XRAY_DATABASE),kintex7)
f4b1bd154 (Alessandro Comodi   2022-03-02 14:16:01 +0100 128) # FIXME: 034b fuzzer is generating conflicting bits around the FREQ_BB[N] bits.
f4b1bd154 (Alessandro Comodi   2022-03-02 14:16:01 +0100 129) # The fuzzer can be re-enabled once the conflicting bits are not generated anymore
90d420eef (Keith Rothman       2020-10-02 14:44:41 -0700 130) $(eval $(call fuzzer,034b-cmt-mmcm-pips,005-tilegrid 071-ppips,all))
f4b1bd154 (Alessandro Comodi   2022-03-02 14:16:01 +0100 131) endif

I actually have those files in the database I use for my toolchain distro, but I never ran into the issue he mentioned, because nextpnr-xilinx does not support MMCM yet. As for me, I am perfectly fine with running the cmt-mmcm fuzzer unconditionally.

@hansfbaier
Copy link
Collaborator Author

@tmichalak How to proceed?

@tmichalak
Copy link
Contributor

@hansfbaier okay, I noticed that we already have an issue for figure out why these bits are missing (#2061). Now we actually know why (ifneq in the fuzzers Makefile), but the real problem to analyze is why 034b fuzzer is generating conflicting bits around the FREQ_BB[N] bit.
Nevertheless your PR LGTM, merging.

@tmichalak tmichalak merged commit c6fb6c4 into f4pga:master Feb 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants