nextpnr/himbaechel
Joris van Zwieten 75c8144d42 himbaechel/xilinx: emit BRAM36 width-1 features for RAMB36E1
A RAMB36E1 port configured with width 1 (true 32K x 1 mode) needs the
RAMB36-level BRAM36_{READ,WRITE}_WIDTH_{A,B}_1 feature in addition to
the per-half RAMB18_Yx width bits, which were the only ones emitted.

In this mode the two 16K halves interleave even/odd bit addresses.
Without the RAMB36-level feature both halves respond at addr>>1:
every write hits the bit pair 2k/2k+1 and the address LSB is ignored,
so half the memory aliases the other half.

Verified against Vivado bitstreams for the same configuration and on
xc7a100t hardware (32K x 1 and cascaded 64K x 1 inferred memories).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 15:45:59 +02:00
..
himbaechel_dbgen himbaechel: Extend API to enable cell delay override (#1535) 2025-08-20 06:32:18 +02:00
uarch himbaechel/xilinx: emit BRAM36 width-1 features for RAMB36E1 2026-07-30 15:45:59 +02:00
.gitignore himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
CMakeLists.txt himbaechel: Merge all test entrypoints into one 2026-07-27 11:01:32 +02:00
arch.cc himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
arch.h himbaechel: bounds check getBelByLocation 2026-05-04 13:38:04 +02:00
arch_pybindings.cc himbaechel: Add Python binding for get_tile_wire_range 2025-06-25 18:37:17 +02:00
arch_pybindings.h himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
archdefs.h Add GroupId related calls to Himbaechel API (#1399) 2024-12-05 13:59:33 +01:00
chipdb.h himbaechel: Extend API to enable cell delay override (#1535) 2025-08-20 06:32:18 +02:00
himbaechel_api.cc himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
himbaechel_api.h himbaechel: Enable use of electrostatic placer (#1657) 2026-03-03 12:19:41 +01:00
himbaechel_constids.h himbächel: Initial implementation 2023-05-13 08:26:41 +02:00
himbaechel_gfxids.h Add GroupId related calls to Himbaechel API (#1399) 2024-12-05 13:59:33 +01:00
himbaechel_helpers.cc himbaechel: Add support for new constants API 2023-11-07 09:00:03 +01:00
himbaechel_helpers.h clangformat 2024-09-30 14:51:33 +02:00
main.cc himbaechel: add uarch specific options parsing (#1582) 2025-10-21 14:41:53 +02:00
test_main.cc himbaechel: Merge all test entrypoints into one 2026-07-27 11:01:32 +02:00