Professional Documents
Culture Documents
reg[31:0] addr;
regparity;
always @(addr)
begin
parity = calc_parity(addr);
end
function calc_parity;
input [31:0] address;
begin
calc_parity = ^address;
end
endfunction
endmodule
module traffic_lights;
reg clock, red, amber, green;
parameter on = 1, off = 0, red_tics = 350,
amber_tics = 30, green_tics = 200;
endtask
module auto_task();
initial
#10 disp(10,14);
initial
#14 disp(23,18);
initial
#4 disp(11,14);
initial
#100 $finish;
Endmodule
Blocking Task
module tb();
initial
begin
blocking_task();
#5 $display(" Statement after blocking_task at %t ",$time);
end
task blocking_task();
begin
#10;
$display(" statement inside blocking task at %t",$time);
end
endtask
endmodule
RESULTS:
statement inside blocking task at 10
Statement after blocking_task at 15
module re_entrant_task();
2
3 task automatic print_value;
4
input [7:0] value;
5
input [7:0] delay;
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
begin
#(delay) $display("%g Passed Value %d Delay %d", $time, value, delay);
end
endtask
initial begin
fork
#1 print_value (10,7);
#1 print_value (8,5);
#1 print_value (4,2);
join
#1 $finish;
end
endmodule