aboutsummaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Switched integer pair hashing function from DJB2 to CantorMaciej Kurc2022-01-111-2/+5
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* SSOArray: Implement move and assignment operatorsgatecat2021-12-301-0/+20
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* generic: Refactor for faster performancegatecat2021-12-301-9/+8
| | | | | | | | This won't affect Python-built arches significantly; but will be useful for the future 'viaduct' functionality where generic routing graphs can be built on the C++ side; too. Signed-off-by: gatecat <gatecat@ds0.me>
* archapi: Use arbitrary rather than actual placement in predictDelaygatecat2021-12-198-11/+34
| | | | | | | | | | | | This makes predictDelay be based on an arbitrary belpin pair rather than a arc of a net based on cell placement. This way 'what-if' decisions can be evaluated without actually changing placement; potentially useful for parallel placement. A new helper predictArcDelay behaves like the old predictDelay to minimise the impact on existing passes; only arches need be updated. Signed-off-by: gatecat <gatecat@ds0.me>
* router1: Experimental timing-driven ripup supportgatecat2021-12-183-6/+103
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router1: Improve timing heuristicgatecat2021-12-181-13/+25
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* python: Bind getBelLocation/getPipLocationgatecat2021-12-142-1/+8
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Improve reservation debug logginggatecat2021-12-121-2/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #867 from mkj/mkj/routerspeed2gatecat2021-12-121-2/+1
|\ | | | | Improvements to ecp5 router speed
| * ecp5: Keep "visited" localMatt Johnston2021-12-121-2/+1
| | | | | | | | Otherwise it keeps growing boundless and slows down small arcs
* | router2: Error instead of hang in case of reservation conflictsgatecat2021-12-121-0/+3
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* common: Improved the random seed initialisation for the contextdx-mon2021-11-191-6/+4
|
* router2: Disable criticality sorting towards end of routinggatecat2021-10-091-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* hashlib: Support for std::array keysgatecat2021-10-071-0/+13
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Fix Cygwin buildgatecat2021-10-011-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Code formattingMaciej Kurc2021-09-294-119/+87
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Brought back printout of critical path source file references, added ↵Maciej Kurc2021-09-293-28/+74
| | | | | | clk-to-q, source and setup segment types Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Shifted moving of data containers after printingMaciej Kurc2021-09-281-11/+11
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Added a commandline option controlled writeout of per-net timing detailsMaciej Kurc2021-09-284-9/+22
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Added description of the JSON report structure.Maciej Kurc2021-09-281-1/+73
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Moved timing result report storage to the context, added its writeout to the ↵Maciej Kurc2021-09-286-282/+279
| | | | | | current utilization and fmax report Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Added reporting critical paths in JSON formatMaciej Kurc2021-09-281-25/+49
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Decoupled critical path report generation from its printingMaciej Kurc2021-09-281-134/+264
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Switched to JSON format for timing analysis reportMaciej Kurc2021-09-281-33/+81
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* Added writing a CSV report with timing analysis of each net branchMaciej Kurc2021-09-284-6/+89
| | | | Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
* idstring: Add 'in' functiongatecat2021-09-271-0/+10
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #812 from antmicro/MacroCellsgatecat2021-09-272-4/+4
|\ | | | | Convert macros to clusters for better placement
| * Fix small isses and code formattingMaciej Dudek2021-09-271-2/+2
| | | | | | | | Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
| * Adding MacroCell placementMaciej Dudek2021-09-231-4/+3
| | | | | | | | Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
| * Adding support for MacroCellsMaciej Dudek2021-09-231-2/+3
| |
* | router2: Allow overriding resource costsgatecat2021-09-242-2/+9
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #825 from antmicro/chain_swap_fixgatecat2021-09-231-2/+15
|\ | | | | Fix chain swap
| * Fix chain swapMaciej Dudek2021-09-231-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | Issue was due to dest_bels being not cleared between clusters unbindes, causing newly bind bels to be unbinded and having their old bel value changed to new bel value. Then when swap failed 2 cells were being bind to a single bel. I tested leaving dest_bels in the function scope and moving it to the loop scope. Code with dest_bels in the loop scope was faster than leaving it in the function scope, and checking if the cell is in the processed cluster. Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
* | python: Restore SIGINT handler while running a Python scriptgatecat2021-09-221-1/+7
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* placer1: Remove redundant relative constraint checkgatecat2021-09-221-4/+0
| | | | | | Macros with potentially inconsistent spacing are now permissible. Signed-off-by: gatecat <gatecat@ds0.me>
* placer1: Fix cluster swap cost updatesgatecat2021-09-181-8/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* timing: Always use max delay for required timegatecat2021-09-181-3/+5
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* timing: Fix slack for unconstrained clocksgatecat2021-09-181-6/+7
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* placer1: Allow swapping chains with other chainsgatecat2021-09-171-47/+105
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* command: Allow running Python on failure for state introspectiongatecat2021-09-162-1/+16
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Fix uninitialised valuesgatecat2021-09-061-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Fix explored countgatecat2021-09-021-0/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* python: Wrap PortRef by valuegatecat2021-08-261-10/+10
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* python: Allow querying route delaysgatecat2021-08-231-0/+3
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* pybindings: Fix mapping for PortRefVectorSylvain Munaut2021-08-191-0/+2
| | | | | | | | | | This is used by net.users for instance. Removed by mistake in 4ac00af6fadc0405867fdac84229d2cda390c108 Fixes #799 Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* router2: Add experimental timing-driven ripup optiongatecat2021-08-153-14/+67
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Alternative congestion cost schedulegatecat2021-08-151-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Adding some criticality heuristicsgatecat2021-08-151-13/+29
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* router2: Improved bidir routing and data structuresgatecat2021-08-151-415/+358
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #787 from YosysHQ/gatecat/reportgatecat2021-07-308-1/+114
|\ | | | | Add JSON utilisation and timing report