Verilog模块警告

时间:2013-02-12 00:33:54

标签: module warnings verilog

我写了一个4位多路复用器作为输入,1作为输出。我有托盘的几种方式,使用案例,if等,但我一直收到这个错误:

WARNING:PhysDesignRules:367 - The signal <A<2>_IBUF> is incomplete. The signal
   does not drive any load pins in the design.
WARNING:Par:288 - The signal A<2>_IBUF has no load.  PAR will not attempt to route this signal.
WARNING:Par:283 - There are 1 loadless signals in this design. This design will cause Bitgen to issue DRC warnings.

当我在我的电路设计卡(Basys)中编程时,一切正常,但分配给A [2]的开关不起作用,这是我的模块:

module Multi_4_1(
    input [3:0] A,
    input [1:0] S,
    output Z
    );

     wire w1, w2;

     Multi_2_1 a(.A(A[0]), .B(A[1]), .SEL(S[0]), .F(w1));
    Multi_2_1 b(.A(A[2]), .B(A[3]), .SEL(S[1]), .F(w2));
     Multi_2_1 c(.A(w1), .B(w2), .SEL(S[1]), .F(Z));

endmodule

module Multi_2_1(
    input A,
    input B,
    input SEL,
    output F
    );

     assign F = (~SEL&A)|(SEL&B);

endmodule

这就是我将终端分配给卡的地方,但是我已经尝试了另外一个项目并且工作正常

NET "A[3]" LOC ="B4";   # sw3
NET "A[2]" LOC ="K3";
NET "A[1]" LOC ="L3";   # sw1
NET "A[0]" LOC ="P11";  # sw0, el de la derecha

NET "S[0]" LOC ="G3";   # sw4
NET "S[1]" LOC ="F3";   # sw5

NET "Z" LOC ="M5";   # L0, el de la derecha

1 个答案:

答案 0 :(得分:1)

您的多路复用器设计不正确。

这是你的真相表:

S=00 => Z=A[0]
S=01 => Z=A[1]
S=10 => Z=A[3]
S=11 => Z=A[3]

因此A [2]永远不会是输出,因此它是'卸载',并且您的综合工具会警告您这一点。您可能打算让Mux b使用sel(S[0])