Xilinx 中的 Verilog 模块 "signal never used" 错误

Verilog module in Xilinx "signal never used" error

我有一个 Verilog 程序,我必须在其中模拟一个 ALU,它可以加、减、检查是否相等以及除以 2。我的代码:

module alu(
input wire [7:0] sw,
 output reg [2:0] s, 
 output reg cout
 );

reg co1, co2;

always @(*) begin 

    if(~sw[6] & ~sw[7]) begin 
    s[0] = sw[0] ^ sw[3] ^ 1'b0; 
    co1 = (sw[3] & 1'b0) | (sw[0] & 1'b0) | (sw[0] & sw[3]);

    s[1] = sw[1] ^ sw[4] ^ co1; 
    co2 = (sw[4] & co1) | (sw[1] & co1) | (sw[1] & sw[4]);

    s[2] = sw[2] ^ sw[5] ^ co2; 
    cout = (sw[5] & co2) | (sw[2] & co2) | (sw[2] & sw[5]);
    end

    else if(sw[6] & ~sw[7]) begin
    s[0] = sw[0] ^ ~sw[3] ^ 1'b1; 
    co1 = (~sw[3] & 1'b1) | (sw[0] & 1'b1) | (sw[0] & ~sw[3]);

    s[1] = sw[1] ^ ~sw[4] ^ co1; 
    co2 = (~sw[4] & co1) | (sw[1] & co1) | (sw[1] & ~sw[4]);

    s[2] = sw[2] ^ ~sw[5] ^ co2; 
    cout = (~sw[5] & co2) | (sw[2] & co2) | (sw[2] & ~sw[5]);

    end
        \more code
end

endmodule

我收到 'co1' 和 'co2'

的警告

signal is assigned but never used. This unconnected signal will be trimmed during the optimization process.

我对警告感到困惑,因为根据我的理解,'co1' 和 'co2' 用于分配某些内容。总的来说,当我 运行 它在我的板上时,我根本没有输出。

所以这最终不是问题。它们在合成后被移除。