2013-02-12 223 views
0

我正在寫一個4位多路複用器作爲輸入,1作爲輸出。我有托盤幾種方法,使用的情況下,如果等,但我不斷收到此錯誤:Verilog模塊警告

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

您的多路複用器有一個不正確的設計。

這是您的真值表:

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])

+0

感謝男人們,我認爲這是ISE(我正在使用的程序),但是您的右邊=) – user2063154 2013-02-12 00:51:09

+0

@ user2063154:快速模擬會很快顯示出來...... – 2013-02-12 11:19:11

相關問題