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
@@ -225,6 +225,7 @@ Its members are defined as follows:
225
225
226
226
```python3
227
227
{
228
+
"rst": Out(1),
228
229
"divisor": Out(unsigned(16)),
229
230
"symbol": In(wiring.Signature({
230
231
"payload": Out(unsigned(symbol_width)),
@@ -236,6 +237,8 @@ Its members are defined as follows:
236
237
}
237
238
```
238
239
240
+
The `rst` port is driven to 1 if `Control.enable` is 0, and 0 if `Control.enable` is 1.
241
+
239
242
### `amaranth_soc.uart.TransmitterPHYSignature`
240
243
241
244
The `uart.TransmitterSignature` class is a `wiring.Signature` describing the interface between the UART peripheral and its transmitter PHY, with:
@@ -245,15 +248,18 @@ Its members are defined as follows:
245
248
246
249
```python3
247
250
{
251
+
"rst": Out(1),
248
252
"divisor": Out(unsigned(16)),
249
253
"symbol": Out(wiring.Signature({
250
254
"payload": Out(unsigned(symbol_width)),
251
-
"valid": Out(unsigned(1)),
252
-
"ready": In(unsigned(1)),
255
+
"valid": Out(1),
256
+
"ready": In(1),
253
257
})),
254
258
}
255
259
```
256
260
261
+
The `rst` port is driven to 1 if `Control.enable` is 0, and 0 if `Control.enable` is 1.
262
+
257
263
### `amaranth_soc.uart.ReceiverPeripheral`
258
264
259
265
The `uart.ReceiverPeripheral` class is a `wiring.Component` implementing the receiver of an UART peripheral, with:
@@ -319,7 +325,7 @@ The `uart.Peripheral` class is a `wiring.Component` implementing an UART periphe
319
325
- Decoupling the peripheral from the PHY allows flexibility in implementations. For example, it is easy to add FIFOs between the PHYs and the peripheral.
320
326
- A standalone `ReceiverPeripheral` or `TransmitterPeripheral` can be instantiated.
321
327
322
-
- The choice of a 16-bit divisor with an (otherwise) unspecified encoding gives allows implementation freedom:
328
+
- The choice of a 16-bit divisor with an (otherwise) unspecified encoding allows implementation freedom:
323
329
* some may not care about a clock divisor at all (e.g. a behavioral model of an UART PHY, interfacing with a pseudo-TTY).
324
330
* some may provide their own divisor encoding scheme (e.g. a 13-bit base value with a 3-bit scale, that can cover common frequency/baudrate combinations with a [<1% error rate](https://github.com/amaranth-lang/rfcs/files/14672989/baud.py.txt) (credit: [@whitequark](https://github.com/whitequark))).
0 commit comments