3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-11-24 22:51:34 +00:00
Commit graph

8 commits

Author SHA1 Message Date
Craig Hasselbring
00b3c83282 memory_libmap: Add beam search for many-port memories
The existing read port assignment algorithm uses Cartesian product
expansion, which has O(options^N) complexity. For memories with many
read ports (e.g., 64 parallel reads), this causes exponential memory
usage (60GB+) and timeouts.

This commit adds a beam search algorithm that activates for >8 read
ports. It maintains only the top K (default 16) configurations at
each step, reducing complexity to O(N * options * K).

Tested with:
- 64 read ports: completes in ~1s vs OOM
- 32 read ports: completes in ~1s vs timeout
- Maintains existing behavior for ≤8 ports

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-19 18:31:38 -08:00
Robert O'Callahan
8b75c06141 Add a general tests/.gitignore and remove redundant entries in subdirectory .gitignore files. 2025-07-22 10:38:38 +00:00
Miodrag Milanovic
91e41d8c80 Move parameters to module declaration 2024-04-08 12:44:37 +02:00
N. Engelhardt
d87bd7ca3f
Merge pull request #3887 from kivikakk/env-bash
tests: use /usr/bin/env for bash.
2023-12-18 16:33:35 +01:00
N. Engelhardt
1b6d1e9419 memory_libmap: look for ram_style attributes on surrounding signals 2023-10-19 19:23:35 +02:00
Charlotte
d130f7fca2 tests: use /usr/bin/env for bash. 2023-08-12 11:59:39 +10:00
KrystalDelusion
7f033d3c1f More tests in memlib/generate.py
Covers most of the todo list, at least functionally.  Some minor issues with not always using hardware features.
2023-02-21 05:23:15 +13:00
Marcelina Kościelnicka
982a11c709 Add memory_libmap tests. 2022-05-18 17:32:56 +02:00