You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -43,7 +43,9 @@ The `width` argument to `Memory.__init__()` deprecated and removed in a later Am
43
43
44
44
The `Memory.shape` attribute is added.
45
45
46
-
The `Memory.width` attribute is deprecated and removed in a later Amaranth version.
46
+
The `Memory.width` attribute is made a read-only wrapper for `Shape.cast(self.shape).width`.
47
+
48
+
The `Memory.depth` attribute is made read-only.
47
49
48
50
`ReadPort.data` and `WritePort.data` are updated to be `Signal(memory.shape)`.
49
51
@@ -70,9 +72,12 @@ Being able to make a `Memory` with an arbitrary element shape is analogous to be
70
72
## Unresolved questions
71
73
[unresolved-questions]: #unresolved-questions
72
74
73
-
-`Memory.width` is still meaningful, but is it useful enough that we should consider keeping it?
75
+
None.
74
76
75
77
## Future possibilities
76
78
[future-possibilities]: #future-possibilities
77
79
78
-
Once `Memory` is extended to support arbitrary shapes, it is natural that higher level constructs building on `Memory` like FIFOs gets the same treatment.
80
+
- Once `Memory` is extended to support arbitrary shapes, it is natural that higher level constructs building on `Memory` like FIFOs gets the same treatment.
81
+
82
+
-`granularity` could later be allowed to be used with other kinds of shapes.
83
+
- This is desirable for e.g. `lib.data.ArrayLayout`, but is not currently possible since `Memory` lives in `hdl.mem`, and `hdl` can't depend on `lib`.
0 commit comments