aboutsummaryrefslogtreecommitdiffstats
path: root/ice40/pack.cc
Commit message (Collapse)AuthorAgeFilesLines
...
* ice40/pack: Add helper to constain cells that are unique in the FPGASylvain Munaut2018-11-191-0/+16
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40: Add support for SB_GB_IOSylvain Munaut2018-11-191-8/+25
| | | | | | | | | | During packing we replace them by standard SB_IO cells and create the 'fake' SB_GB that matches that IO site global buffer connection. It's done in a separate pass because we need to make sure the nextpnr iob have been dealt first so we have our final Bel location on the SB_IO. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40: Add support for PLL global outputs via PADINSylvain Munaut2018-11-191-40/+23
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40: Introduce the concept of forPadIn SB_GBSylvain Munaut2018-11-191-1/+28
| | | | | | | | | | | | | | Those are cells that are created mainly to handle the various sources a global network can be driven from other than a user net. When the flag is set, this means the global network usually driven by this BEL is in fact driven by something else and so that SB_GB BEL and matching global network can't be used. This is also what gets used to set the extra bits during bitstream generation. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40/pll: Add proper support for PLLOUT_SELECT_xxx attributesSylvain Munaut2018-11-191-0/+18
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40: Minor fix in predicate checking for logic portSylvain Munaut2018-11-191-2/+3
| | | | | | | - is_sb_pll40 covers all the PLL types - Use helper to test for gbuf Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40/pack: Stop looking for BEL when we have one during PLL placementSylvain Munaut2018-11-191-0/+1
| | | | | | | Ideally we should first process all the PLL that are constrained somehow (either explicitely or because they are PAD) and then free place the rest. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40/pack: Allow PLL to be constrained via 'BEL' attributesSylvain Munaut2018-11-191-0/+10
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40/pack: Make sure we don't use a LOCKED bel when placing PLLSylvain Munaut2018-11-191-0/+2
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* ice40: Add warning if an instanciated SB_IO has its PACKAGE_PIN used elsewhereSylvain Munaut2018-11-161-0/+5
| | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* timing: Add support for clock constraintsDavid Shah2018-11-121-0/+8
| | | | Signed-off-by: David Shah <dave@ds0.me>
* timing: iCE40 Arch API changes for clocking infoDavid Shah2018-11-121-1/+2
| | | | Signed-off-by: David Shah <dave@ds0.me>
* Add info message for promoted global netsClifford Wolf2018-10-031-0/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* ice40: Add error for bad PACKAGE_PIN connectionsDavid Shah2018-10-031-2/+13
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* clangformatDavid Shah2018-09-301-15/+23
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* Merge pull request #79 from YosysHQ/ice40lvdsClifford Wolf2018-09-251-1/+1
|\ | | | | ice40: Adding LVDS input support
| * ice40: Tristate IO support fixesDavid Shah2018-09-241-1/+1
| | | | | | | | Signed-off-by: David Shah <davey1576@gmail.com>
* | Merge pull request #76 from YosysHQ/plloutglobal_fixClifford Wolf2018-09-251-2/+36
|\ \ | | | | | | Add needed PLLOUTGLOBAL ports and mapped it
| * | Added required checks for PLL and fixed messages eolMiodrag Milanovic2018-09-191-3/+31
| | |
| * | Add needed PLLOUTGLOBAL ports and mapped it properlyMiodrag Milanovic2018-09-121-0/+6
| |/
* / ice40: Fix carry packer bugDavid Shah2018-09-251-2/+2
|/ | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: make PLL packing more robustSergiusz Bazanski2018-08-191-11/+26
|
* Get rid of PortPin and BelType (ice40, generic, docs)Clifford Wolf2018-08-081-3/+3
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>
* Fixing constraint placement bugsDavid Shah2018-08-031-2/+3
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* Reworking packer and placer to use new generic rel legaliserDavid Shah2018-08-031-0/+3
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Promote 'logic' globals as well as clock/enable/resetDavid Shah2018-08-031-10/+40
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Add HFOSC support, force fabric routing on oscillators for nowDavid Shah2018-08-011-1/+14
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* clangformatSergiusz Bazanski2018-08-011-6/+6
|
* clangformatEddie Hung2018-07-251-6/+6
|
* ice40: check PLL PACKAGEPIN drives only PLL, cosmeticsSergiusz Bazanski2018-07-251-4/+7
|
* clang-formatSergiusz Bazanski2018-07-251-7/+7
|
* ice40: support PLL40_*_PAD, fix pass-through LUT for LOCKSergiusz Bazanski2018-07-251-7/+65
|
* ice40: after reviewSergiusz Bazanski2018-07-241-1/+0
|
* Merge branch 'master' of gitlab.com:SymbioticEDA/nextpnr into q3k/pllSergiusz Bazanski2018-07-241-0/+4
|\
| * ice40: Remove use of deprecated APIsDavid Shah2018-07-241-2/+3
| | | | | | | | Signed-off-by: David Shah <davey1576@gmail.com>
| * ice40: Trim BRAM constant inputs, reduces routing congestion around BRAMDavid Shah2018-07-241-0/+3
| | | | | | | | Signed-off-by: David Shah <davey1576@gmail.com>
* | ice40: fixes before reviewSergiusz Bazanski2018-07-241-14/+5
| |
* | clang-formatSergiusz Bazanski2018-07-241-51/+53
| |
* | ice40: Move spliceLUT back to pack.ccSergiusz Bazanski2018-07-241-2/+53
| |
* | ice40: Refactor PLL/LOCK LUT splicing out into Arch::Sergiusz Bazanski2018-07-241-74/+3
| |
* | ice40: Emit feed-through LUTs for PLL/LOCKSergiusz Bazanski2018-07-241-1/+158
| |
* | ice40: Fail early on SB_PLL40_*_PAD cellsSergiusz Bazanski2018-07-241-0/+7
| |
* | ice40: Implement emitting PLLsSergiusz Bazanski2018-07-241-0/+32
|/
* ice40: Trim DSP inputs that are constant where appropriateDavid Shah2018-07-191-0/+4
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Packer and bitstream gen support for MAC16sDavid Shah2018-07-191-0/+19
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: RenamingDavid Shah2018-07-181-1/+1
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Fixes for inverted clocksDavid Shah2018-07-181-0/+4
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Make assignArchArgs a Arch method; call also after legaliserDavid Shah2018-07-181-31/+1
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* ice40: Assign ArchArgs after packingDavid Shah2018-07-181-0/+31
| | | | Signed-off-by: David Shah <davey1576@gmail.com>
* Add ctx->pack() APIClifford Wolf2018-07-131-2/+2
| | | | Signed-off-by: Clifford Wolf <clifford@clifford.at>