Design any FSM in VHDL or Verilog?

Answer Posted / arpan

// Tollbooth controller with VERILOG. My design contains 4
//inputs and one output. Output is : 1. stop_go signal ->
//This signal contains two leds i.e. green and red. Green
//denotes vehicle can go and Red denotes vehicle to stop.
//Input is 1.x -> This signal denotes presence of vehicle
//in toll booth. 2.heavy_light_vehicle -> This signal
//denotes weather its a heavy vehicle or light vehicle and
//pay accordingly. For heavy vehicle pay Rs 5 for light
//vehicle pay Rs 1. 3.Other input signal is clk and clear.

module controller (stop_go,X,heavy_light_vehicle,clk,clear);

input x, clk, clear, heavy_light_vehicle;

output stop_go;

reg stop_go;

reg [2:0]pay; //Amt that is being paid.

reg [0:1] state, next_state;

parameter s0 = 2'b00, s1 = 2'b01, s2 = 2'b10, s3 = 2'b11;

parameter red = 1'b0, green = 1'b1;

always @ (posedge clk)

begin

if (clear)
begin
stop_go <= red;
state <= s0;
pay <= 1'd0;
end
else
state <= next_state;
end

always @ (state or X or pay)

begin

case (state)

s0 : if (X)
next_state = s1;
else
next_state = s0;
pay = 3'd0;

s1 : if (heavy_light_vehicle)
begin
pay = 3'd1;
next_state = s2;
end
else
begin
pay = 3'd5;
next_state = s2;
end

s2 : if (pay == 3'd1 || pay == 3'd5)
begin
stop_go = green;
next_state = s3;
else
next_state = s1; // If correct amount is
//not paid then next_state again goes to s1

s3 : begin
stop_go = red;
next_state = s0;
end

default : next_state = s0;
endcase

end

endmodule

Is This Answer Correct ?    0 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is the main difference between 8085 and 8086 processors?

604


Explain in steps what happens when an interrupt occurs?

597


Which is the stack used in 8085?

591


Which register handles the arithmetic operations in the 8085?

598


What are the data pins of microprocessors?

684






Which bit of the flag register is set when output overflows to the sign bit?

750


Define edge or level sensitive interrupts?

677


How is the system clock calculated in the 8085?

655


Why the lower byte address bus(a0-a7) and data bus (d0-d7) are multiplexed?

1212


Define byte?

652


What are the functions of base registers?

615


Why was 8085 microprocessor introduced?

616


What is general purpose registers in 8086?

661


Give example of bit address and byte address?

577


What is the stack segment used for?

604