Skip to content

Mux in assignment blocks seem wrong

Assignment semantics — DDHDL, The Book documentation

L'exemple donné est le suivant :

let i0 : u8
let i1 : u8

let select : u2

let o : u8
    mux select
        0b10 ->
            = i0
        0b11 ->
            = i1
        * ->
            = 0

J'ai du mal à imaginer l'intérêt, par rapport à une expression :

let i0 : u8
let i1 : u8

let select : u2

let o : u8 = mux select
    0b10 -> i0
    0b11 -> i1
    * -> 0

À part que ça empêche de mettre des sous-déclarations dans chaque condition indépendamment, ce qui n'est peut-être pas souhaitable.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information