aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* timing_opt: Improve heuristicsDavid Shah2018-12-063-22/+50
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Fix criticality and cost calculationsDavid Shah2018-12-062-23/+30
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Make an optional pass controlled by command lineDavid Shah2018-12-062-3/+11
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing: Fixes to criticality calculationDavid Shah2018-12-062-3/+25
| | | | Signed-off-by: David Shah <dave@ds0.me>
* clangformatDavid Shah2018-12-063-86/+96
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Fixes including single-move legalityDavid Shah2018-12-062-17/+60
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Debugging and integrationDavid Shah2018-12-063-15/+123
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Implement the BFS-based path optimisationDavid Shah2018-12-062-35/+154
| | | | 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-063-11/+74
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing_opt: Implement neighbour Bel finderDavid Shah2018-12-063-0/+83
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing: Add criticality calculation to timing analysisDavid Shah2018-12-063-2/+220
| | | | Signed-off-by: David Shah <dave@ds0.me>
* clangformatDavid Shah2018-12-062-2/+3
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Merge pull request #164 from YosysHQ/carry_optDavid Shah2018-12-061-31/+78
|\ | | | | ice40: Carry chain optimisations
| * ice40: Put debug logging behind ctx->debugDavid Shah2018-12-061-3/+5
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * ice40: Fix carry chain splittingDavid Shah2018-12-051-1/+1
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * ice40: Don't split carry chain in simple feed-out casesDavid Shah2018-12-041-7/+50
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * ice40: Include I3 connectivity in chainDavid Shah2018-12-041-23/+25
| | | | | | | | | | | | Thanks @smunaut Signed-off-by: David Shah <dave@ds0.me>
* | Fix crash exiting nextpnr guiMiodrag Milanovic2018-12-061-0/+1
| |
* | Renamed LogLevel members, to prevent issue with system defines on WindowsMiodrag Milanovic2018-12-053-17/+17
| |
* | Merge pull request #165 from smunaut/build_pipeMiodrag Milanović2018-12-051-2/+2
|\ \ | | | | | | build: Make use of the pipe option to avoid temporary files
| * | build: Make use of the pipe option to avoid temporary filesSylvain Munaut2018-12-041-2/+2
| |/ | | | | | | | | | | | | | | This is really useful when building the ice40 with the gigantic .cc files that generate multi gigabyte .s temporary files ... this way the assembler just processed it in streaming way. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* | Merge pull request #166 from ajeakins/masterMiodrag Milanović2018-12-051-0/+1
|\ \ | |/ |/| Fix crash starting the GUI on macOS where we must request a core profile
| * Fix crash starting the GUI on macOS where we must request a core profile.Adrian Jeakins2018-12-041-0/+1
|/ | | | See http://doc.qt.io/qt-5/qabstractopenglfunctions.html
* Merge pull request #162 from whitequark/reset-fanoutDavid Shah2018-12-041-1/+3
|\ | | | | ice40: add reset global promotion threshold
| * ice40: add reset global promotion threshold.whitequark2018-12-041-1/+3
|/
* Merge pull request #160 from dmsc/sb_ledda_ipDavid Shah2018-12-025-1/+26
|\ | | | | ice40: Add support for placing SB_LEDDA_IP block.
| * ice40: Add support for placing SB_LEDDA_IP block.Daniel Serpell2018-12-015-1/+26
|/ | | | Signed-off-by: Daniel Serpell <daniel.serpell@gmail.com>
* Merge pull request #159 from YosysHQ/ecp5_pllplaceDavid Shah2018-12-012-2/+59
|\ | | | | ecp5: Pre-place PLLs and use dedicated routes into globals
| * ecp5: Pre-place PLLs and use dedicated routes into globalsDavid Shah2018-11-302-2/+59
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
* | Merge pull request #158 from YosysHQ/improve_errorDavid Shah2018-11-295-10/+14
|\ \ | |/ |/| Error reporting improvements
| * ice40: Add a warning for unconstrained IODavid Shah2018-11-291-6/+5
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * rulecheck: Improve message printed at startDavid Shah2018-11-291-1/+1
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * Improve reporting of unknown cell typesDavid Shah2018-11-292-2/+3
| | | | | | | | Signed-off-by: David Shah <dave@ds0.me>
| * json: Improve reporting of multiple driversDavid Shah2018-11-291-1/+5
|/ | | | Signed-off-by: David Shah <dave@ds0.me>
* Merge pull request #157 from whitequark/fanout-threshDavid Shah2018-11-291-1/+1
|\ | | | | ice40: raise CE global promotion threshold
| * ice40: raise CE global promotion threshold.whitequark2018-11-291-1/+1
| |
* | Merge pull request #156 from whitequark/fanoutDavid Shah2018-11-291-7/+11
|\ \ | |/ |/| ice40: print fanout of nets promoted to globals
| * ice40: print fanout of nets promoted to globals.whitequark2018-11-281-7/+11
|/
* Merge pull request #155 from smunaut/issue_151David Shah2018-11-281-48/+48
|\ | | | | ice40: Update the way LVDS inputs are handled during bitstream generation
| * ice40: Update the way LVDS inputs are handled during bitstream generationSylvain Munaut2018-11-281-48/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Instead of "patching" input_en, we completely separate config for normal and LVDS pair. - For normal pair, nothing changes - For LVDS pairs, the IE/REN bits are always set as if the input buffer are disabled. Then if input_en was set to 1 (i.e. the input is actually for something), then we set the IoCtrl.LVDS bit. - Also for LVDS, if input is used, pullups are forcibly disabled. * When scanning for unused IOs, never process those part of a LVDS pair. They will have been configured by the complement Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* | Merge pull request #154 from smunaut/issue_141David Shah2018-11-281-72/+212
|\ \ | |/ |/| ice40: Complete rework of the way PLLs are placed and validity checks
| * ice40: Try to be helpful and suggest using PAD PLL instead of CORESylvain Munaut2018-11-281-2/+14
| | | | | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
| * ice40: Revamp the whole PLL placement/validity check logicSylvain Munaut2018-11-281-72/+200
|/ | | | | | | | | | | | | | | | | We do a pre-pass on all the PLLs to place them before packing. To place them: - First pass with all the PADs PLLs since those can only fit at one specific BEL depending on the input connection - Second pass with all the dual outputs CORE PLLs. Those can go anywhere where there is no conflicts with their A & B outputs and used IO pins - Third pass with the single output CORE PLLs. Those have the least constrains. During theses passes, we also check the validity of all their connections. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* Merge pull request #153 from YosysHQ/global-optionsDavid Shah2018-11-282-3/+14
|\ | | | | ice40: Finer-grained control of global promotion
| * ice40: Finer-grained control of global promotionDavid Shah2018-11-272-3/+14
|/ | | | Signed-off-by: David Shah <dave@ds0.me>
* Merge pull request #152 from YosysHQ/compile_fixDavid Shah2018-11-271-0/+10
|\ | | | | Fix compile on GCC 5.5 or older
| * Fix compile on GCC 5.5 or olderMiodrag Milanovic2018-11-271-0/+10
|/
* Merge pull request #150 from YosysHQ/err_warn_countDavid Shah2018-11-264-2/+19
|\ | | | | Print warning and error count at end of execution