Altera_Forum
Honored Contributor
16 years agoFibonacci Code
This is a Fibonacci code that i made. but it doesn't compile in Quartus II 9.0. but it compile on ModelSim.i need to run on Ciclone II. Could you help me?
module fib( LED1, LED2, LED3, LED4, LED5, LED6, LED7, LED8); reg [7:0] i; reg [7:0] prev; reg [7:0] actual; reg [7:0] sum; output reg[7:0] LED1; output reg[7:0] LED2; output reg[7:0] LED3; output reg[7:0] LED4; output reg[7:0] LED5; output reg[7:0] LED6; output reg[7:0] LED7; output reg[7:0] LED8; //parameter ON = 1'b1; //parameter OFF = 1'b0; always # 5 begin sum = actual + prev; prev = actual; actual = sum; end always# 6 begin if (sum == 8'd0) begin assign LED1 = 1'b0; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd1) begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd2) begin assign LED1 = 1'b0; assign LED2 = 1'b1; assign LED3 = 1'b0; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd3) begin assign LED1 = 1'b1; assign LED2 = 1'b1; assign LED3 = 1'b0; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd5) begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b1; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd8) begin assign LED1 = 1'b0; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b1; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd13) begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b1; assign LED4 = 1'b1; assign LED5 = 1'b0; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd21) begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b1; assign LED4 = 1'b0; assign LED5 = 1'b1; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd34)begin assign LED1 = 1'b0; assign LED2 = 1'b0; assign LED3 = 1'b1; assign LED4 = 1'b0; assign LED5 = 1'b0; assign LED6 = 1'b1; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd55) begin assign LED1 = 1'b1; assign LED2 = 1'b1; assign LED3 = 1'b1; assign LED4 = 1'b0; assign LED5 = 1'b1; assign LED6 = 1'b1; assign LED7 = 1'b0; assign LED8 = 1'b0; end else if(sum == 8'd89)begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b1; assign LED5 = 1'b1; assign LED6 = 1'b0; assign LED7 = 1'b1; assign LED8 = 1'b0; end else if(sum == 8'd144) begin assign LED1 = 1'b0; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b0; assign LED5 = 1'b1; assign LED6 = 1'b0; assign LED7 = 1'b0; assign LED8 = 1'b1; end else if (sum == 8'd233) begin assign LED1 = 1'b1; assign LED2 = 1'b0; assign LED3 = 1'b0; assign LED4 = 1'b1; assign LED5 = 1'b0; assign LED6 = 1'b1; assign LED7 = 1'b1; assign LED8 = 1'b1; end end initial begin $monitor("Time = %g Sum = %d", $time, sum); prev = 8'd0; actual = 8'd1; sum = 8'd0; i = 8'd60; # 5$display("Time= %g Sum = %d", $time, 1); # i $finish; end endmodule thanks for all!