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

Instability in SDF output #884

Closed
mithro opened this issue Jun 14, 2019 · 2 comments · Fixed by #901
Closed

Instability in SDF output #884

mithro opened this issue Jun 14, 2019 · 2 comments · Fixed by #901
Assignees

Comments

@mithro
Copy link
Contributor

mithro commented Jun 14, 2019

It looks like we are still not sorting everything in the SDF output which is causing diffs in the output, see the patch below;

diff --git a/artix7/timings/GTP_CHANNEL_2.sdf b/artix7/timings/GTP_CHANNEL_2.sdf
index d846ae0..7ebaf18 100644
--- a/artix7/timings/GTP_CHANNEL_2.sdf
+++ b/artix7/timings/GTP_CHANNEL_2.sdf
@@ -144,16 +144,16 @@
         (CELLTYPE "GTPE2_CHANNEL_GTPE2_CHANNELGTPE2_CHANNEL_RXCHBONDI_GEN_TRUE_16")
         (INSTANCE GTPE2_CHANNEL)
         (TIMINGCHECK
-            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK2) (0.159::0.183))
-            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK2) (0.328::0.378))
+            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK) (0.159::0.183))
+            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK) (0.328::0.378))
         )
     )
     (CELL
         (CELLTYPE "GTPE2_CHANNEL_GTPE2_CHANNELGTPE2_CHANNEL_RXCHBONDI_GEN_TRUE_20")
         (INSTANCE GTPE2_CHANNEL)
         (TIMINGCHECK
-            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK2) (0.159::0.183))
-            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK2) (0.328::0.378))
+            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK) (0.159::0.183))
+            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK) (0.328::0.378))
         )
     )
     (CELL
diff --git a/artix7/timings/GTP_CHANNEL_3.sdf b/artix7/timings/GTP_CHANNEL_3.sdf
index d846ae0..7ebaf18 100644
--- a/artix7/timings/GTP_CHANNEL_3.sdf
+++ b/artix7/timings/GTP_CHANNEL_3.sdf
@@ -144,16 +144,16 @@
         (CELLTYPE "GTPE2_CHANNEL_GTPE2_CHANNELGTPE2_CHANNEL_RXCHBONDI_GEN_TRUE_16")
         (INSTANCE GTPE2_CHANNEL)
         (TIMINGCHECK
-            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK2) (0.159::0.183))
-            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK2) (0.328::0.378))
+            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK) (0.159::0.183))
+            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK) (0.328::0.378))
         )
     )
     (CELL
         (CELLTYPE "GTPE2_CHANNEL_GTPE2_CHANNELGTPE2_CHANNEL_RXCHBONDI_GEN_TRUE_20")
         (INSTANCE GTPE2_CHANNEL)
         (TIMINGCHECK
-            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK2) (0.159::0.183))
-            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK2) (0.328::0.378))
+            (HOLD RX_DATA_WIDTH (posedge RXUSRCLK) (0.159::0.183))
+            (SETUP RX_DATA_WIDTH (posedge RXUSRCLK) (0.328::0.378))
         )
     )
     (CELL

Related #776 and #815.

@mithro
Copy link
Contributor Author

mithro commented Jun 14, 2019

@kgugala - Can you track what is going wrong here?

@kgugala
Copy link
Contributor

kgugala commented Jun 16, 2019

@mithro I'm afraid this is not sorting issue, but rather a bug in the tim2json script. It seems it does not handle correctly very complicated timings definitions as we have in e.g. GTPE2_CHANNEL.

By complicated I mean a timing which includes number of properties. I think the above timing should in fact be:

(CELLTYPE "GTPE2_CHANNEL_GTPE2_CHANNELGTPE2_CHANNEL_GEN_RXUSRCLK_TRUE_RX_DATA_WIDTH_16")
         (INSTANCE GTPE2_CHANNEL)
         (TIMINGCHECK
            (HOLD RXCHBONDI  (posedge RXUSRCLK2) (0.159::0.183))
            (SETUP RXCHBONDI (posedge RXUSRCLK2) (0.328::0.378))
         )

So from RXCHBONDI input to RXUSRCLK2 clock. with GEN_RXUSRCLK property set to true and RX_DATA_WIDTH set to 16
It looks like the script confused inputs with parameters

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 a pull request may close this issue.

2 participants