這是我第一次在stackoverflow.com上進行Verilog編碼。我可能會錯誤地使用一些術語,所以如果我這樣做,請糾正一下,這樣我可以在將來的帖子中更清楚。Verilog - 獨立輸出陣列
我正在使用Altera FPGA板,其中有7個LEDG燈可以觸發開和關。對於我的項目,我製作了一個BCD加法器,當BCD值不是0 - 9時,LEDG [7]打開。但是,我不想聲明輸出[6:4]。 LEDG [3:0]顯示兩個輸入之和的二進制等值。
我想我可以使用兩個單獨的聲明語句,但它告訴我,LEDG已經聲明它是。然後,我試圖用括號將它結合起來,但它也抱怨說。有什麼方法可以簡化我的代碼。下面是我嘗試過的例子。
實施例1:
module BCD (..., LEDG, ...); output reg [3:0] LEDG; output reg [7] LEDG; endmodule
實施例2:
module BCD (..., LEDG, ...);
output reg ({[3:0], [7]} LEDG);
endmodule
任何幫助將不勝感激!提前致謝。 :-)
輸出全寬,但將數組的不需要的位設置爲「Z」狀態? – osgx 2013-04-20 02:22:40
糾正我,如果我錯了,但Z狀態是不關心狀態?我如何去聲明數組的位爲「Z」?是否像[6:4] LEDG = Z那麼簡單? – ButtahNBred 2013-04-20 02:24:52
'X'未知,Z爲高阻抗。 http://www.ee.ed.ac.uk/~gerard/Teach/Verilog/manual/DataTypes/tris.html「有一個信號值:z,它被稱爲」高阻抗「。這基本上意味着一個節點是隔離的,不是被驅動的,可以將這個值分配給一個網絡。「 Z就像「不輸出」,不是0也不是1.如果引腳是LED驅動器,這意味着LED關閉(未連接到地或VCC) – osgx 2013-04-20 18:34:17