3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2026-08-11 00:22:10 +00:00
yosys/passes/memory
Emil J. Tywoniak 532642a515 memory_libmap: provide blackboxes for the RAM cells it instantiates
The library file is the only description of these cell types, so unless
the user has separately read in a model, memory_libmap left the design
instantiating a module that does not exist. `hierarchy -check` rejects
that, and Cell::port_dir() has nothing to answer with, which matters
beyond tidiness: setPort treats a port of unknown direction as an output,
so on a normalized design every input port gets a fresh driven wire plus
a $connect cell tying it back to its real source. Those reach the backend
-- write_verilog emits them as `tran` -- and simulate as x.

Declare each port on a generated blackbox before connecting it, following
memory_bram. Directions come from the cell interface in memlib.md, where
PORT_<name>_RD_DATA is the sole output; widths come from the signal being
connected, so they match the chosen configuration. A model the user
supplied is left alone rather than reshaped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MQU5XCqDYY8MbivGkNRrDo
2026-07-21 14:05:07 +02:00
..
CMakeLists.txt Migrate build system to CMake 2026-06-03 08:58:10 +00:00
memlib.cc Remove .c_str() calls from parameters to log_warning()/log_warning_noprefix() 2025-09-16 23:02:16 +00:00
memlib.h WIP 2026-07-20 12:27:17 +02:00
memlib.md memlib: fix documentation for PORT_<name>_CLK_POL 2026-05-09 10:28:07 +02:00
memory.cc Revert "memory: add -bram-register" 2026-07-17 23:38:01 +02:00
memory_bmux2rom.cc WIP 2026-07-20 12:27:17 +02:00
memory_bram.cc memory_bram: intern generated blackbox names as public twines 2026-07-21 14:00:05 +02:00
memory_collect.cc opt_mem, memory_*: Refuse to operate in presence of processes 2024-02-23 12:27:53 +01:00
memory_dff.cc WIP 2026-07-20 12:27:17 +02:00
memory_libmap.cc memory_libmap: provide blackboxes for the RAM cells it instantiates 2026-07-21 14:05:07 +02:00
memory_map.cc memory_map: don't rebuild TwineSearch 2026-07-20 15:01:30 +02:00
memory_memx.cc WIP 2026-07-20 12:27:17 +02:00
memory_narrow.cc opt_mem, memory_*: Refuse to operate in presence of processes 2024-02-23 12:27:53 +01:00
memory_nordff.cc
memory_share.cc WIP 2026-07-20 12:27:17 +02:00
memory_unpack.cc