2014年3月27日 星期四

2位元多工器 有問題


module top;

integer ia,ib,is;
reg  a,b,s;
wire out;

mux2_structural mux2(out,a,b,s);

  initial
    begin
      for (ia=0; ia<=1; ia = ia+1)
        begin
          a = ia;
          for (ib=0; ib<=1; ib = ib + 1)
            begin
              b = ib;
              for (is=0; is<=1; is = is + 1)
               begin
                 s = is;
                 #1 $display("a=%d b=%d s=%d out=%d",a,b,s,out);
               end
            end
        end
    end

endmodule

//二位元多工器
module mux2_structural(OUT, A, B, SEL);
output [1:0]OUT;
input [1:0]A,B;
input SEL;

mux1 hi (OUT[1], A[1], B[1], SEL);
mux1 lo (OUT[0], A[0], B[0], SEL);
endmodule

//一位元多工器
module mux1(OUT, A, B, SEL);
output OUT;
input A,B,SEL;

not I1 (sel_n, SEL);
and I2 (sel_a, A, SEL);
and I3 (sel_b, sel_n, B);
or I4 (OUT, sel_a, sel_b);
endmodule

2014年3月13日 星期四

一位元多工器 Part2



not n1(sel_n, SEL);

and a1(sel_a, A, sel_n);
and a2(sel_b, SEL, B);

or o1(OUT, sel_a, sel_b);

一位元多工器 Part1




not n1(sel_n, SEL);

and a1(sel_a, A, SEL);
and a2(sel_b, sel_n, B);

or o1(OUT, sel_a, sel_b);

2014年3月6日 星期四

二個AND閘


原本的AND閘程式,參數從原本的 A, B, OUT 改成 A, B, C, X, F。
Intput : A, B, C
Output : X, F
設定 a1以及 a2 二個AND閘

程式中:
a1     (OUT         , A, B )
          輸出           輸入

A, B 輸入 a1 輸出 X
X, C 輸入 a2 輸出 F