From: lkcl Date: Fri, 22 Oct 2021 15:19:01 +0000 (+0100) Subject: (no commit message) X-Git-Tag: opf_rfc_ls005_v1~3557 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=a9c53c04ddabb6d5a213dad8e538a3643e00aa52;p=libreriscv.git --- 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) +