(no commit message)
[libreriscv.git] / openpower / sv / example_dep_matrices.mdwn
index e7d168f6f716764ddde1c83fbeb7e8bbaff6ea1c..142c95384564b492fd92c6fc36fdddc47e0ef141 100644 (file)
@@ -2,18 +2,24 @@
 
 # Scalar with Vector "Lanes"
 
-| FU-REGS | r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 |  FU-FU | L0A0 | L1A0 | L2A0 L3A0 | L0A1 | L1A2 | L2A1 | L3A1 | SA1 | SA2 | SL1 | SL2 |
-|---------|----|----|----|----|----|----|----|----|--------|
-|V-L0 ALU0| y  |    |    |    |  y |    |    |    |
-|V-L1 ALU0|    | y  |    |    |    |  y |    |    |
-|V-L2 ALU0|    |    | y  |    |    |    | y  |    |
-|V-L3 ALU0|    |    |    | y  |    |    |    | y  |
-|V-L0 ALU1| y  |    |    |    |  y |    |    |    |
-|V-L1 ALU1|    | y  |    |    |    |  y |    |    |
-|V-L2 ALU1|    |    | y  |    |    |    | y  |    |
-|V-L3 ALU1|    |    |    | y  |    |    |    | y  |
-|S  ALU1  | y  | y  | y  | y  | y  | y  | y  | y  |
-|S  ALU2  | y  | y  | y  | y  | y  | y  | y  | y  |
-|S LOGIC1 | y  | y  | y  | y  | y  | y  | y  | y  |
-|S LOGIC2 | y  | y  | y  | y  | y  | y  | y  | y  |
+See <https://bugs.libre-soc.org/show_bug.cgi?id=213#c83>
 
+| FU-REGS -| r0 | r1 | r2 | r3 | r4 | r5 | r6 | r7 |  FU-FU | L0A0 | L1A0 | L2A0 | L3A0 | L0A1 | L1A2 | L2A1 | L3A1 | SA1 | SA2 | SL1 | SL2 |
+|----------|----|----|----|----|----|----|----|----|--------|------|------|----- |------|------|------|------|------|-----|-----|-----|-----|
+|V\_L0\_ALU0| y  |    |    |    |  y |    |    |    |  ->    | y    |      |      |      | y    |      |      |      | ?   | ?   | ?   | ?   |
+|V\_L1\_ALU0|    | y  |    |    |    |  y |    |    |  ->    |      |  y   |      |      |      | y    |      |      | ?   | ?   | ?   | ?   |
+|V\_L2\_ALU0|    |    | y  |    |    |    | y  |    |  ->    |      |      | y    |      |      |      | y    |      | ?   | ?   | ?   | ?   |
+|V\_L3\_ALU0|    |    |    | y  |    |    |    | y  |  ->    |      |      |      | y    |      |      |      | y    | ?   | ?   | ?   | ?   |
+|V\_L0\_ALU1| y  |    |    |    |  y |    |    |    |  ->    | y    |      |      |      | y    |      |      |      | ?   | ?   | ?   | ?   |
+|V\_L1\_ALU1|    | y  |    |    |    |  y |    |    |  ->    |      |  y   |      |      |      | y    |      |      | ?   | ?   | ?   | ?   |
+|V\_L2\_ALU1|    |    | y  |    |    |    | y  |    |  ->    |      |      | y    |      |      |      | y    |      | ?   | ?   | ?   | ?   |
+|V\_L3\_ALU1|    |    |    | y  |    |    |    | y  |  ->    |      |      |      | y    |      |      |      | y    | ?   | ?   | ?   | ?   |
+|S\_ALU1    | y  | y  | y  | y  | y  | y  | y  | y  |  ->    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | y   | y   | y   | y   |
+|S\_ALU2    | y  | y  | y  | y  | y  | y  | y  | y  |  ->    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | y   | y   | y   | y   |
+|S\_LOGIC1  | y  | y  | y  | y  | y  | y  | y  | y  |  ->    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | y   | y   | y   | y   |
+|S\_LOGIC2  | y  | y  | y  | y  | y  | y  | y  | y  |  ->    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | ?    | y   | y   | y   | y   |
+
+Register allocation associated with this DM layout: Vectors may *only* be allocated to Vector FPs if RA%4 == RB%4
+== RT%4 and all reg numbers are over 32.  otherwise they are allocated
+to *scalar* FUs which has significantly less computational resources
+but far greater crossbar routing.  This allows 4R1W regfiles to be used where normally ultra-costly 12R10W would be required.