I am not too deep into this stuff, but those diagrams are very good at communicating the idea. Something I noticed is that the paragraph in the "Read-only memory" section referes to labels "a" and "d" in the diagram below, but that diagram doesn't have those labels. The diagram spells out "addr" and "data": >*In this example, the memory read port is asynchronous, and a change of the address input (labelled a on the diagram below) results in an immediate change of the data output (labelled d).* https://amaranth-lang.org/docs/amaranth/latest/stdlib/memory.html#read-only-memory Diagram: https://amaranth-lang.org/docs/amaranth/latest/_images/example_hello.svg I might be also misunderstanding something obvious in here.