Update serv_bufreg documentation

This commit is contained in:
Olof Kindgren 2020-08-17 10:37:41 +02:00
parent bf0ec16ef8
commit 58e86384e7
2 changed files with 3 additions and 1 deletions

View file

@ -59,7 +59,9 @@ serv_bufreg
.. image:: serv_bufreg.png
For two-stage operations, serv_bufreg holds data between stages. This data can be the effective address for branches or load/stores or data to be shifted for shift ops. It has a serial output for streaming out results during stage two and a parallel output that forms the dbus address. serv_bufreg also keeps track of the two lsb when calculating adresses. This is used to check for alignment errors
For two-stage operations, serv_bufreg holds data between stages. This data can be the effective address for branches or load/stores or data to be shifted for shift ops. It has a serial output for streaming out results during stage two and a parallel output that forms the dbus address. serv_bufreg also keeps track of the two lsb when calculating adresses. This is used to check for alignment errors. In order to support these different modes, the input to the shift register can come from rs1, the immediate (imm), rs1+imm or looped back from the shift register output. The latter is used for shift operations. For some operations, the LSB of the immediate is cleared before written to the shift register. bufreg also latches and exposes the two LSB bits of the data written to the shift register. These are used to check data/address alignment issues early.
.. image:: serv_bufreg_int.png
serv_csr
^^^^^^^^

BIN
doc/serv_bufreg_int.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB