data/full_repos/permissive/160437780/Source/topmodule.v
[Errno 2] No such file or directory: 'preprocess.output'
1: b'%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:78: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h1\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] searchingState_WASHER = 4\'d01;\n                                 ^~~~~\n                ... Use "/* verilator lint_off WIDTH */" and lint_on around source to disable this message.\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:79: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h2\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] searchingState_LED = 4\'d02;\n                              ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:80: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h3\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] obstacleAvoidanceState_RIGHT = 4\'d03;\n                                        ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:81: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h7\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] obstacleAvoidanceState_LEFT = 4\'d07;\n                                       ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:82: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h8\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] obstacleAvoidanceState_FRONT = 4\'d08;\n                                        ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:83: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h4\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] gettingWasherColorState = 4\'d04;\n                                   ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:84: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h5\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] pickingUpWasherState = 4\'d05;\n                                ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:85: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h6\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] checkingLEDFrequency = 4\'d06;\n                                ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:86: Operator ASSIGN expects 5 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h9\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[4:0] dropWASHER = 4\'d09;\n                      ^~~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:94: Operator ASSIGN expects 2 bits on the Assign RHS, but Assign RHS\'s CONST \'4\'h0\' generates 4 bits.\n                                                                          : ... In instance topmodule\nreg[1:0] washerCounter = 4\'d00;\n                         ^~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:121: Cannot find file containing module: \'Display\'\nDisplay display(\n^~~~~~~\n        ... Looked in:\n             data/full_repos/permissive/160437780/Source,data/full_repos/permissive/160437780/Display\n             data/full_repos/permissive/160437780/Source,data/full_repos/permissive/160437780/Display.v\n             data/full_repos/permissive/160437780/Source,data/full_repos/permissive/160437780/Display.sv\n             Display\n             Display.v\n             Display.sv\n             obj_dir/Display\n             obj_dir/Display.v\n             obj_dir/Display.sv\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:128: Cannot find file containing module: \'movementMain\'\nmovementMain movement(\n^~~~~~~~~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:139: Cannot find file containing module: \'irSensor\'\nirSensor infraredFront (\n^~~~~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:146: Cannot find file containing module: \'irSensor\'\nirSensor infraredRight (\n^~~~~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:153: Cannot find file containing module: \'irSensor\'\nirSensor infraredLeft (\n^~~~~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:160: Cannot find file containing module: \'freqControl\'\nfreqControl senseFreq(\n^~~~~~~~~~~\n%Error: data/full_repos/permissive/160437780/Source/topmodule.v:167: Cannot find file containing module: \'Top\'\nTop colorSensorControl( \n^~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:306: Operator ASSIGNDLY expects 2 bits on the Assign RHS, but Assign RHS\'s VARREF \'YELLOW\' generates 32 or 3 bits.\n                                                                           : ... In instance topmodule\n        LEDColor <= YELLOW;\n                 ^~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:280: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h4\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:280: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h0\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:280: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h1\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:280: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h2\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:280: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h3\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:345: Operator ASSIGNDLY expects 2 bits on the Assign RHS, but Assign RHS\'s VARREF \'YELLOW\' generates 32 or 3 bits.\n                                                                           : ... In instance topmodule\n        LEDColor <= YELLOW;\n                 ^~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:321: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h4\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:321: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h0\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:321: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h1\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:321: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h2\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Warning-WIDTH: data/full_repos/permissive/160437780/Source/topmodule.v:321: Operator CASE expects 4 bits on the Case Item, but Case Item\'s CONST \'3\'h3\' generates 3 bits.\n                                                                           : ... In instance topmodule\n        case(washerColorValue)\n        ^~~~\n%Error: Exiting due to 7 error(s), 22 warning(s)\n'
module topmodule (   
    input CLK100MHZ,
    output [7:0] seg,
    output [3:0] an,
    
    output  enableA_motor,
    output  enableB_motor,
    output [3:0] motorInput,
    
    input [1:0] speedChange,
    input sw0,
    input sw1,
    input sw2,
    input sw3,
    output led0,
    output led1,
    output led2,
    output led3,
    output led4,

    input irPing_front,
    output [1:0] irFlag_front,

    
    input irPing_left,
    output [1:0] irFlag_left,

    
    input irPing_right,
    output [1:0] irFlag_right,

    

    input metalVal,
    

    output reg magnetON,

    input colorSensorPulse,
    input  colorSensor_S2,
    input  colorSensor_S3,
    

    input inputSignal
    );
    assign led0 = sw0;
    assign led1 = sw1;
    assign led2 = sw2;
    assign led3 = ~metalVal;
    assign led4 = ~irPing_right;
    
    reg tmp_clk;
reg[3:0] washerColorValue;
wire [15:0] displayed_number;
reg [15:0] displayed_number_2;
parameter frontTimer = 250000000;
parameter leftTimer = 250000000;
parameter rightTimer = 250000000;
reg[29:0] flagFront = 0;
reg[29:0] flagRight = 0;
reg[29:0] flagLeft = 0;
reg[29:0] counter_100Meg_wire;
reg[32:0] dist_counter=0;
reg [18:0] counter;
reg [18:0] counter_2;
reg reset = 0;
reg [4:0] dutyCycle;
reg [1:0] speed = 1;
reg[1:0] getColor = 0;

reg[4:0] searchingState_WASHER = 4'd01;
reg[4:0] searchingState_LED = 4'd02;
reg[4:0] obstacleAvoidanceState_RIGHT = 4'd03;
reg[4:0] obstacleAvoidanceState_LEFT = 4'd07;
reg[4:0] obstacleAvoidanceState_FRONT = 4'd08;
reg[4:0] gettingWasherColorState = 4'd04;
reg[4:0] pickingUpWasherState = 4'd05;
reg[4:0] checkingLEDFrequency = 4'd06;
reg[4:0] dropWASHER = 4'd09;

reg[4:0] currentState;
reg[4:0] previousState;

wire [5:0] ccounter = 0;
reg [5:0] c_counter = 0;

reg[1:0] washerCounter = 4'd00;
reg[1:0] second = 0;

parameter forward = 3'b000;
parameter backwards = 3'b001;
parameter stop1 = 3'b010;
parameter stop2 = 3'b011;

parameter left = 3'b100;
parameter right = 3'b101;


reg [2:0] direction = 0;
reg[1:0] LEDColor;
parameter UNKNOWN = 0;
parameter RED = 1;
parameter BLUE = 2;
parameter GREEN = 3;
parameter YELLOW = 4;
reg [1:0] lastTurn = 2'd00;
reg [1:0] lastTurn_RIGHT = 2'd01;
reg [1:0] lastTurn_LEFT = 2'd02;
reg obstacleRight = 1;
reg[1:0] dir = 1;



Display display(
.outputVal(displayed_number_2),
.CLK100MHZ(CLK100MHZ),
.sseg(seg),
.enables(an)
);

movementMain movement(
.CLK100MHZ(CLK100MHZ),
.reset(reset),
.motor(motorInput),
.movementCommand(direction),
.enableA(enableA_motor),
.enableB(enableB_motor),
.curSpeed(speed),
.speedChange(speedChange)
);

irSensor infraredFront (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_front),

.iFlag(irFlag_front)
);

irSensor infraredRight (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_right),

.iFlag(irFlag_right)
);

irSensor infraredLeft (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_left),

.iFlag(irFlag_left)
);

freqControl senseFreq(
.CLK100MHZ(CLK100MHZ),
.freq(displayed_number),
.signal(inputSignal),
.counter(ccounter)

);
Top colorSensorControl( 
.clk(CLK100MHZ),

.Pulse(colorSensorPulse),


.S2(colorSensor_S2),
.S3(colorSensor_S3)



);  
initial begin
counter = 0;
c_counter = 0;
counter_100Meg_wire <= 0;
end


always @ (posedge CLK100MHZ) begin  






    if((irFlag_right == 2'b01 && irFlag_front == 2'b01 || irFlag_left == 2'b01 && irFlag_front == 2'b01)) begin


    end else if(metalVal) begin
        currentState <= gettingWasherColorState;
        

    end else if(irFlag_front == 2'b01) begin
    









        currentState <= obstacleAvoidanceState_FRONT;

    end else if(irFlag_right == 2'b01 && irFlag_front == 2'b01) begin
                 currentState <= obstacleAvoidanceState_RIGHT;

    end else if(irFlag_left == 2'b01 && irFlag_front == 2'b01) begin
                 currentState <= obstacleAvoidanceState_LEFT;
     end else if (currentState == checkingLEDFrequency) begin
            currentState <= dropWASHER;
    end
     
     else begin
    currentState <= searchingState_WASHER; 
 end   
end

always @ (posedge CLK100MHZ) begin
if(!reset) begin
            counter_100Meg_wire <= counter_100Meg_wire + 1;    
end


case(currentState)

searchingState_WASHER:
    begin
                                   speed = 3;
    direction = forward; 


            lastTurn <= lastTurn_LEFT;
 if(counter_100Meg_wire > 400000000 && counter_100Meg_wire < 600000000 ) begin
                                       speed = 3;
                                       direction = right;   
            
        end
           

                if(lastTurn == lastTurn_LEFT) begin
                lastTurn <= lastTurn_RIGHT;

                    if(counter_100Meg_wire > 0 && counter_100Meg_wire < 400000000) begin
                                              speed = 3;
                                               direction = left;
                                               counter_100Meg_wire <= 0;

                    end
                    else if(lastTurn == lastTurn_RIGHT) begin
                                  lastTurn <= lastTurn_LEFT;
                                if(counter_100Meg_wire > 0 && counter_100Meg_wire < 400000000) begin
                                        speed = 3;
                                        direction = right;
              
                                 end end

                end
               
            end 

gettingWasherColorState:
    begin
    magnetON = 1;

        speed = 0;

       if(counter_100Meg_wire > 0 && counter_100Meg_wire < 200000000) begin
                           speed = 3;
                           direction = forward; 
             end
        case(washerColorValue)
        3'b100:
        begin
        LEDColor <= UNKNOWN;
         displayed_number_2 = 16'b1111_1111_1111_1111;
        end
        3'b000:
        begin
                 displayed_number_2 = 16'b1111_0000_0000_1111;

        LEDColor <= RED;
        end    
        3'b001:
        begin
        LEDColor <= BLUE;
                         displayed_number_2 = 16'b1100_0000_0000_0011;

        end
        3'b010:
        begin
        LEDColor <= GREEN;
                         displayed_number_2 = 16'b0000_0000_0000_0001;

        end
        3'b011:
        begin
        LEDColor <= YELLOW;
                         displayed_number_2 = 16'b0000_0000_0001_0001;

        end
       
        endcase
                                         speed = 3;
        direction = forward;

         if(counter_100Meg_wire > 50000000 && counter_100Meg_wire < 70000000 ) begin

                       

              direction = stop1;
               
        case(washerColorValue)
                
        3'b100:
        begin
        LEDColor <= UNKNOWN;

        end
        3'b000:
        begin
        LEDColor <= RED;

        end    
        3'b001:
        begin
        LEDColor <= BLUE;

        end
        3'b010:
        begin
        LEDColor <= GREEN;

        end
        3'b011:
        begin
        LEDColor <= YELLOW;
        
        end
            endcase 
           
           end end




















dropWASHER:
begin


    speed = 0;
    direction = stop1;
    magnetON = 0;

        direction = forward;
    speed = 3;
    end


obstacleAvoidanceState_FRONT:
begin
                        speed = 3;
direction = left;           
if(counter_100Meg_wire > 50000000  && counter_100Meg_wire <70000000 ) begin
                                      speed = 3;
direction = forward;    
          end


          end





obstacleAvoidanceState_RIGHT:
begin

speed = 3;
direction = left; 
if(counter_100Meg_wire > 40000000 && counter_100Meg_wire < 50000000) begin
    speed = 3;
direction = forward; 

end 


end
obstacleAvoidanceState_LEFT:
begin
  speed = 3;
direction = right; 
if(counter_100Meg_wire > 0 && counter_100Meg_wire < 40000000) begin
 speed = 3;
direction = forward; 
end


end
   endcase
   end
endmodule
module topmodule (   
    input CLK100MHZ,
    output [7:0] seg,
    output [3:0] an,
    
    output  enableA_motor,
    output  enableB_motor,
    output [3:0] motorInput,
    
    input [1:0] speedChange,
    input sw0,
    input sw1,
    input sw2,
    input sw3,
    output led0,
    output led1,
    output led2,
    output led3,
    output led4,

    input irPing_front,
    output [1:0] irFlag_front,

    
    input irPing_left,
    output [1:0] irFlag_left,

    
    input irPing_right,
    output [1:0] irFlag_right,

    

    input metalVal,
    

    output reg magnetON,

    input colorSensorPulse,
    input  colorSensor_S2,
    input  colorSensor_S3,
    

    input inputSignal
    );

    assign led0 = sw0;
    assign led1 = sw1;
    assign led2 = sw2;
    assign led3 = ~metalVal;
    assign led4 = ~irPing_right;
    
    reg tmp_clk;
reg[3:0] washerColorValue;
wire [15:0] displayed_number;
reg [15:0] displayed_number_2;
parameter frontTimer = 250000000;
parameter leftTimer = 250000000;
parameter rightTimer = 250000000;
reg[29:0] flagFront = 0;
reg[29:0] flagRight = 0;
reg[29:0] flagLeft = 0;
reg[29:0] counter_100Meg_wire;
reg[32:0] dist_counter=0;
reg [18:0] counter;
reg [18:0] counter_2;
reg reset = 0;
reg [4:0] dutyCycle;
reg [1:0] speed = 1;
reg[1:0] getColor = 0;

reg[4:0] searchingState_WASHER = 4'd01;
reg[4:0] searchingState_LED = 4'd02;
reg[4:0] obstacleAvoidanceState_RIGHT = 4'd03;
reg[4:0] obstacleAvoidanceState_LEFT = 4'd07;
reg[4:0] obstacleAvoidanceState_FRONT = 4'd08;
reg[4:0] gettingWasherColorState = 4'd04;
reg[4:0] pickingUpWasherState = 4'd05;
reg[4:0] checkingLEDFrequency = 4'd06;
reg[4:0] dropWASHER = 4'd09;

reg[4:0] currentState;
reg[4:0] previousState;

wire [5:0] ccounter = 0;
reg [5:0] c_counter = 0;

reg[1:0] washerCounter = 4'd00;
reg[1:0] second = 0;

parameter forward = 3'b000;
parameter backwards = 3'b001;
parameter stop1 = 3'b010;
parameter stop2 = 3'b011;

parameter left = 3'b100;
parameter right = 3'b101;


reg [2:0] direction = 0;
reg[1:0] LEDColor;
parameter UNKNOWN = 0;
parameter RED = 1;
parameter BLUE = 2;
parameter GREEN = 3;
parameter YELLOW = 4;
reg [1:0] lastTurn = 2'd00;
reg [1:0] lastTurn_RIGHT = 2'd01;
reg [1:0] lastTurn_LEFT = 2'd02;
reg obstacleRight = 1;
reg[1:0] dir = 1;



Display display(
.outputVal(displayed_number_2),
.CLK100MHZ(CLK100MHZ),
.sseg(seg),
.enables(an)
);

movementMain movement(
.CLK100MHZ(CLK100MHZ),
.reset(reset),
.motor(motorInput),
.movementCommand(direction),
.enableA(enableA_motor),
.enableB(enableB_motor),
.curSpeed(speed),
.speedChange(speedChange)
);

irSensor infraredFront (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_front),

.iFlag(irFlag_front)
);

irSensor infraredRight (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_right),

.iFlag(irFlag_right)
);

irSensor infraredLeft (
.CLK100MHZ(CLK100MHZ),
.ir_FLAG(irPing_left),

.iFlag(irFlag_left)
);

freqControl senseFreq(
.CLK100MHZ(CLK100MHZ),
.freq(displayed_number),
.signal(inputSignal),
.counter(ccounter)

);
Top colorSensorControl( 
.clk(CLK100MHZ),

.Pulse(colorSensorPulse),


.S2(colorSensor_S2),
.S3(colorSensor_S3)



);  
initial begin
counter = 0;
c_counter = 0;
counter_100Meg_wire <= 0;
end


always @ (posedge CLK100MHZ) begin  






    if((irFlag_right == 2'b01 && irFlag_front == 2'b01 || irFlag_left == 2'b01 && irFlag_front == 2'b01)) begin


    end else if(metalVal) begin
        currentState <= gettingWasherColorState;
        

    end else if(irFlag_front == 2'b01) begin
    









        currentState <= obstacleAvoidanceState_FRONT;

    end else if(irFlag_right == 2'b01 && irFlag_front == 2'b01) begin
                 currentState <= obstacleAvoidanceState_RIGHT;

    end else if(irFlag_left == 2'b01 && irFlag_front == 2'b01) begin
                 currentState <= obstacleAvoidanceState_LEFT;
     end else if (currentState == checkingLEDFrequency) begin
            currentState <= dropWASHER;
    end
     
     else begin
    currentState <= searchingState_WASHER; 
 end   
end

always @ (posedge CLK100MHZ) begin
if(!reset) begin
            counter_100Meg_wire <= counter_100Meg_wire + 1;    
end


case(currentState)

searchingState_WASHER:
    begin
                                   speed = 3;
    direction = forward; 


            lastTurn <= lastTurn_LEFT;
 if(counter_100Meg_wire > 400000000 && counter_100Meg_wire < 600000000 ) begin
                                       speed = 3;
                                       direction = right;   
            
        end
           

                if(lastTurn == lastTurn_LEFT) begin
                lastTurn <= lastTurn_RIGHT;

                    if(counter_100Meg_wire > 0 && counter_100Meg_wire < 400000000) begin
                                              speed = 3;
                                               direction = left;
                                               counter_100Meg_wire <= 0;

                    end
                    else if(lastTurn == lastTurn_RIGHT) begin
                                  lastTurn <= lastTurn_LEFT;
                                if(counter_100Meg_wire > 0 && counter_100Meg_wire < 400000000) begin
                                        speed = 3;
                                        direction = right;
              
                                 end end

                end
               
            end 

gettingWasherColorState:
    begin
    magnetON = 1;

        speed = 0;

       if(counter_100Meg_wire > 0 && counter_100Meg_wire < 200000000) begin
                           speed = 3;
                           direction = forward; 
             end
        case(washerColorValue)
        3'b100:
        begin
        LEDColor <= UNKNOWN;
         displayed_number_2 = 16'b1111_1111_1111_1111;
        end
        3'b000:
        begin
                 displayed_number_2 = 16'b1111_0000_0000_1111;

        LEDColor <= RED;
        end    
        3'b001:
        begin
        LEDColor <= BLUE;
                         displayed_number_2 = 16'b1100_0000_0000_0011;

        end
        3'b010:
        begin
        LEDColor <= GREEN;
                         displayed_number_2 = 16'b0000_0000_0000_0001;

        end
        3'b011:
        begin
        LEDColor <= YELLOW;
                         displayed_number_2 = 16'b0000_0000_0001_0001;

        end
       
        endcase
                                         speed = 3;
        direction = forward;

         if(counter_100Meg_wire > 50000000 && counter_100Meg_wire < 70000000 ) begin

                       

              direction = stop1;
               
        case(washerColorValue)
                
        3'b100:
        begin
        LEDColor <= UNKNOWN;

        end
        3'b000:
        begin
        LEDColor <= RED;

        end    
        3'b001:
        begin
        LEDColor <= BLUE;

        end
        3'b010:
        begin
        LEDColor <= GREEN;

        end
        3'b011:
        begin
        LEDColor <= YELLOW;
        
        end
            endcase 
           
           end end




















dropWASHER:
begin


    speed = 0;
    direction = stop1;
    magnetON = 0;

        direction = forward;
    speed = 3;
    end


obstacleAvoidanceState_FRONT:
begin
                        speed = 3;
direction = left;           
if(counter_100Meg_wire > 50000000  && counter_100Meg_wire <70000000 ) begin
                                      speed = 3;
direction = forward;    
          end


          end





obstacleAvoidanceState_RIGHT:
begin

speed = 3;
direction = left; 
if(counter_100Meg_wire > 40000000 && counter_100Meg_wire < 50000000) begin
    speed = 3;
direction = forward; 

end 


end
obstacleAvoidanceState_LEFT:
begin
  speed = 3;
direction = right; 
if(counter_100Meg_wire > 0 && counter_100Meg_wire < 40000000) begin
 speed = 3;
direction = forward; 
end


end
   endcase
   end
endmodule