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
What is the main difference between 8085 and 8086 processors?
Explain in steps what happens when an interrupt occurs?
Which is the stack used in 8085?
Which register handles the arithmetic operations in the 8085?
What are the data pins of microprocessors?
Which bit of the flag register is set when output overflows to the sign bit?
Define edge or level sensitive interrupts?
How is the system clock calculated in the 8085?
Why the lower byte address bus(a0-a7) and data bus (d0-d7) are multiplexed?
Define byte?
What are the functions of base registers?
Why was 8085 microprocessor introduced?
What is general purpose registers in 8086?
Give example of bit address and byte address?
What is the stack segment used for?