[libre-riscv-dev] morphing 6600 code to use power decoder

Luke Kenneth Casson Leighton lkcl at lkcl.net
Thu Apr 16 16:41:31 BST 2020

adding multi-read and multi-write register port selection is a massive
ripple-effect change, going through virtually absolutely every module
involved in the 6600 layout.

* PriorityPicker can no longer be used, it has to be
MultiPriorityPicker because that's the class which can arbitrate
exclusive access to multiple register file ports
* Group Picker uses PriorityPicker, which is told not just which
read/write ports are being requested, it has to be told which ones are
safe to read/write
* Function-Unit to Function-Unit Matrices need to be multi-port aware
* Function-Unit to Register Matrices need to be multi-port aware
* Computation Units need to be multi-port aware

all this because we need to have a separate register file for POWER
branch/condition/link registers, which needs its own separate port
"management" signals from the INT/FP regfile.



More information about the libre-riscv-dev mailing list