aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* CMake: check if warning flag is supported before use.Catherine2023-02-231-1/+9
| | | | Clang 11 is failing on -Wno-format-truncation.
* Merge pull request #1108 from whitequark/fix-includesCatherine2023-02-232-0/+3
|\ | | | | common: add missing includes for libc++
| * common: add missing includes for libc++.Catherine2023-02-232-0/+3
|/
* Merge pull request #1106 from YosysHQ/gatecat/fab_carrymyrtle2023-02-213-10/+122
|\ | | | | fabulous: Add support for packing carry chains
| * fabulous: Add support for packing carry chainsgatecat2023-02-213-10/+122
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #1103 from rodgert/mastermyrtle2023-02-211-0/+1
|\ | | | | Include <cstdint> in common/kernel/hashlib.h
| * Include <cstdint> in common/kernel/hashlib.hThomas W Rodgers2023-02-181-0/+1
| | | | | | | | | | | | | | The definitions for uint32_t, uint64_t report as undefined when compiling under GCC13. They were previously found by transitive includes, but this is not guaranteed to work, and GCC13 forced the issue.
* | Merge pull request #1105 from YosysHQ/gatecat/nexus-io-errormyrtle2023-02-211-0/+10
|\ \ | |/ |/| nexus: Check IO-bank compatibility
| * nexus: Check IO-bank compatibilitygatecat2023-02-211-0/+10
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* fabulous: Further tweak magic numbersgatecat2023-02-161-3/+3
| | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #1102 from rowanG077/print-random-seedmyrtle2023-02-161-1/+3
|\ | | | | common: Print out generated seed value
| * common: Print out generated seed valuerowanG0772023-02-161-1/+3
| |
* | Merge pull request #1101 from YosysHQ/gatecat/fab-fake-timingsmyrtle2023-02-162-6/+46
|\ \ | |/ |/| fabulous: Add fake timings
| * fabulous: Add fake timingsgatecat2023-02-162-6/+46
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #1092 from rowanG077/werrormyrtle2023-02-143-9/+29
|\ | | | | common: Implement Werror flag
| * common: Implement Werror flagrowanG0772023-02-133-9/+29
| |
* | Update links to IceStorm in READMECatherine2023-02-141-3/+3
| | | | | | Fixes #1099.
* | Merge pull request #1098 from YosysHQ/lofty/fix-machxo2-pybindingsmyrtle2023-02-131-2/+2
|\ \ | | | | | | machxo2: Fix Python bindings for pip iterators
| * | machxo2: Fix Python bindings for pip iteratorsLofty2023-02-131-2/+2
|/ /
* | Merge pull request #1090 from rowanG077/ecp5-propagate-dcsc-clk-ctmyrtle2023-02-132-14/+160
|\ \ | | | | | | ecp5: Propagate clock constraints through DCSC
| * | streamline constant_net detectionrowanG0772023-02-062-4/+8
| | |
| * | ecp5: DSCS clock propagation if modesel is 0 constantrowanG0772023-02-061-52/+99
| | |
| * | ecp5: Propagate clock constraints through DSCSrowanG0772023-02-011-12/+107
| |/
* | Merge pull request #1097 from YosysHQ/gatecat/fab-bram-fixmyrtle2023-02-102-6/+25
|\ \ | | | | | | fabulous: Improve names for BRAM bels
| * | fabulous: Improve names for BRAM belsgatecat2023-02-102-6/+25
|/ / | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | Merge pull request #1096 from YosysHQ/gatecat/ecp5-ioce-fixmyrtle2023-02-101-2/+8
|\ \ | | | | | | ecp5: Handle the case where both CE are the same constant
| * | ecp5: Handle the case where both CE are the same constantgatecat2023-02-091-2/+8
|/ / | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | Merge pull request #1094 from uis246/mastermyrtle2023-02-072-0/+21
|\ \ | | | | | | gowin: Add bels for new types of oscillators
| * | gowin: Add bels for new types of oscillatoruis2023-02-062-0/+21
|/ /
* | Merge pull request #1087 from yrabbit/gw1nr-9myrtle2023-02-023-46/+65
|\ \ | | | | | | gowin: Add PLL support for the GW1NR-9 chip
| * \ Merge branch 'master' into gw1nr-9YRabbit2023-02-024-24/+52
| |\ \ | |/ / |/| |
* | | Merge pull request #1089 from smunaut/icegatemyrtle2023-02-013-14/+24
|\ \ \ | | | | | | | | ice40: Add support for PLL ICEGATE function
| * | | ice40: Don't assert on unknown extra_config bits if they are 0Sylvain Munaut2023-02-011-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bits are 0 by default anyway, so if they are unknown (because icestorm is too od) but we want them at 0 ... it's not much of an issue. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
| * | | ice40: Add support for PLL ICEGATE functionSylvain Munaut2023-02-013-13/+19
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | Technically you can enable it independently on CORE and GLOBAL output, but this is not exposed in the classic primitive, so we do the same as icecube2 and enable/disable it for both output path depending on the argument Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
* | | Merge pull request #1088 from rowanG077/ecp5-singleton-lpfmyrtle2023-01-311-1/+8
|\ \ \ | |_|/ |/| | ecp5: LOCATE in LPF works on singleton vector
| * | ecp5: LOCATE in LPF works on singleton vectorrowanG0772023-01-311-1/+8
|/ /
* | Merge pull request #1086 from smunaut/out_zmyrtle2023-01-301-9/+20
|\ \ | | | | | | ice40: Improve `output` handling vs pull-ups and undriven
| * | ice40: Support for undriven / unconnected output portsSylvain Munaut2023-01-291-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | If a port specified as output (and thus had a $nextpnr_obuf inserted) is undriven (const `z` or const `x`), we make sure to not enable the output driver. Also enable pull-ups if it was requested by the user. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
| * | ice40: Rework pull-up attribute copy to SB_IO blocksSylvain Munaut2023-01-291-8/+14
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | We try to copy the attribute only when there is a chance for the output driver to not be active. Note that this can _also_ happen when a port is specified as output but has a TBUF, which the previous code wasn't handling. We could copy the attribute "all-the-time" but this would mean if a user specified a `-pullup yes` in the PCF for a permanently driven output pin, we'd be burning power for nothing. Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
| * gowin: Add PLL support for the GW1NS-2C chipYRabbit2023-01-312-1/+8
| | | | | | | | Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
| * gowin: Add PLL support for GW1NR-4 chipsYRabbit2023-01-312-2/+6
| | | | | | | | Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
| * gowin: Proper use of the C++ mechanismsYRabbit2023-01-302-10/+8
| | | | | | | | Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
| * gowin: Add PLL support for the GW1NR-9 chipYRabbit2023-01-303-46/+56
|/ | | | | | | | | And also unified the fixing of PLL to bels: the point is that PLL being at a certain location has the possibility to use a direct implicit wire to the clock source, but once we decide to use this direct wire, the PLL can no longer be moved. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
* Merge pull request #1084 from YosysHQ/gatecat/ecp5-ioff-fixmyrtle2023-01-271-8/+24
|\ | | | | ecp5: Improve IOFF CE handling robustness
| * ecp5: Improve IOFF CE handling robustnessgatecat2023-01-251-8/+24
| | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me>
* | Merge pull request #1085 from yrabbit/gw1nr-9c-pllmyrtle2023-01-277-104/+125
|\ \ | | | | | | gowin: Add PLL support for the GW1NR-9C chip
| * | gowin: Add PLL support for the GW1NR-9C chipYRabbit2023-01-267-104/+125
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This chip is used in the Tangnano9k board. * all parameters of the rPLL primitive are supported; * all PLL outputs are treated as clock sources and optimized routing is applied to them; * primitive rPLL on different chips has a completely different structure: for example in GW1N-1 it takes two cells, and in GW1NR-9C as many as four, despite this unification was carried out and different chips are processed by the same functions, but this led to the fact that you can not use the PLL chip GW1N-1 with the old apicula bases - will issue a warning and refuse to encode primitive. In other cases compatibility is supported. * Cosmetic change: the usage report shows the rPLL names without any service bels. * I use ctx->idf() on occasion, it's not a total redesign. Signed-off-by: YRabbit <rabbit@yrabbit.cyou>
* / clangformatgatecat2023-01-255-68/+47
|/ | | | Signed-off-by: gatecat <gatecat@ds0.me>
* Merge pull request #1081 from danc86/eigen-cmake-imported-targetmyrtle2023-01-241-2/+1
|\ | | | | use eigen as an IMPORTED target in CMake
| * use eigen as an IMPORTED target in CMakeDan Callaghan2023-01-241-2/+1
|/ | | | | | | | | | Eigen considers the EIGEN3_INCLUDE_DIRS and EIGEN3_DEFINITIONS variables to be deprecated and they will no longer be exported in the next release after 3.4.0: https://gitlab.com/libeigen/eigen/-/commit/f2984cd0778dd0a1d7e74216d826eaff2bc6bfab Use the IMPORTED target instead, which seems to be the preferred way of consuming third-party CMake libraries.