Bug 317

Summary: multi-bit dependency tracking of split (ganged) regfile ports
Product: Libre-SOC's first SoC Reporter: Luke Kenneth Casson Leighton <lkcl>
Component: Source CodeAssignee: Luke Kenneth Casson Leighton <lkcl>
Status: CONFIRMED ---    
Severity: enhancement CC: libre-soc-bugs
Priority: Lowest    
Version: unspecified   
Hardware: PC   
OS: Mac OS   
See Also: https://bugs.libre-soc.org/show_bug.cgi?id=314
https://bugs.libre-soc.org/show_bug.cgi?id=352
NLnet milestone: --- total budget (EUR) for completion of task and all subtasks: 0
budget (EUR) for this task, excluding subtasks' budget: 0 parent task for budget allocation:
child tasks for budget allocation: The table of payments (in EUR) for this task; TOML format:

Description Luke Kenneth Casson Leighton 2020-05-16 23:10:52 BST
see https://bugs.libre-soc.org/show_bug.cgi?id=314#c14

this is a general technique which can be implemented on the INT and FP
regfiles as well as the Condition Registers and sub-fields of other SPRs
to provide W & R hazard protection against *portions* of a regfile.

it critically requires as a direct knock-on consequence that the protected
portion have its own read and write enable line.

thus the regfile may instead of being considered e.g. "64-bit wide" may
instead be considered 8x 8-bit wide, where 64-bit operations must request
*eight* simultaneous read/write-enable lines.

it's sufficiently comprehensive that we need to leave this off the TODO list
for now.