Intel® FPGA University Program
University Program Material, Education Boards, and Laboratory Exercises
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
1080 Discussions

Automatic parking control with counter

Altera_Forum
Honored Contributor II
754 Views

Hi all, 

 

I have done a simple coding regarding my assignment but some error arise. 

 

Can anyone tell me the problem 

 

module parking (Remaining_spaces,G1,G2,E1,E2,clk,rst_n); 

output Remaining_spaces; 

input G1,G2,E1,E2; 

input clk, rst_n; 

 

parameter [2:0] IDLE = 3'b000, 

DETECT = 3'b001, 

FIND_IN = 3'b010, 

FIND_OUT = 3'b011, 

CHECK_IN = 3'b100, 

CHECK_OUT= 3'b101; 

 

 

reg [2:0] state, next; 

 

always @ (posedge clk or negedge rst_n) 

if (!rst_n) state <= IDLE; 

else state <= next; 

 

always @ (state or G1 or G2 or E1 or E2) begin 

next = 3'bx; 

case(state) 

 

IDLE: begin 

next = DETECT; // jump to the next state 

end 

 

DETECT : begin 

if (G1 == 1'b1) begin 

next = FIND_IN; 

G1 = 1'b0;  

end else if (G2 == 1'b1) begin 

next = FIND_IN; 

G2 = 1'b0;  

end else if (E1 == 1'b1) begin 

next = FIND_OUT; 

E1 = 1'b0;  

end else if (E2 == 1'b1) begin 

next = FIND_OUT; 

E2 = 1'b0;  

end else begin 

next = DETECT; 

end 

end 

 

FIND_IN : begin 

next = CHECK_IN ; 

end 

 

FIND_OUT : begin 

next = CHECK_OUT ;  

end 

 

CHECK_IN: begin 

Remaining_spaces = Remaining_spaces - 1; 

end 

 

CHECK_OUT: begin 

Remaining_spaces = Remaining_spaces + 1; 

end 

 

 

endcase 

end 

endmodule
0 Kudos
0 Replies
Reply