Commit Graph

3243 Commits

Author SHA1 Message Date
gatecat
a8e35062c6
Merge pull request #621 from litghost/fix_header_nightmare
Split nextpnr.h to allow for linear inclusion.
2021-03-15 17:00:52 +00:00
gatecat
3cf4a33666
Merge pull request #624 from YosysHQ/gatecat/fix-623
opt-timing: Skip undriven nets
2021-03-15 17:00:03 +00:00
gatecat
3c71911c26 opt-timing: Skip undriven nets
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-15 16:08:47 +00:00
Keith Rothman
fe4608386e Split nextpnr.h to allow for linear inclusion.
"nextpnr.h" is no longer the god header.  Important improvements:

 - Functions in log.h can be used without including
   BaseCtx/Arch/Context. This means that log_X functions can be called
   without included "nextpnr.h"

 - NPNR_ASSERT can be used without including "nextpnr.h" by including
   "nextpnr_assertions.h".  This allows NPNR_ASSERT to be used safely in
   any header file.

 - Types defined in "archdefs.h" are now available without including
   BaseCtx/Arch/Context.  This means that utility classes that will be
   used inside of BaseCtx/Arch/Context can be defined safely in a
   self-contained header.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-15 09:05:23 -07:00
gatecat
035b797ec2
Merge pull request #620 from litghost/handle_partial_routed
Add support for partially routed nets from the placer in router2.
2021-03-12 22:25:24 +00:00
Keith Rothman
a342ae56e0 Add support for partially routed nets from the placer in router2.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-12 09:53:15 -08:00
gatecat
bffaad477a
Merge pull request #618 from YosysHQ/no-absl-on-wasi
Don't include Abseil if it is not used
2021-03-12 11:23:10 +00:00
whitequark
bdf13ddcfb CMake: Don't include Abseil if it is not used. 2021-03-12 03:00:58 +00:00
gatecat
cc367d7e67
Merge pull request #615 from litghost/add_lookahead_diag_to_router2
Add diagnostic prints to debug lookahead performance.
2021-03-10 18:24:11 +00:00
Keith Rothman
7168cf8657 Add diagnostic prints to debug lookahead performance.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-10 09:12:50 -08:00
gatecat
7f0c23dff3
Merge pull request #617 from YosysHQ/no-absl-on-wasi
Only depend on Abseil in threaded builds.
2021-03-10 10:03:24 +00:00
whitequark
979e7b8709 Only depend on Abseil in threaded builds.
Abseil has a hard dependency on threads (not just in the build system
but in many places in the base libraries), so there is no way to use
it on WASI at the moment.
2021-03-10 06:18:42 +00:00
gatecat
d1f44fe91a
Merge pull request #607 from litghost/add_absl_flat_hash_map
Add absl::flat_hash_map.
2021-03-09 08:48:25 +00:00
gatecat
326b34887c
Merge pull request #609 from YosysHQ/gatecat/sta-v2
Use new timing engine for criticality
2021-03-09 08:48:12 +00:00
gatecat
0f17e80eef
Merge pull request #613 from YosysHQ/gatecat/nexus-dphy
Add basic support for Nexus DPHY hard IP
2021-03-08 21:11:13 +00:00
gatecat
08c7f97b1e nexus: Support for hard DPHY
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-08 15:59:18 +00:00
gatecat
91064c7ec8 nexus: Add pin definitions for DPHY
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-08 15:59:18 +00:00
gatecat
e1534e1dec
Merge pull request #612 from YosysHQ/gatecat/router2-bb-fix
router2: Fix vast perf drop when leaving bounding box
2021-03-08 15:58:56 +00:00
gatecat
da88d3d825 router2: Fix vast perf drop when leaving bounding box
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-08 15:06:30 +00:00
gatecat
55fa8b7745 nexus: Fix copypasta
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-08 14:40:13 +00:00
gatecat
f0e30abf62 nexus: Fail gracefully when seeing special pins
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-05 12:15:58 +00:00
gatecat
8a4bf3a780 timing: Integration tweaks
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-05 10:04:35 +00:00
gatecat
98d1c5a411 timing: Skip route delays for unplaced/nullptr cells
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 11:34:20 +00:00
gatecat
1ff2023f32 timing: Replace all users of criticality with new engine
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 11:29:11 +00:00
gatecat
5f6aaa2475 timing: Use new engine in SA except for budget-based mode
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
ebc2527368 timing: Use new engine for HeAP
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
bbf5a7d461 timing: Add support for critical path printing
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
e681e0f14c timing: Slack and criticality computation
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
296e6d10c2 timing: Produce plausible Fmax figure
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
541376f8cc timing: Add Fmax printing for debugging
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
16e7bba87b timing: Add backwards path walking
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
0528ceead1 timing: Add forward path walking
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
9c8d1bd6e3 timing: Compute domain pairs
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
534e69fbff timing: Add port-domain tracking
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
7a546b1554 timing: Add topological sort from Yosys
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
d0772ce1e3 timing: Import cell delays to our own structures
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
fac6a6c068 timing: Data structures for STA rewrite
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-04 10:29:36 +00:00
gatecat
1aab019f1e
Merge pull request #608 from YosysHQ/gatecat/lifcl-17
Fix global normalisation for LIFCL-17
2021-03-03 15:19:17 +00:00
gatecat
685cc23b94 nexus: Fix global handling for LIFCL-17
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-03 13:46:05 +00:00
gatecat
fba71bd182 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2021-03-03 10:39:47 +00:00
gatecat
6e38e236f8
Merge pull request #604 from litghost/add_counter_test
Add counter test for FPGA interchange
2021-03-03 07:06:07 +00:00
gatecat
27fbee5233
Merge pull request #605 from litghost/add_placement_sanity_check
Add placement sanity check in placer_heap.
2021-03-02 08:27:12 +00:00
Keith Rothman
392156c250 Correct spelling of RAII and add missing check in unlock_early.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-01 13:11:04 -08:00
Keith Rothman
0afa0da19f Add absl::flat_hash_map.
This lowers the CPU cost of using the flat wire map in router2, and should
use less memory as well.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-01 09:55:54 -08:00
Keith Rothman
99a2262d61 Use scope in router1/2 and placer1.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-03-01 09:43:39 -08:00
gatecat
6ff02248a3
Merge pull request #606 from pepijndevos/gowin_fixes
Gowin DFF fixes
2021-02-28 18:20:11 +00:00
Pepijn de Vos
354d497a57 only one type of dff per slice 2021-02-28 17:48:05 +01:00
gatecat
6689bfe923
Merge pull request #603 from litghost/fix_trival_bad_swap
Prevent trival misplacements in placer1.
2021-02-26 20:06:02 +00:00
Keith Rothman
77a5a60a66 Fix latent bug with context locking in placer HeAP.
Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-26 11:40:58 -08:00
Keith Rothman
7878561970 Add placement sanity check in placer_heap.
Also check return of placer1_refine.

Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
2021-02-26 11:27:43 -08:00