3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-08-14 18:05:55 +00:00
yosys/techlibs/ice40
Emil J. Tywoniak 77baad0082 ice40_opt: retire the wrapper's ports before reinterpreting it as $lut
A port's direction is read off the cell type, so assigning
type_impl = $lut while the $__ICE40_CARRY_WRAPPER ports are still
connected makes every following unsetPort consult the wrong type: \B was
an input under the wrapper and is not a port of $lut at all, so the
teardown takes the output branch and trips
`log_assert(w->driverCell_ == this)` in signorm mode (arch/ice40/counter,
arch/ice40/bug1598).

Disconnect everything under the old type, switch, then connect \A and \Y
under the new one. Retiring \O first also leaves that wire undriven, so
it comes back as \Y on the same wire rather than behind a freshly
interposed alias.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQU5XCqDYY8MbivGkNRrDo
2026-07-21 16:52:31 +02:00
..
tests End of file fix 2026-06-23 07:23:41 +02:00
abc9_model.v Fix icestorm links 2021-06-09 12:39:12 +02:00
arith_map.v End of file fix 2026-06-23 07:23:41 +02:00
brams.txt ice40: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
brams_map.v ice40: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
cells_map.v Add force_downto and force_upto wire attributes. 2020-05-19 01:42:40 +02:00
cells_sim.v ice40: Fix path delay definitions 2023-03-10 10:48:05 +01:00
CMakeLists.txt Migrate build system to CMake 2026-06-03 08:58:10 +00:00
dsp_map.v Rework ice40_dsp to map to SB_MAC16 earlier, and check before packing 2019-08-08 12:56:05 -07:00
ff_map.v ice40: Use dfflegalize. 2020-07-05 05:12:09 +02:00
ice40_braminit.cc Remove id2cstr uses in our code base 2026-05-16 19:49:45 +02:00
ice40_dsp.cc WIP migration to twine 2026-07-20 12:27:18 +02:00
ice40_dsp.pmg WIP migration to twine 2026-07-20 12:27:18 +02:00
ice40_opt.cc ice40_opt: retire the wrapper's ports before reinterpreting it as $lut 2026-07-21 16:52:31 +02:00
ice40_wrapcarry.cc twine: fix replayability, reduce TwineSearch usage 2026-07-20 13:57:10 +02:00
ice40_wrapcarry.pmg pmgen: Move passes out of pmgen folder 2025-01-31 15:18:28 +13:00
latches_map.v
spram.txt ice40: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
spram_map.v ice40: Use memory_libmap pass. 2022-05-18 17:32:56 +02:00
synth_ice40.cc synth_ice40: always read abc9 model to understand port direction 2026-07-17 23:32:34 +02:00