程式碼如下
module top;
reg Bin,clk,reset;
wire q0,q0_bar,q1,q1_bar,q11,q10,D1,bin_bar,b1,b2,b3,b4,Bout;
DFF m3(clk,q0_bar,reset,q0,q0_bar);
DFF m7(clk,D1,reset,q1,q1_bar);
nand #3 m1(bin_bar,Bin,Bin);
nand #3 m4(q11,q0_bar,q1);
nand #3 m5(q10,q0,q1_bar);
nand #3 m6(D1,q11,q10);
nand #3 m8(b1,q0_bar,q1,bin_bar);
nand #3 m9(b2,q1_bar,q0,bin_bar);
nand #3 m10(b3,q0,q1,Bin);
nand #3 m11(b4,q0_bar,q1_bar,Bin);
nand #3 m12(Bout,b1,b2,b3,b4);
initial
begin
clk=0;Bin=1;reset=0;
#20 reset=1;
#50 Bin=1;
#50 Bin=0;
#50 Bin=1;
#50 Bin=1;
#50 Bin=1;
#50 Bin=1;
#50 Bin=1;
#50 Bin=0;
#50 Bin=0;
#50 Bin=0;
#50 Bin=0;
#50 Bin=0;
#50 Bin=0;
#90 Bin=0;
#50 Bin=1;
#5000 $finish;
end
always
#28 clk=~clk;
endmodule
module DFF(clk,D,reset,Q,Q1);
input clk,D,reset;
wire a1,a2,a3,a4;
output Q,Q1;
nand q1(a1,a4,a2);
nand q2(a2,clk,reset,a1);
nand q3(a3,a2,clk,a4);
nand q4(a4,a3,reset,D);
nand q5(Q,a2,Q1);
nand q6(Q1,Q,reset,a3);
endmodule
使用synapitiCAD執行結果如下圖
使用silos執行結果如下圖
星期四, 1月 04, 2007
星期四, 12月 28, 2006
星期二, 12月 26, 2006
星期二, 12月 12, 2006
1212第二階段
module top;
reg a,b,c,d;
wire a1,b1,c1,d1,f1,f2,f3,f4,f5,F;
nand q1(a1,a,a);
nand q2(b1,b,b);
nand q3(c1,c,c);
nand q4(d1,d,d);
nand q7(f1,a,b1,c);
nand q8(f2,a,c,d1);
nand q9(f3,a1,c1);
nand q10(f4,a1,b,c,d);
nand q6(f5,f4,f1,f2,f3);
nand q5(F,f5,f5,f5,f5);
initial
begin
a=0;b=0;c=0;d=0;
#1000 $finish;
end
always
#200 a=~a;
always
#100 b=~b;
always
#50 c=~c;
always
#25 d=~d;
endmodule
module top;
reg a,b,c,d;
wire a1,b1,c1,d1,f1,f2,f3,f4,f5,F;
nand #3 q1(a1,a,a);
nand #3 q2(b1,b,b);
nand #3 q3(c1,c,c);
nand #3 q4(d1,d,d);
nand #3 q7(f1,a,b1,c);
nand #3 q8(f2,a,c,d1);
nand #3 q9(f3,a1,c1);
nand #3 q10(f4,a1,b,c,d);
nand #3 q10(f4,a1,b,d);//去掉0_hazard
nand #3 q6(f5,f4,f1,f2,f3);
nand #3 q5(F,f5,f5,f5,f5);
initial
begin
a=0;b=1;c=0;d=1;
#1000 $finish;
end
always
#50 c=~c;
endmodule
星期二, 12月 05, 2006
星期二, 11月 21, 2006
星期一, 11月 20, 2006
11/20 第一階段測試結果
訂閱:
文章 (Atom)