blob: d69bc0fdbbc5682d34719e178693e598267d9870 [file] [log] [blame]
This patch changes the output timing for the LRAMs to be correct for when
registered output mode is used. It probably cannot be upstreamed since
not all users will enable registered output mode. Ideally nextpnr/prjoxide
would include both registered and non-registered timings and select the
appropriate one based on parameters.
This patch was produced by running the following commands in the prjoxide
repository after first applying gen-ram-registered-output.patch:
source environment.sh
(cd timing; make -f tools/run-fuzzers.mk)
(cd timing; make -f tools/postprocess.mk)
(python timing/util/extract_cell_timings.py timing/output/)
diff --git a/LIFCL/timing/cells_10.json b/LIFCL/timing/cells_10.json
index 33a7d1d..dc77518 100644
--- a/LIFCL/timing/cells_10.json
+++ b/LIFCL/timing/cells_10.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 13462,
- "minv": 8290,
+ "maxv": 1834,
+ "minv": 1008,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 13541,
- "minv": 12849,
+ "maxv": 1859,
+ "minv": 1053,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 13303,
- "minv": 8268,
+ "minv": 985,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 13384,
- "minv": 12776,
+ "maxv": 1701,
+ "minv": 981,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 185,
- "max_setup": 6500,
- "min_hold": 123,
+ "max_hold": 713,
+ "max_setup": 6244,
+ "min_hold": 185,
"min_setup": 4969,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 105,
- "max_setup": 6422,
- "min_hold": 105,
- "min_setup": 6422,
+ "max_hold": 729,
+ "max_setup": 6048,
+ "min_hold": 729,
+ "min_setup": 6048,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 205,
- "max_setup": 6500,
- "min_hold": 138,
+ "max_hold": 731,
+ "max_setup": 6244,
+ "min_hold": 205,
"min_setup": 4968,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 101,
- "max_setup": 6409,
- "min_hold": 101,
- "min_setup": 6409,
+ "max_hold": 819,
+ "max_setup": 6034,
+ "min_hold": 819,
+ "min_setup": 6034,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_11.json b/LIFCL/timing/cells_11.json
index 9293004..74ebc1a 100644
--- a/LIFCL/timing/cells_11.json
+++ b/LIFCL/timing/cells_11.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 11706,
- "minv": 7208,
+ "maxv": 1595,
+ "minv": 877,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 11775,
- "minv": 11173,
+ "maxv": 1616,
+ "minv": 916,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 11568,
- "minv": 7189,
+ "minv": 857,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 11638,
- "minv": 11110,
+ "maxv": 1479,
+ "minv": 853,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 161,
- "max_setup": 5652,
- "min_hold": 107,
+ "max_hold": 620,
+ "max_setup": 5430,
+ "min_hold": 161,
"min_setup": 4321,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 91,
- "max_setup": 5584,
- "min_hold": 91,
- "min_setup": 5584,
+ "max_hold": 634,
+ "max_setup": 5259,
+ "min_hold": 634,
+ "min_setup": 5259,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 178,
- "max_setup": 5652,
- "min_hold": 120,
+ "max_hold": 636,
+ "max_setup": 5430,
+ "min_hold": 178,
"min_setup": 4320,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 88,
- "max_setup": 5573,
- "min_hold": 88,
- "min_setup": 5573,
+ "max_hold": 712,
+ "max_setup": 5247,
+ "min_hold": 712,
+ "min_setup": 5247,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_12.json b/LIFCL/timing/cells_12.json
index 9b8b6f4..f4afd8f 100644
--- a/LIFCL/timing/cells_12.json
+++ b/LIFCL/timing/cells_12.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 8504,
- "minv": 5333,
+ "maxv": 1169,
+ "minv": 756,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 8537,
- "minv": 8204,
+ "maxv": 1164,
+ "minv": 793,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 8391,
- "minv": 5314,
+ "minv": 739,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 8446,
- "minv": 8155,
+ "maxv": 1075,
+ "minv": 743,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 101,
- "max_setup": 4076,
- "min_hold": 21,
+ "max_hold": 440,
+ "max_setup": 3884,
+ "min_hold": 101,
"min_setup": 3120,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 27,
- "max_setup": 4024,
- "min_hold": 27,
- "min_setup": 4024,
+ "max_hold": 465,
+ "max_setup": 3777,
+ "min_hold": 465,
+ "min_setup": 3777,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 110,
- "max_setup": 4082,
- "min_hold": 27,
+ "max_hold": 453,
+ "max_setup": 3890,
+ "min_hold": 110,
"min_setup": 3125,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 21,
- "max_setup": 4011,
- "min_hold": 21,
- "min_setup": 4011,
+ "max_hold": 516,
+ "max_setup": 3765,
+ "min_hold": 516,
+ "min_setup": 3765,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_4.json b/LIFCL/timing/cells_4.json
index 7a22a56..241c7f7 100644
--- a/LIFCL/timing/cells_4.json
+++ b/LIFCL/timing/cells_4.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 13462,
- "minv": 8290,
+ "maxv": 1834,
+ "minv": 1008,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 13541,
- "minv": 12849,
+ "maxv": 1859,
+ "minv": 1053,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 13303,
- "minv": 8268,
+ "minv": 985,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 13384,
- "minv": 12776,
+ "maxv": 1701,
+ "minv": 981,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 185,
- "max_setup": 6500,
- "min_hold": 123,
+ "max_hold": 713,
+ "max_setup": 6244,
+ "min_hold": 185,
"min_setup": 4969,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 105,
- "max_setup": 6422,
- "min_hold": 105,
- "min_setup": 6422,
+ "max_hold": 729,
+ "max_setup": 6048,
+ "min_hold": 729,
+ "min_setup": 6048,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 205,
- "max_setup": 6500,
- "min_hold": 138,
+ "max_hold": 731,
+ "max_setup": 6244,
+ "min_hold": 205,
"min_setup": 4968,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 101,
- "max_setup": 6409,
- "min_hold": 101,
- "min_setup": 6409,
+ "max_hold": 819,
+ "max_setup": 6034,
+ "min_hold": 819,
+ "min_setup": 6034,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_5.json b/LIFCL/timing/cells_5.json
index 5c9f464..23d06c7 100644
--- a/LIFCL/timing/cells_5.json
+++ b/LIFCL/timing/cells_5.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 11706,
- "minv": 7208,
+ "maxv": 1595,
+ "minv": 877,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 11775,
- "minv": 11173,
+ "maxv": 1616,
+ "minv": 916,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 11568,
- "minv": 7189,
+ "minv": 857,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 11638,
- "minv": 11110,
+ "maxv": 1479,
+ "minv": 853,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 161,
- "max_setup": 5652,
- "min_hold": 107,
+ "max_hold": 620,
+ "max_setup": 5430,
+ "min_hold": 161,
"min_setup": 4321,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 91,
- "max_setup": 5584,
- "min_hold": 91,
- "min_setup": 5584,
+ "max_hold": 634,
+ "max_setup": 5259,
+ "min_hold": 634,
+ "min_setup": 5259,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 178,
- "max_setup": 5652,
- "min_hold": 120,
+ "max_hold": 636,
+ "max_setup": 5430,
+ "min_hold": 178,
"min_setup": 4320,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 88,
- "max_setup": 5573,
- "min_hold": 88,
- "min_setup": 5573,
+ "max_hold": 712,
+ "max_setup": 5247,
+ "min_hold": 712,
+ "min_setup": 5247,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_6.json b/LIFCL/timing/cells_6.json
index c825410..821682c 100644
--- a/LIFCL/timing/cells_6.json
+++ b/LIFCL/timing/cells_6.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 8504,
- "minv": 5333,
+ "maxv": 1169,
+ "minv": 756,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 8537,
- "minv": 8204,
+ "maxv": 1164,
+ "minv": 793,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 8391,
- "minv": 5314,
+ "minv": 739,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 8446,
- "minv": 8155,
+ "maxv": 1075,
+ "minv": 743,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 101,
- "max_setup": 4076,
- "min_hold": 21,
+ "max_hold": 440,
+ "max_setup": 3884,
+ "min_hold": 101,
"min_setup": 3120,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 27,
- "max_setup": 4024,
- "min_hold": 27,
- "min_setup": 4024,
+ "max_hold": 465,
+ "max_setup": 3777,
+ "min_hold": 465,
+ "min_setup": 3777,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 110,
- "max_setup": 4082,
- "min_hold": 27,
+ "max_hold": 453,
+ "max_setup": 3890,
+ "min_hold": 110,
"min_setup": 3125,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 21,
- "max_setup": 4011,
- "min_hold": 21,
- "min_setup": 4011,
+ "max_hold": 516,
+ "max_setup": 3765,
+ "min_hold": 516,
+ "min_setup": 3765,
"pin": "RSTB"
},
{
diff --git a/LIFCL/timing/cells_M.json b/LIFCL/timing/cells_M.json
index 77b7375..4e6568a 100644
--- a/LIFCL/timing/cells_M.json
+++ b/LIFCL/timing/cells_M.json
@@ -3679,26 +3679,26 @@
"iopaths": [
{
"from_pin": "CLK",
- "maxv": 5544,
- "minv": 3464,
+ "maxv": 868,
+ "minv": 527,
"to_pin": "DOA"
},
{
"from_pin": "CLK",
- "maxv": 5549,
- "minv": 5304,
+ "maxv": 862,
+ "minv": 551,
"to_pin": "DOB"
},
{
"from_pin": "CLK",
"maxv": 5457,
- "minv": 3451,
+ "minv": 515,
"to_pin": "ERRDECA"
},
{
"from_pin": "CLK",
- "maxv": 5159,
- "minv": 4933,
+ "maxv": 791,
+ "minv": 518,
"to_pin": "ERRDECB"
},
{
@@ -3759,18 +3759,18 @@
},
{
"clock": "CLK",
- "max_hold": 173,
- "max_setup": 2835,
- "min_hold": 147,
+ "max_hold": 437,
+ "max_setup": 2705,
+ "min_hold": 173,
"min_setup": 2214,
"pin": "CSA"
},
{
"clock": "CLK",
- "max_hold": 139,
- "max_setup": 2798,
- "min_hold": 139,
- "min_setup": 2798,
+ "max_hold": 449,
+ "max_setup": 2619,
+ "min_hold": 449,
+ "min_setup": 2619,
"pin": "CSB"
},
{
@@ -3807,18 +3807,18 @@
},
{
"clock": "CLK",
- "max_hold": 181,
- "max_setup": 2840,
- "min_hold": 154,
+ "max_hold": 445,
+ "max_setup": 2710,
+ "min_hold": 181,
"min_setup": 2220,
"pin": "RSTA"
},
{
"clock": "CLK",
- "max_hold": 133,
- "max_setup": 2790,
- "min_hold": 133,
- "min_setup": 2790,
+ "max_hold": 490,
+ "max_setup": 2624,
+ "min_hold": 490,
+ "min_setup": 2624,
"pin": "RSTB"
},
{