Commit Graph

179 Commits

Author SHA1 Message Date
Eddie Hung
f44a5fb904 clangformat 2018-08-06 17:35:23 -07:00
Eddie Hung
483f863106 Also add PLL outputs as timing startpoints 2018-08-06 17:20:29 -07:00
Eddie Hung
f3e46df709 Remove old timing code 2018-08-06 16:09:17 -07:00
Eddie Hung
06584f2e74 Compute critical path report 2018-08-06 14:14:41 -07:00
Eddie Hung
519b755acb Add comments 2018-08-06 13:12:24 -07:00
Eddie Hung
1b9a664bb1 Merge branch 'master' into assign_budget_speedup 2018-08-06 12:30:24 -07:00
David Shah
4f79b32c96
Merge pull request #39 from eddiehung/slack_histogram
Improve slack histogram clarity
2018-08-06 21:26:09 +02:00
Eddie Hung
95163ae1d0 Add name to copyright header 2018-08-06 12:14:00 -07:00
Eddie Hung
daedf73291 Use new Arch::isIOCell() function in Timing 2018-08-06 12:12:03 -07:00
Eddie Hung
3f5c0373a5 Consider clocked cells with COUT, consider constant nets 2018-08-06 12:03:58 -07:00
Eddie Hung
266b761f41 Merge branch 'fix_budget_overrides' into assign_budget_speedup
Conflicts:
	common/timing.cc
2018-08-06 09:02:49 -07:00
Eddie Hung
8e8ba0293c Fix use of getBudgetOverride in Timing::follow_net() 2018-08-06 08:34:37 -07:00
Eddie Hung
665202e936 Merge branch 'assign_budget_evenly' into assign_budget_speedup
Conflicts:
	common/timing.cc
2018-08-06 07:35:00 -07:00
Eddie Hung
dc685f2061 Enhance slack histogram with '+' to indicate less-than-granularity 2018-08-06 07:29:42 -07:00
Eddie Hung
2fb934b107 clangformat 2018-08-06 07:19:32 -07:00
Eddie Hung
fa773c3ce9 Add net_delays bool to Timing class to control net delay consideration 2018-08-06 07:18:06 -07:00
Eddie Hung
9b414594d2 Unless slack_redist is enabled, ignore net delays so that budget gets evenly divided between all nets on path 2018-08-05 23:00:15 -07:00
Eddie Hung
e314ea761a WIP for new assign_budget() using topographical ordering 2018-08-05 22:38:54 -07:00
David Shah
b3acd8095f timing: Fix slack histogram segfault with no paths
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-05 16:36:35 +02:00
Eddie Hung
8974ef3327 Slack histogram to use ps granularity via int(Arch::getDelayNS() * 1000) 2018-08-04 18:55:03 -07:00
Eddie Hung
76a7d67f74 Revert "Be cognisant that delay_t could be a non-integer type (if so, truncate to integer)"
This reverts commit b07f0eebc8.
2018-08-04 18:54:23 -07:00
Eddie Hung
b07f0eebc8 Be cognisant that delay_t could be a non-integer type (if so, truncate to integer) 2018-08-04 18:47:42 -07:00
Eddie Hung
dced12cbd2 Merge branch 'master' into slack_histogram
Conflicts:
	common/timing.cc
2018-08-03 23:53:33 -07:00
Eddie Hung
45304d049f clangformat 2018-08-03 23:42:25 -07:00
Eddie Hung
be481cb130 Add crude histogram feature, printed after placement and routing 2018-08-03 23:39:42 -07:00
Eddie Hung
85a436198c Remove space 2018-08-03 22:39:55 -07:00
Eddie Hung
ecb264d002 Refactor timing.cc into Timing class 2018-08-03 22:39:25 -07:00
Eddie Hung
3d5dcda12c Auto frequency only if --freq 0 is set 2018-08-03 19:53:32 -07:00
David Shah
faf309c1fe timing: Fix timing analysis when no paths found (e.g. ecp5 with no cell timing info yet)
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-01 11:23:11 +02:00
Eddie Hung
92ec2cd138 clangformat for stuff I've touched 2018-07-31 20:57:36 -07:00
Eddie Hung
f646ec790a Modify the getNetinfo*() functions and getBudgetOverride() to not use
user_idx and to take a PortRef& instead
2018-07-31 19:31:54 -07:00
Eddie Hung
720e815865 Add --slack_redist_iter for ice40 2018-07-31 19:07:39 -07:00
Eddie Hung
2ee68bcb60 Update comment 2018-07-30 22:18:50 -07:00
Eddie Hung
46b7469652 Merge remote-tracking branch 'origin/master' into redist_slack 2018-07-30 18:14:40 -07:00
David Shah
b09183db3b Use DelayInfo for cell timing instead of delay_t
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-30 16:59:30 +02:00
Eddie Hung
9c45f762c8 Really do not overconstrain! 2018-07-29 18:16:49 -07:00
Eddie Hung
52cc146a67 Keep things simple by not overconstraining Fmax 2018-07-28 22:57:37 -07:00
Eddie Hung
beabb429b0 clangformat 2018-07-28 14:11:43 -07:00
Eddie Hung
de6d0d20d7 Merge update_budget into assign_budget; update as we go along 2018-07-28 14:10:48 -07:00
Eddie Hung
e0517caf1a Refactor 2018-07-28 12:50:21 -07:00
Eddie Hung
0be236ce05 Fix auto Fmax overconstraining during update_budget() 2018-07-27 23:46:05 -07:00
Eddie Hung
0bbe309a26 Fix sign of slack redistribution again 2018-07-27 19:52:58 -07:00
Eddie Hung
4c40541484 Even if there is no updates, set budget to current delay 2018-07-26 22:49:08 -07:00
Eddie Hung
69ef533db3 Re-add getBudgetOverride() but also account for path length of
overridden
2018-07-26 22:32:24 -07:00
Eddie Hung
21d46fb633 Move target_freq update after budget update 2018-07-26 21:35:37 -07:00
Eddie Hung
5622dc0444 Fix budget realloc 2018-07-26 21:35:02 -07:00
Eddie Hung
f45e688354 Do not use budget override anymore, and subtract not add! 2018-07-25 23:10:26 -07:00
Eddie Hung
e5d3821955 clangformat 2018-07-25 22:32:07 -07:00
Eddie Hung
8f930d683b Print budget of net and its driver/sink locations too 2018-07-25 22:31:47 -07:00
Eddie Hung
b211dded3f Fix min_slack computation, and print out critical path after routing 2018-07-25 22:10:26 -07:00
Eddie Hung
9d489e8198 Retry clangformat 2018-07-25 18:34:14 -07:00
Eddie Hung
760a47779a Add compute_fmax() with refactoring, plus print out Fmax estimate post-place and post-route 2018-07-25 18:21:39 -07:00
Eddie Hung
1fa738bd88 With no user frequency set, use 1.05 * current_Fmax 2018-07-24 23:34:59 -07:00
Eddie Hung
c71212d0e1 If --freq not set, attempt to find max by adjusting budget so min path slack == 0 2018-07-24 23:19:24 -07:00
Eddie Hung
a69745060e Also subtract net delay from slack 2018-07-24 22:39:51 -07:00
Eddie Hung
9382938661 Merge branch 'master' into redist_slack 2018-07-24 22:20:10 -07:00
Eddie Hung
7b4c5594ed Refactor new code and existing code 2018-07-24 09:20:07 -07:00
David Shah
7858663aa7 timing: Model clock to Q times
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-24 11:46:14 +02:00
Eddie Hung
adc1a86648 Oops 2018-07-23 19:25:00 -07:00
Eddie Hung
ee2e6ed1c6 Simplify and use Arch::getNetinfoRouteDelay() for update_budget() 2018-07-23 18:58:57 -07:00
Eddie Hung
5aa4cf2efb Call now-more-flexibile update_budget() during routing, but using any actual delays that we have 2018-07-21 13:59:48 -07:00
Eddie Hung
926c186ec7 Add Arch::getBudgetOverride() to eliminate hack for COUT 2018-07-21 13:05:09 -07:00
Eddie Hung
e44dc25f09 Uncomment out negative slack messages during update_budget(), make verbose 2018-07-21 12:47:09 -07:00
Eddie Hung
1f6897733b Merge branch 'redist_slack' into 'redist_slack'
# Conflicts:
#   common/timing.cc
2018-07-21 19:03:23 +00:00
David Shah
b2452f4646 HACK: set carry budgets to zero 2018-07-21 19:33:42 +02:00
Eddie Hung
1cd5c9dac8 Update comment 2018-07-21 11:19:06 +02:00
Eddie Hung
27a79a3a4f Update comment 2018-07-21 01:55:20 -07:00
David Shah
27e7bc3b4b Improving the SA+legalisation flow
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-29 17:04:22 +02:00
David Shah
103dde79de Fixing Python bindings after adding unique_ptr
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-26 14:13:52 +02:00
Miodrag Milanovic
db890d3a81 nets and cells are unique_ptr's 2018-06-25 21:33:48 +02:00
David Shah
1e8840b0f9 Update from increased clangformat line length
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-23 16:12:52 +02:00
Clifford Wolf
a29bfc788e Add ctx->checksum(), slightly improve log messages
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-06-21 15:47:41 +02:00
David Shah
56ed679f83 Add frequency setting and fix slack calculation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-21 11:59:20 +02:00
David Shah
4fc9625040 WIP: adding timing budget to placer
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 17:08:57 +02:00
David Shah
e45508f6c4 Improving timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 15:15:51 +02:00
David Shah
4648d3bc83 Working on the timing annotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 13:01:22 +02:00
David Shah
5ca4663294 Working on the timing budget annnotator
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 12:21:56 +02:00
David Shah
2a41211ce1 Another stub delay calculation function
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:53:49 +02:00
David Shah
1436ae21a2 Adding stubs for delay annotation and cell timing lookup
Signed-off-by: David Shah <davey1576@gmail.com>
2018-06-20 11:44:28 +02:00