You are on page 1of 1

module lastquiz(clk,number1,number2,value1,value2) Input [3:0] number1; Input [31:0] number2; Input clk; Output [31:0] value1; Output value2;

Integer counter; reg value2; always @(*) value1=factorial(number1); always @(posedge clk)begin if (counter==number2)begin counter=0; value2=0;end else begin counter=counter+1; value2=1end end function [31:0] factorial; input [3:0] operand; reg [3:0] index; begin factorial = operand ? 1 : 0; for(index = 2; index <= operand; index = index + 1) factorial = index * factorial; end endfunction module stimulus; reg [3:0] number1; reg [31:0] number2; reg clk; wire [31:0] value1; wire value2; lastquiz a1(clk,number1,number2,value1,value2); Initial clk=1b0; always #1 clk=~clk; Initial begin number1= 4d3; number2= 32d15 #5 number1=4d6;

#35 number2= 32d5; #20 number2= 32d 3; End $monitor(number1,number2,value1,value2)

end module

endmodule

Show the output of the lastquiz module in the form of a table showing the following entries with respect to time Time Number1 Number2 Value1 Value2 0 3 15 6 1 5 6 15 720 1 29 6 15 720 0 40 6 5 720 1 60 6 3 720 1

You might also like