diff options
author | Clifford Wolf <clifford@clifford.at> | 2018-01-30 17:13:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-30 17:13:37 +0100 |
commit | 722790ad3cdb497e1b13cd1b4368d8380371eb37 (patch) | |
tree | 8edd2abd05093d42fe06a6d7b8b2d27e3b56c99c /icetime/timings.py | |
parent | 479467a50da0bd604a52116dcefbacf36bc601bd (diff) | |
parent | 6efb7f7cc2a9ddb07f9436739387f182014e1855 (diff) | |
download | icestorm-722790ad3cdb497e1b13cd1b4368d8380371eb37.tar.gz icestorm-722790ad3cdb497e1b13cd1b4368d8380371eb37.tar.bz2 icestorm-722790ad3cdb497e1b13cd1b4368d8380371eb37.zip |
Merge pull request #119 from daveshah1/up5k_improve
UltraPlus Timing Analysis Improvements
Diffstat (limited to 'icetime/timings.py')
-rw-r--r-- | icetime/timings.py | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/icetime/timings.py b/icetime/timings.py index 43d54ae..7ac2a7b 100644 --- a/icetime/timings.py +++ b/icetime/timings.py @@ -10,7 +10,7 @@ def timings_to_c(chip, f): print("{") in_cell = False - + last_cell = "" for line in f: fields = line.split() if len(fields) == 0: @@ -18,8 +18,14 @@ def timings_to_c(chip, f): if fields[0] == "CELL": if in_cell: + if last_cell.startswith("SB_MAC16"): + # DSPs have incomplete timing specification, as some paths + # don't mathematically exist - e.g. there is no path from + # A[1] to O[0] + print(" if (in_port != \"*clkedge*\" && out_port != \"*setup*\") return 0.0;") print(" }") print(" if (cell_type == \"%s\") {" % fields[1]) + last_cell = fields[1] in_cell = True if fields[0] == "SETUP": @@ -44,4 +50,3 @@ def timings_to_c(chip, f): for db in "lp384 lp1k lp8k hx1k hx8k up5k".split(): with open("../icefuzz/timings_%s.txt" % db, "r") as f: timings_to_c(db, f); - |