2009年11月30日 星期一

Not AND(雙腳)系統時脈

module top;
wire zA1, zB1;

system_clock #100 s1(zA1);
system_clock #200 s2(zB1);

manf201 s3(zOut, zA1, zB1);
endmodule

module manf201(o, A1, B1);
input A1, B1;
output o;
nand a1(o, A1, B1);

specify
specparam

Tpd_0_1 = 1.13 : 3.09 : 7.75,
Tpd_1_0 = 0.93 : 2.50 : 7.34;
(A1=>o) = (Tpd_0_1, Tpd_1_0);
(B1=>o) = (Tpd_0_1, Tpd_1_0);

endspecify
endmodule

module system_clock(clk);

parameter PERIOD = 100;
output clk;
reg clk;

initial
clk = 0;

always
begin
#(PERIOD / 2) clk = ~clk;
#(PERIOD - PERIOD / 2) clk = ~clk;
end

always@(posedge clk)
if($time > 6000)
#(PERIOD - 1)
$stop;
endmodule

沒有留言:

張貼留言