(no commit message)
authorlkcl <lkcl@web>
Sun, 26 Sep 2021 15:10:30 +0000 (16:10 +0100)
committerIkiWiki <ikiwiki.info>
Sun, 26 Sep 2021 15:10:30 +0000 (16:10 +0100)
3d_gpu/architecture/dynamic_simd.mdwn

index 3212ad5f4c78950ef54fc3de077e112d1e5a8bcd..18c401ed4cbe01b47025d17d66e0b63972db91f4 100644 (file)
@@ -115,3 +115,16 @@ If these were ordinary Signals, they would be translated to a Switch where:
   respectively.
 * the first case would be "1-" to activate `o.eq(c)
 * the second case would be "-1" to activate o.eq(d)
+
+A parallel variant may thus perform a for-loop, creating four
+**independent** Switches:
+
+* take a[0] and b[0] and Cat them together `Cat(a[0], b[0])`
+* take the output of each case result `o[0].eq[c[0])` and
+  so on
+* create the first independent Switch
+* take a[1] and b[1] etc.
+
+There are several ways in which the parts of each case, when
+activated, can be split up: temporary Signals, analysing
+the AST, or using PartitionedMux.