`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2024/10/26 00:24:32
// Design Name: 
// Module Name: water_level_control
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


module water_level_control(
    input A,    // 最高位电极
    input B,    // 中间电极
    input C,    // 最低位电极
    output G,   // 绿灯（正常状态）
    output Y,   // 黄灯（水位过高或过低）
    output R    // 红灯（缺水）
);
    // G = A·B·C （正常水位）
    assign G = A & B & C;
    
    // Y = (A + ~B)·B·C + ~C·B （水位过高或过低）
    assign Y = ((A | ~B) & B & C) | (~C & B);
    
    // R = ~C （缺水）
    assign R = ~C & ~B;

endmodule