SkyAyu
星期五, 3月 31, 2006
星期五, 3月 24, 2006
Flip_flop

程式碼
module top;
reg data_in,clk;
wire q;
Flip_flop m1(q,data_in,clk,rst);
initial
begin
data_in=0;
clk=0;
#2000 $finish;
end
always
#100 data_in=~data_in;
always
#30 clk=~clk;
endmodule
module Flip_flop (q,data_in,clk,rst);
input data_in,clk,rst;
output q;
reg q;
always @(posedge clk)
begin
if(rst==1) q=0;
else q=data_in;
end
endmodule
==================================================================
這次上課學會了如何判斷波形是否正確
星期五, 3月 17, 2006
Half_Adder
程式碼module top;
reg a,b;
half_adder m1(sum,cut,a,b);
wire c;
and(c,a,b);
initial
begina=0;
b=0;
#2000 $finish;
end
always
#50 a=~a;
always
#100 b=~b;
endmodule
module half_adder (sum,c_out,a,b);
input a,b;
output sum,c_out;
wire c_out_bar;
xor(sum,a,b);
nand(c_out_bar,a,b);
not(c_out,c_out_bar);
endmodule
==================================================================
這次花了很久時間才研究出來
也感覺到了難度
而且每個人寫的程式碼都不一樣
但結果都一樣



