Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | cmake: Make HeAP placer always-enabled | gatecat | 2023-03-17 | 1 | -10/+2 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Update GUI rendering to match arch changes | gatecat | 2023-03-16 | 1 | -25/+81 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | clangformat | gatecat | 2023-03-16 | 1 | -66/+42 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Merge pull request #1090 from rowanG077/ecp5-propagate-dcsc-clk-ct | myrtle | 2023-02-13 | 1 | -12/+156 |
|\ | | | | | ecp5: Propagate clock constraints through DCSC | ||||
| * | streamline constant_net detection | rowanG077 | 2023-02-06 | 1 | -2/+4 |
| | | |||||
| * | ecp5: DSCS clock propagation if modesel is 0 constant | rowanG077 | 2023-02-06 | 1 | -52/+99 |
| | | |||||
| * | ecp5: Propagate clock constraints through DSCS | rowanG077 | 2023-02-01 | 1 | -12/+107 |
| | | |||||
* | | ecp5: Handle the case where both CE are the same constant | gatecat | 2023-02-09 | 1 | -2/+8 |
| | | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | ecp5: LOCATE in LPF works on singleton vector | rowanG077 | 2023-01-31 | 1 | -1/+8 |
|/ | |||||
* | Merge pull request #1084 from YosysHQ/gatecat/ecp5-ioff-fix | myrtle | 2023-01-27 | 1 | -8/+24 |
|\ | | | | | ecp5: Improve IOFF CE handling robustness | ||||
| * | ecp5: Improve IOFF CE handling robustness | gatecat | 2023-01-25 | 1 | -8/+24 |
| | | | | | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | clangformat | gatecat | 2023-01-25 | 1 | -62/+38 |
|/ | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Add missing <set> includes | gatecat | 2023-01-20 | 2 | -3/+4 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Add remapping of DSP clk/ce/rst signals in a block. | Adam Greig | 2023-01-04 | 4 | -0/+280 |
| | | | | | | | | | | | | | | | | | | Each DSP block contains two slices, and each slice contains multiple MULT18X18D and ALU54B units. Each unit configures each register to use any of CLK0/1/2/3, CE0/1/2/3, and RST0/1/2/3 ports, and the ports are connected per unit (so for example, two MULTs in the same block could connect their CLK0s to different external signals). However, the hardware only has one actual port per block, so it's required that all CLK0 signals within a block are the same. Because the packer is in general allowed to combine two unrelated units into one block, it may end up combining units that use different signals for the same port, which would eventually have caused a router failure. This commit adds validity checks which ensure only unique signals are used per block, and adds remapping so that conflicting signals are automatically reassigned when possible and required. | ||||
* | Include ALU54B in cell types with wire location overrides | Adam Greig | 2023-01-04 | 1 | -1/+1 |
| | |||||
* | ecp5: Improve error handling for missing end-" | gatecat | 2023-01-02 | 1 | -9/+10 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Remove deprecated functions | Miodrag Milanovic | 2022-12-22 | 1 | -3/+3 |
| | |||||
* | ecp5: Only write bitstream if --textcfg passed | gatecat | 2022-12-17 | 1 | -5/+4 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | api: add explain_invalid option to isBelLocationValid | gatecat | 2022-12-07 | 2 | -2/+2 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: ArcBounds -> BoundingBox | gatecat | 2022-12-07 | 2 | -3/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | api: Make NetInfo* of checkPipAvailForNet const | gatecat | 2022-12-02 | 1 | -1/+1 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Fix Python bindings for pip iterators | gatecat | 2022-11-28 | 1 | -2/+2 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Split bitstream generation into more functions | gatecat | 2022-09-15 | 1 | -1347/+1402 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Use CMake's Python3 rather than PythonInterp in subdirs | Adam Sampson | 2022-08-21 | 1 | -2/+2 |
| | |||||
* | refactor: Use IdString::in instead of || chains | gatecat | 2022-08-10 | 9 | -123/+89 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: id(stringf(...)) to new idf(...) helper | gatecat | 2022-08-10 | 2 | -5/+5 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | clangformat | gatecat | 2022-06-12 | 1 | -1/+1 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Bind write_bitstream to Python | gatecat | 2022-06-09 | 1 | -0/+3 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Tweak delay prediction | gatecat | 2022-04-20 | 1 | -1/+1 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Split the SLICE bel into separate LUT/FF/RAMW bels | gatecat | 2022-04-07 | 12 | -1348/+1136 |
| | |||||
* | ecp5: Fix double-counting of FFs in report | gatecat | 2022-03-16 | 1 | -1/+1 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: accept lowercase characters in hex strings. | Maya | 2022-03-11 | 1 | -1/+1 |
| | |||||
* | ecp5: verify hex strings contain only valid characters. | Maya | 2022-03-11 | 1 | -1/+6 |
| | |||||
* | Merge pull request #925 from YosysHQ/gatecat/netlist-iv | gatecat | 2022-03-01 | 3 | -46/+39 |
|\ | | | | | Switch to potentially-sparse net users array | ||||
| * | Switch to potentially-sparse net users array | gatecat | 2022-02-27 | 3 | -46/+39 |
| | | | | | | | | | | | | | | | | This uses a new data structure for net.users that allows gaps, so removing a port from a net is no longer an O(n) operation on the number of users the net has. Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | | ecp5: Fix PDPW16K clock param renaming | gatecat | 2022-02-28 | 1 | -1/+1 |
|/ | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: New member functions to replace design_utils | gatecat | 2022-02-18 | 5 | -238/+238 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: Use constids instead of id("..") | gatecat | 2022-02-16 | 11 | -1318/+1674 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: Use cell member functions to add ports | gatecat | 2022-02-16 | 1 | -85/+79 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | refactor: New NetInfo and CellInfo constructors | gatecat | 2022-02-16 | 3 | -63/+36 |
| | |||||
* | archapi: Use arbitrary rather than actual placement in predictDelay | gatecat | 2021-12-19 | 2 | -14/+9 |
| | | | | | | | | | | | | 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> | ||||
* | ecp5: LUT permutation support | gatecat | 2021-12-13 | 7 | -7/+117 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Reduce some chipdb fields sizes | Matt Johnston | 2021-12-13 | 2 | -14/+15 |
| | | | | This reduces the final binary size by ~7 MB for 85k | ||||
* | clangformat | gatecat | 2021-12-12 | 1 | -4/+6 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | ecp5: Use a vector rather than dict | Matt Johnston | 2021-12-12 | 3 | -14/+106 |
| | | | | | This improves router1 performance vs the default dict Using it for wire2net, pip2net, wire_fanout | ||||
* | ecp5: Fix packing of IOFF with IODELAYs | gatecat | 2021-11-05 | 2 | -3/+11 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Fix mistype. | YRabbit | 2021-09-29 | 1 | -1/+1 |
| | | | | Signed-off-by: YRabbit <rabbit@yrabbit.cyou> | ||||
* | clangformat | gatecat | 2021-08-24 | 1 | -5/+5 |
| | | | | Signed-off-by: gatecat <gatecat@ds0.me> | ||||
* | Merge pull request #798 from kleinai/extref-loc | gatecat | 2021-08-19 | 1 | -6/+44 |
|\ | | | | | Make EXTREFB handling more robust | ||||
| * | Make EXTREFB handling more robust | Aidan Klein | 2021-08-18 | 1 | -6/+44 |
| | | | | | | | | | | Avoids a segfault if an EXTREFB does not connect directly to its associated DCUA. Also adds location constraints specifically for EXTREFB. |