add docstring
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 29 May 2019 00:24:01 +0000 (01:24 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Wed, 29 May 2019 00:24:01 +0000 (01:24 +0100)
src/experiment/score6600.py

index f1061106e7966001285d833db1da57cc6d5822ce..f713b403e77c028a175ae6790fef3380c3824ea0 100644 (file)
@@ -26,6 +26,23 @@ class CompUnitsBase(Elaboratable):
         look after some ALUs (that can handle the same operations),
         grouping them together, however it turns out that the same code
         can also group *groups* of Computation Units together as well.
+
+        Basically it was intended just to concatenate the ALU's issue,
+        go_rd etc. signals together, which start out as bits and become
+        sequences.  Turns out that the same trick works just as well
+        on Computation Units!
+
+        So this class may be used recursively to present a top-level
+        sequential concatenation of all the signals in and out of
+        ALUs, whilst at the same time making it convenient to group
+        ALUs together.
+
+        At the lower level, the intent is that groups of (identical)
+        ALUs may be passed the same operation.  Even beyond that,
+        the intent is that that group of (identical) ALUs actually
+        share the *same pipeline* and as such become a "Concurrent
+        Computation Unit" as defined by Mitch Alsup (see section
+        11.4.9.3)
     """
     def __init__(self, rwid, units):
         """ Inputs: