aboutsummaryrefslogtreecommitdiffstats
path: root/common/timing_opt.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fixing old emails and names in copyrightsgatecat2021-06-121-1/+1
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Use hashlib in most remaining codegatecat2021-06-021-10/+8
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Use hashlib for core netlist structuresgatecat2021-06-021-3/+3
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Update placers to use new cluster APIsgatecat2021-05-061-4/+3
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Hash table refactoringgatecat2021-04-141-41/+4
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* opt-timing: Skip undriven netsgatecat2021-03-151-0/+2
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* timing: Replace all users of criticality with new enginegatecat2021-03-041-34/+28
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Replace DelayInfo with DelayPair/DelayQuadgatecat2021-02-191-2/+2
| | | | | | | | | | | | | | | | | This replaces the arch-specific DelayInfo structure with new DelayPair (min/max only) and DelayQuad (min/max for both rise and fall) structures that form part of common code. This further reduces the amount of arch-specific code; and also provides useful data structures for timing analysis which will need to delay with pairs/quads of delays as it is improved. While there may be a small performance cost to arches that didn't separate the rise/fall cases (arches that aren't currently separating the min/max cases just need to be fixed...) in DelayInfo, my expectation is that inlining will mean this doesn't make much difference. Signed-off-by: gatecat <gatecat@ds0.me>
* generic: Use IdStringList for all arch object namesD. Shah2021-02-021-1/+1
| | | | Signed-off-by: D. Shah <dave@ds0.me>
* ecp5: Proof-of-concept using IdStringList for bel namesD. Shah2021-02-021-5/+4
| | | | | | | | | | | This uses the new IdStringList API to store bel names for the ECP5. Note that other arches and the GUI do not yet build with this proof-of-concept patch. getBelByName still uses the old implementation and could be more efficiently implemented with further development. Signed-off-by: D. Shah <dave@ds0.me>
* Initial refactoring of placer API.Keith Rothman2021-02-021-1/+1
| | | | Signed-off-by: Keith Rothman <537074+litghost@users.noreply.github.com>
* Gowin target (#542)Pepijn de Vos2020-12-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * load wires * add slice bels * add IOB * add aliases * local aliases * broken packing stuff * working packer * add constraints * pnr runs1111 * add timing info * constraints * more constraint stuff * add copyright * remove generic reference * remove parameters * remove generic python api * add newline to end of file * some small refactoring * warn on invalid constraints * don't error on missing cell * comment out debugging print * typo * avoid copy * faster empty idstring * remove intermediate variable * no more deadnames * fix cst warnings * increase ripup and epsilon a bit * take single device parameter * add info to readme * gui stubs * Revert 4d03b681a8634e978bd5af73c97665500047e055 * assign ff_used in assignArchInfo * decrease beta for better routability * try to fix CI
* clangformatDavid Shah2020-05-161-3/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Add locks to optimise()Alyssa Milburn2019-04-161-0/+2
| | | | Signed-off-by: Alyssa Milburn <amilburn@zall.org>
* timing_opt: Fix generic buildDavid Shah2018-12-071-1/+2
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* timing_opt: Reduce iterations to 30, tidy up loggingDavid Shah2018-12-061-16/+12
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Reduce search diameter to 2David Shah2018-12-061-1/+1
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Neighbour related fixesDavid Shah2018-12-061-8/+23
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Improve heuristicsDavid Shah2018-12-061-20/+43
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Fix criticality and cost calculationsDavid Shah2018-12-061-23/+17
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing: Fixes to criticality calculationDavid Shah2018-12-061-3/+9
| | | | Signed-off-by: David Shah <dave@ds0.me>
* clangformatDavid Shah2018-12-061-80/+90
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Fixes including single-move legalityDavid Shah2018-12-061-16/+53
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Debugging and integrationDavid Shah2018-12-061-14/+113
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Implement the BFS-based path optimisationDavid Shah2018-12-061-34/+152
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Implement critical path finderDavid Shah2018-12-061-0/+114
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Neigbour bel validity checkingDavid Shah2018-12-061-5/+48
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Functions to calculate arc delay limitsDavid Shah2018-12-061-3/+52
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Implement neighbour Bel finderDavid Shah2018-12-061-0/+77
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing: Add criticality calculation to timing analysisDavid Shah2018-12-061-0/+42
Signed-off-by: David Shah <dave@ds0.me>