Commit Graph

26 Commits

Author SHA1 Message Date
TG c46f2bbd86 ice40: Explicitly connect CIN when legalizing carry chain
This connection is implicit as it is hardwired in the hardware.
This commit makes the connection explicit and thus appearing in the
generated netlist allowing post-rout simulation.
2025-12-02 15:03:23 +01:00
gatecat 9b51c6e337 clangformat
Signed-off-by: gatecat <gatecat@ds0.me>
2024-09-30 14:51:33 +02:00
gatecat d3ba259db2 ice40: Avoid chain finder from mixing up chains by only allowing I3 chaining at end
Signed-off-by: gatecat <gatecat@ds0.me>
2022-04-11 18:46:44 +01:00
gatecat 86699b42f6 Switch to potentially-sparse net users array
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>
2022-02-27 13:47:05 +00:00
gatecat 76683a1e3c refactor: Use constids instead of id("..")
Signed-off-by: gatecat <gatecat@ds0.me>
2022-02-16 17:09:54 +00:00
gatecat 30fd86ce69 refactor: New NetInfo and CellInfo constructors 2022-02-16 15:10:57 +00:00
gatecat 2ffb081442 Fixing old emails and names in copyrights
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-12 13:22:38 +01:00
gatecat ecc19c2c08 Using hashlib in arches
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-02 15:05:19 +01:00
gatecat 579b98c596 Use hashlib for core netlist structures
Signed-off-by: gatecat <gatecat@ds0.me>
2021-06-02 14:27:56 +01:00
gatecat 6a3eacddd6 Add default base implementation of cluster API
Signed-off-by: gatecat <gatecat@ds0.me>
2021-05-06 11:47:06 +01:00
D. Shah a09a62bc4a ice40: Use snake case for arch-specific functions
This makes the difference clearer between the general arch API that
everyone must implement; and helper functions specific to one arch.

Signed-off-by: D. Shah <dave@ds0.me>
2021-02-03 10:46:12 +00:00
David Shah fac998ddcb ice40: Fix carry feed-out when we have to split the chain next
Signed-off-by: David Shah <dave@ds0.me>
2019-09-23 15:51:05 +01:00
David Shah eed85cda83 ice40: Add better stats on LC packing
Signed-off-by: David Shah <dave@ds0.me>
2019-08-08 20:56:30 +01:00
David Shah 1839a3a770 Major Property improvements for common and iCE40
Signed-off-by: David Shah <dave@ds0.me>
2019-08-05 14:52:15 +01:00
David Shah dbaabae235 ice40: Put debug logging behind ctx->debug
Signed-off-by: David Shah <dave@ds0.me>
2018-12-06 10:51:17 +00:00
David Shah d298687dc2 ice40: Fix carry chain splitting
Signed-off-by: David Shah <dave@ds0.me>
2018-12-05 10:12:23 +00:00
David Shah 51cda136b1 ice40: Don't split carry chain in simple feed-out cases
Signed-off-by: David Shah <dave@ds0.me>
2018-12-04 12:31:32 +00:00
David Shah 0c93b55650 ice40: Include I3 connectivity in chain
Thanks @smunaut

Signed-off-by: David Shah <dave@ds0.me>
2018-12-04 12:02:26 +00:00
David Shah a27c7b45de Refactor chain finder to its own file
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 16:29:26 +01:00
David Shah ea03aafc26 clangformat
Signed-off-by: David Shah <davey1576@gmail.com>
2018-09-30 15:13:18 +01:00
Eddie Hung a41500a015 Rework Arch::logicCellsCompatible() to take pointer + size, allowing use of std::array 2018-08-10 19:50:27 -07:00
David Shah 176a23936c Tidy up
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-04 08:15:49 +02:00
David Shah fd2174149c Fixing constraint placement bugs
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 16:29:44 +02:00
David Shah 8c518cb838 Fixing relative constraint implementation
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:40:01 +02:00
David Shah 7e9209878c Reworking packer and placer to use new generic rel legaliser
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 15:00:32 +02:00
David Shah 26c68c4bcc Remove old place legaliser, set placement constraints instead (currently ignored by placer)
Signed-off-by: David Shah <davey1576@gmail.com>
2018-08-03 13:18:48 +02:00