2010-01-20 27 views
-4

如果說我有以下導線設置,導線分配是否全部有效?verilog中的導線方程

wire[3:1] w; 
wire w1; 
wire [1:0] w2; 

A) w1 = w[2];  
B) w2 = w[1:0]; 
C) w2 = w[1:2]; 

我猜這一切都是有效....

+1

嚴重的Alex,你將不得不爲自己嘗試一些這些東西。如果你真的被困住了,那麼可以尋求幫助,但是你可以用模擬器在2分鐘內回答很多問題。 '嘗試看看'的方式是學習東西的好方法,也是大多數工程師學習他們使用的CAD/EDA工具的細節的方式。此外,還有很多免費的HDL模擬器(好吧,也許有一兩個,伊卡洛斯想到......)。 祝你好運!世界需要更多的工程師。特別酷的EEs像我們一樣! – Marty 2010-02-05 03:16:13

回答

1

不要猜測。嘗試爲自己編譯代碼。 A和B是合法的語法。 C是非法的語法,根據我試過模擬器(VCS和NC-Verilog的),假設你的意思:

assign w2 = w[1:2]; 

編譯錯誤信息會像「非法部位選擇範圍」。

在IEEE標準的Verilog(Std 1364-2005)第5.2.1節「向量位選擇和部分選擇尋址」中指出,第1個數字必須處理比第2個數字更重要的位。