Commit Graph

202 Commits

Author SHA1 Message Date
David Shah
abdaa9c8a1 ecp5: Router2 test integration
Signed-off-by: David Shah <dave@ds0.me>
2020-02-03 11:38:30 +00:00
David Shah
fe40094216 Preserve hierarchy through packing
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
b100087024 python: Add bindings for hierarchy structures
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
6bf3c261fa First pass at data structures for hierarchy
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:30 +00:00
David Shah
6aaa9f5a3d frontend/base: Functions for port import
Signed-off-by: David Shah <dave@ds0.me>
2019-12-27 10:44:29 +00:00
David Shah
f2b9cc6d23 sdf: Working on support for CVC
Signed-off-by: David Shah <dave@ds0.me>
2019-10-24 12:37:07 +01:00
David Shah
4775930e49 sdf: Add basic support for writing SDF files
Signed-off-by: David Shah <dave@ds0.me>
2019-10-19 19:20:02 +01:00
David Shah
5cd2b55f1f python: Adding helper functions for netlist modification
Signed-off-by: David Shah <dave@ds0.me>
2019-09-15 19:30:56 +01:00
David Shah
95540763b9 json: Add support for net aliases
Signed-off-by: David Shah <dave@ds0.me>
2019-09-13 17:27:15 +01:00
David Shah
ec48f8f464 ecp5: New Property interface
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 17:22:37 +01:00
David Shah
1839a3a770 Major Property improvements for common and iCE40
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 14:52:15 +01:00
Miodrag Milanovic
bd694bda19 Switching from std to boost fix crash 2019-07-05 10:22:42 +02:00
Miodrag Milanovic
be47fc3e9a clangformat run 2019-06-25 18:19:25 +02:00
Miodrag Milanovic
92da4a91de Preserve ports 2019-06-21 09:43:47 +02:00
Miodrag Milanovic
8d5724f4fd moved some context variables to settings 2019-06-15 15:23:51 +02:00
Miodrag Milanovic
95280060b8 No need for settings class 2019-06-15 13:09:49 +02:00
Miodrag Milanovic
856760599e Use properties for settings and save in json 2019-06-12 18:34:34 +02:00
Miodrag Milanovic
d9b0bac248 Save top level attrs and store current step 2019-06-07 16:11:11 +02:00
Miodrag Milanovic
78e6631f76 Cleanup 2019-06-07 13:49:19 +02:00
Miodrag Milanovic
1093d7e122 WIP saving/loading attributes 2019-06-07 11:48:15 +02:00
Miodrag Milanovic
d5d8213871 Added support for attributes/properties types 2019-06-01 15:52:32 +02:00
David Shah
f0cd51e6bc generic: Cell timing support
Signed-off-by: David Shah <dave@ds0.me>
2019-04-04 16:34:06 +01:00
David Shah
6fffe24177 generic: GUI Python bindings
Signed-off-by: David Shah <dave@ds0.me>
2019-04-03 16:08:33 +01:00
David Shah
493d6c3fb9 Add Python helper functions for floorplanning
Signed-off-by: David Shah <dave@ds0.me>
2019-03-22 10:31:54 +00:00
David Shah
9c52afcf5f clangformat
Signed-off-by: David Shah <dave@ds0.me>
2018-11-16 13:25:51 +00:00
Eddie Hung
06ddb632d1 Merge remote-tracking branch 'origin/master' into timingapi 2018-11-14 17:59:21 -08:00
Eddie Hung
6527e3b6ae [common] Fix typo in Loc::operator!=() 2018-11-13 16:33:01 -08:00
Eddie Hung
2d39cde17b Merge remote-tracking branch 'origin/master' into timingapi 2018-11-13 12:12:11 -08:00
Clifford Wolf
e06eef375c Add more nameOf() convenience methods
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-13 16:08:44 +01:00
David Shah
fc5e6bec9a timing: Add support for clock constraints
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
143abc6034 timing: Multiple clock analysis
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
9687f7d1da Working on multi-clock analysis
Signed-off-by: David Shah <dave@ds0.me>
2018-11-12 14:03:58 +00:00
David Shah
b6312abc5d timing: Implementing parts of new timing API
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-12 14:03:58 +00:00
David Shah
83b1c43630 timing: Working on a timing constraint API
Signed-off-by: David Shah <davey1576@gmail.com>
2018-11-12 14:03:58 +00:00
Clifford Wolf
6b94102e5a Add checkers and assertions to router1 and other improvements
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-11-10 21:14:50 +01:00
Mateusz Zalega
d03291eeb1 gui: improved FPGAViewWidget::paintGL() performance
Profiling revealed that memcpy() in QOpenGLBuffer::allocate() had been taking
the most time during paintGL() calls. I've been able to take the CPU usage
down to about 1/4 of its previous values by caching elements in VBOs and
updating them only after subsequent calls to renderGraphicElement().

Signed-off-by: Mateusz Zalega <mateusz@appliedsourcery.com>
2018-10-23 15:43:51 +02:00
Clifford Wolf
5ddde5c49f Add pip locations
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-09 10:39:53 +02:00
Clifford Wolf
a9b6543361 Add Region struct
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-09 10:39:53 +02:00
Clifford Wolf
f6189e4677 Merge branch 'master' of github.com:YosysHQ/nextpnr into constids 2018-08-08 19:35:13 +02:00
David Shah
cd4e761bb7
Merge pull request #44 from YosysHQ/improve_timing_spec
Speed up budget allocator using topographical ordering and update cell timing API
2018-08-08 19:23:47 +02:00
Clifford Wolf
2390f7f59c Add ctx->settings
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 18:46:33 +02:00
Clifford Wolf
e03ae50e21 Get rid of PortPin and BelType (ice40, generic, docs)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-08 17:01:18 +02:00
David Shah
bf42e525cb Arch API: New specification for timing port classes
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 14:37:59 +02:00
David Shah
a0994d5154 common: Add TimingPortClass
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-08 10:44:42 +02:00
Clifford Wolf
5e53075990 API change: Use CellInfo* and NetInfo* as cell/net handles (common, ice40)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-05 15:25:42 +02:00
Clifford Wolf
bd36cc1275 Refactor ice40 timing fuzzer used to create delay estimates
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-04 13:41:42 +02:00
Clifford Wolf
af74f6e511 Add router1 cfg.useEstimate, improve getActualRouteDelay
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-08-04 11:57:34 +02:00
Eddie Hung
d66edf5223 Merge branch 'master' into slack_redist_freq 2018-08-03 23:43:53 -07:00
Eddie Hung
3d5dcda12c Auto frequency only if --freq 0 is set 2018-08-03 19:53:32 -07:00
David Shah
dc4ab55b27 Adding constraint satisfaction checks for debugging
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 16:59:45 +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
0eaa92bd6a Merge remote-tracking branch 'origin/master' into redist_slack 2018-07-28 12:51:37 -07:00
Eddie Hung
d5c2332ebf Merge remote-tracking branch 'origin/master' into redist_slack 2018-07-26 21:00:26 -07:00
Sergiusz Bazanski
df908374dc gui: implement basic cursor picking 2018-07-26 22:40:45 +01:00
Sergiusz Bazanski
c37d2baaf6 common: rename GraphicElement::{style,type} enums, add _MAX members 2018-07-26 16:39:19 +01:00
Clifford Wolf
03f92948d1 clangformat and GraphicElement::style comments
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-26 17:14:56 +02:00
Eddie Hung
7c8c13aba1 Merge remote-tracking branch 'origin/master' into redist_slack 2018-07-25 17:41:23 -07:00
David Shah
7a8e8999d2 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-25 19:45:38 +02:00
Clifford Wolf
ddfb1f1ff3 Fix BaseCtx::unlock()
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-25 13:35:53 +02:00
Clifford Wolf
f3dab003e7 Merge branch 'bba' into 'master'
bbasm

See merge request SymbioticEDA/nextpnr!18
2018-07-25 11:07:51 +00:00
Miodrag Milanovic
e3ce2f544d noreturn have to be void, so there is no UB 2018-07-25 11:58:23 +02:00
Miodrag Milanovic
5e58a329e6 Make thread check portable 2018-07-25 09:32:13 +02: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
Clifford Wolf
f86fc6e7fd Typo fix
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:41:08 +02:00
Clifford Wolf
1538d26073 Add CellInfo data for placement constraints
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:39:33 +02:00
Clifford Wolf
9d38907e95 Add G_ARROW (for now same look as G_LINE)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-24 12:18:01 +02:00
Clifford Wolf
e647604e2a Add Context::archcheck() and "nextpnr-ice40 --test"
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-23 14:03:23 +02:00
Clifford Wolf
c6e4ad3227 Move common patterns from router1 to Context API
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-22 02:16:03 +02:00
Clifford Wolf
9e6deed3b8 Merge branch 'q3k/lock-2-electric-boogaloo' into 'master'
Basic locking and threading for Arch/GUI

See merge request SymbioticEDA/nextpnr!10
2018-07-21 19:45:24 +00:00
Clifford Wolf
30e2f0e1e8 Add Loc constructors
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-21 21:40:06 +02:00
Sergiusz Bazanski
6588aafdb8 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-21 20:00:42 +01:00
Sergiusz Bazanski
0311a27a53 Use UI lock for yielding 2018-07-20 18:34:59 +01:00
Sergiusz Bazanski
76e5236fb3 Nuke IdStringDB 2018-07-20 18:24:16 +01:00
Sergiusz Bazanski
b5b956bd21 Remove dead code. 2018-07-20 17:57:16 +01:00
Clifford Wolf
fd8239e170 Add Location APIs to generic arch
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 18:09:22 +02:00
Clifford Wolf
f6fa0300ae Improve iCE40 and common Loc code
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-20 17:33:57 +02:00
Clifford Wolf
e16b4a325e Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into gridapi 2018-07-20 17:13:26 +02:00
Sergiusz Bazanski
19f4b68f07 clang-format and uncomment debug 2018-07-20 13:19:56 +01:00
Sergiusz Bazanski
b4b111a053 Move pthread yield hack into BaseCtx 2018-07-20 13:15:22 +01:00
Sergiusz Bazanski
b84a446eef Mix-in Deterministic RNG at Context instead of BaseCtx 2018-07-20 11:04:54 +01:00
Sergiusz Bazanski
55d5f8f248 Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/lock-2-electric-boogaloo 2018-07-20 10:59:33 +01:00
David Shah
6c38df7295 ice40: Adding cell definition for DSPs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 13:22:46 +02:00
David Shah
d221e90706 Reducing performance cost of asserts
Signed-off-by: David Shah <davey1576@gmail.com>
2018-07-19 11:43:10 +02:00
Clifford Wolf
609794f9e6 Add Net/Cell "udata" field
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-18 13:29:58 +02:00
Serge Bazanski
03508faabf WIP. 2018-07-17 19:16:26 +01:00
Clifford Wolf
ddfc535df7 Add ArchNetInfo and ArchCellInfo
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 20:04:49 +02:00
Serge Bazanski
2f5b94fe30 Add basic external locking, lock from P&R 2018-07-17 16:27:50 +01:00
Clifford Wolf
c0f1af87f6 Add Loc struct for x/y/z bel locations
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-17 17:03:44 +02:00
Serge Bazanski
91db413c60 Refactor RNG out to separate DeterministicRNG class
This well also allow for better lifecycle control over the state of the
RNG in the future.
2018-07-14 20:33:32 +01:00
Serge Bazanski
59a790cd00 Refactor IdString functionality into IdStringDB
This lets us more precisely control the lifetime of IdString databases
in contexts/arches.
2018-07-14 20:24:20 +01:00
Sergiusz Bazanski
36b4e3382d Revert "Make GUI nice and smooth."
This reverts commit a8c84e90a3.
2018-07-14 18:50:50 +01:00
Sergiusz Bazanski
b0c05c7f75 Revert "Refactor proxies to nextpnr."
This reverts commit 9b17fe385c.
2018-07-14 18:50:37 +01:00
Sergiusz Bazanski
d9c3c117a3 Revert "clang-format"
This reverts commit 8ca7a6da25.
2018-07-14 18:50:34 +01:00
Sergiusz Bazanski
8ca7a6da25 clang-format 2018-07-14 11:10:59 +01:00
Sergiusz Bazanski
9b17fe385c Refactor proxies to nextpnr. 2018-07-14 11:10:31 +01:00
Sergiusz Bazanski
a8c84e90a3 Make GUI nice and smooth. 2018-07-13 20:53:52 +01:00
Sergiusz Bazanski
499951cb65 Remove legacy graphics API
For now we do not optimize the OpenGL renderer against the new decal
API, but this can be done in the future.
2018-07-12 21:30:36 +01:00
Clifford Wolf
b8a42ff53b Updates from clang-format
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2018-07-12 22:04:13 +02:00