22 lines
400 B
Plaintext
22 lines
400 B
Plaintext
|
/*
|
||
|
Assume sel is binary.
|
||
|
|
||
|
If sel == 0 then outL = L and outR=R
|
||
|
If sel == 1 then outL = R and outR=L
|
||
|
|
||
|
*/
|
||
|
|
||
|
template Switcher() {
|
||
|
signal input sel;
|
||
|
signal input L;
|
||
|
signal input R;
|
||
|
signal output outL;
|
||
|
signal output outR;
|
||
|
|
||
|
signal aux;
|
||
|
|
||
|
aux <== (R-L)*sel; // We create aux in order to have only one multiplication
|
||
|
outL <== aux + L;
|
||
|
outR <== -aux + R;
|
||
|
}
|