本網頁使用sakura.css
CHIP Not16 {
IN in[16];
OUT out[16];
OUT out[16];
Not(in=in[0],out=out[0]);
Not(in=in[1],out=out[1]);
Not(in=in[2],out=out[2]);
Not(in=in[3],out=out[3]);
Not(in=in[4],out=out[4]);
Not(in=in[5],out=out[5]);
Not(in=in[6],out=out[6]);
Not(in=in[7],out=out[7]);
Not(in=in[8],out=out[8]);
Not(in=in[9],out=out[9]);
Not(in=in[10],out=out[10]);
Not(in=in[11],out=out[11]);
Not(in=in[12],out=out[12]);
Not(in=in[13],out=out[13]);
Not(in=in[14],out=out[14]);
Not(in=in[15],out=out[15]);
}
CHIP And16 {
IN a[16], b[16];
OUT out[16];
And(a=a[0],b=b[0],out=out[0]); And(a=a[1],b=b[1],out=out[1]); And(a=a[2],b=b[2],out=out[2]); And(a=a[3],b=b[3],out=out[3]); And(a=a[4],b=b[4],out=out[4]); And(a=a[5],b=b[5],out=out[5]); And(a=a[6],b=b[6],out=out[6]); And(a=a[7],b=b[7],out=out[7]); And(a=a[8],b=b[8],out=out[8]); And(a=a[9],b=b[9],out=out[9]); And(a=a[10],b=b[10],out=out[10]); And(a=a[11],b=b[11],out=out[11]); And(a=a[12],b=b[12],out=out[12]); And(a=a[13],b=b[13],out=out[13]); And(a=a[14],b=b[14],out=out[14]); And(a=a[15],b=b[15],out=out[15]); }
CHIP Or16 {
IN a[16], b[16];
OUT out[16];
Or(a=a[0],b=b[0],out=out[0]); Or(a=a[1],b=b[1],out=out[1]); Or(a=a[2],b=b[2],out=out[2]); Or(a=a[3],b=b[3],out=out[3]); Or(a=a[4],b=b[4],out=out[4]); Or(a=a[5],b=b[5],out=out[5]); Or(a=a[6],b=b[6],out=out[6]); Or(a=a[7],b=b[7],out=out[7]); Or(a=a[8],b=b[8],out=out[8]); Or(a=a[9],b=b[9],out=out[9]); Or(a=a[10],b=b[10],out=out[10]); Or(a=a[11],b=b[11],out=out[11]); Or(a=a[12],b=b[12],out=out[12]); Or(a=a[13],b=b[13],out=out[13]); Or(a=a[14],b=b[14],out=out[14]); Or(a=a[15],b=b[15],out=out[15]); }
CHIP Mux16 {
IN a[16], b[16],sel;
OUT out[16];
Mux(sel=sel, a=a[0], b=b[0], out=out[0]); Mux(sel=sel, a=a[1], b=b[1], out=out[1]); Mux(sel=sel, a=a[2], b=b[2], out=out[2]); Mux(sel=sel, a=a[3], b=b[3], out=out[3]); Mux(sel=sel, a=a[4], b=b[4], out=out[4]); Mux(sel=sel, a=a[5], b=b[5], out=out[5]); Mux(sel=sel, a=a[6], b=b[6], out=out[6]); Mux(sel=sel, a=a[7], b=b[7], out=out[7]); Mux(sel=sel, a=a[8], b=b[8], out=out[8]); Mux(sel=sel, a=a[9], b=b[9], out=out[9]); Mux(sel=sel, a=a[10], b=b[10], out=out[10]); Mux(sel=sel, a=a[11], b=b[11], out=out[11]); Mux(sel=sel, a=a[12], b=b[12], out=out[12]); Mux(sel=sel, a=a[13], b=b[13], out=out[13]); Mux(sel=sel, a=a[14], b=b[14], out=out[14]); Mux(sel=sel, a=a[15], b=b[15], out=out[15]); }
8 組輸入Or Gate,輸出一位,每組輸入1bit
CHIP Or8Way {
IN in[8];
OUT out;
Or(a=in[0],b=in[1],out=aa); Or(a=in[2],b=in[3],out=bb); Or(a=in[4],b=in[5],out=cc); Or(a=in[6],b=in[7],out=dd); Or(a=aa,b=bb,out=ab); Or(a=cc,b=dd,out=cd); Or(a=ab,b=cd,out=out); }
4組輸入abcd,每組輸入皆16bit,輸出1組16bit, 選擇線兩條去四選一
CHIP Mux4Way16 {
IN a[16], b[16], c[16], d[16], sel[2];
OUT out[16];
Mux16(a=a,b=b,sel=sel[0],out=outab);
Mux16(a=c,b=d,sel=sel[0],out=outcd);
Mux16(a=outab,b=outcd,sel=sel[1],out=out);
}
CHIP Mux8Way16 {
IN a[16], b[16], c[16], d[16],e[16], f[16], g[16], h[16],sel[3];
OUT out[16];
Mux4Way16(a=a,b=b,c=c,d=d,sel[0]=sel[0],sel[1]=sel[1],out=abcd);
Mux4Way16(a=e,b=f,c=g,d=h,sel[0]=sel[0],sel[1]=sel[1],out=efgh);
Mux16(a=abcd,b=efgh,sel=sel[2],out=out);
}
CHIP DMux4Way {
IN in, sel[2];
OUT a, b, c, d;
DMux(in=in,sel=sel[1],a=sel1,b=sel2);
DMux(in=sel1,sel=sel[0],a=a,b=b);
DMux(in=sel2,sel=sel[0],a=c,b=d);
}
CHIP DMux8Way {
IN in, sel[3];
OUT a, b, c, d, e, f, g, h;
DMux(in=in,sel=sel[2],a=sel12,b=sel34);
DMux(in=sel12,sel=sel[1],a=sel1,b=sel2);
DMux(in=sel34,sel=sel[1],a=sel3,b=sel4);
DMux(in=sel1,sel=sel[0],a=a,b=b);
DMux(in=sel2,sel=sel[0],a=c,b=d);
DMux(in=sel3,sel=sel[0],a=e,b=f);
DMux(in=sel4,sel=sel[0],a=g,b=h);
}
40%7==5