From a9c53c04ddabb6d5a213dad8e538a3643e00aa52 Mon Sep 17 00:00:00 2001 From: lkcl Date: Fri, 22 Oct 2021 16:19:01 +0100 Subject: [PATCH] --- .../architecture/dynamic_simd/simdscope.mdwn | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/3d_gpu/architecture/dynamic_simd/simdscope.mdwn b/3d_gpu/architecture/dynamic_simd/simdscope.mdwn index 3deb89ec9..f1b3c9639 100644 --- a/3d_gpu/architecture/dynamic_simd/simdscope.mdwn +++ b/3d_gpu/architecture/dynamic_simd/simdscope.mdwn @@ -22,4 +22,20 @@ SimdScope is used as follows: m = Module() elwid = Signal(2) - vec_el_counts = { 0b00: 64, 0b01: 32 + vec_el_counts = { 0b00: 64, 0b01: 32, 0b10: 16, 0b11: 8} + with SimdScope(m, elwid, vec_el_counts, scalar=pspec.scalar) as s: + a = s.Signal(64) + b = s.Signal(32) + + m.d.comb += b.eq(a[:32]) + +Note that the scalar parameter is selected from a runtime/compiletime +configuration parameter which can alter the context between scalar and +SIMD. + +When set to scalar, SimdScope.Signal simply re-routes directly +to nmigen.ast.Signal and in this way sets the mandatory expectation +that **under no circumstances** shall SimdScope or SimdSignal alter +the fundamental language behavioural characteristics of Type 1 (AST) +or Type 2 (dsl.Module) + -- 2.30.2