2016-01-15 80 views
-1

我想知道在Verilog中是否存在語法來訪問子模塊中的導線而不使該導線成爲輸出。Verilog:在子模塊實例中訪問導線

例如,如果具有如下模塊:

module Module_Sub(a,b); 
    input a,b; 
    wire c; 
    ... 
endmodule 


module Module_Top(d, e); 
    input d,e; 
    wire f; 

    Module_Sub sm(d,e); 
    ... 
endmodule 

現在,我要訪問的線「C」在從Module_Top的範圍實例「SM」。 有沒有辦法做到這一點? 也許是這樣的:

assign f = sm/c; 

(這句法顯然沒有爲我工作)。

P.S: 我知道這不是最好的做法,但在我的情況下,它會讓事情變得更容易。

謝謝!

編輯:我想要一個合成代碼。

+0

你可以通過一個問題編輯添加一個測試平臺或可合成的代碼嗎? – Morgan

回答

0

你非常接近。使用點,不削減:

module Module_Sub(a,b); 
    input a,b; 
    wire c; 
endmodule 

module Module_Top(d, e); 
    input d,e; 
    wire f = sm.c; 

    Module_Sub sm(d,e); 
endmodule 

參考IEEE Std 1800-2012,第23.7節 「成員選擇和分層名稱」。

+0

這似乎不起作用。可悲的是,我沒有訪問您的參考文檔,但我嘗試了,並且出現錯誤:「無法解析分層名稱」。有什麼想法嗎? – Bamba

+0

@Bamba:我沒有得到那個錯誤。該文件是免費的(只是谷歌它)。 – toolic

+0

O.K我找到了它,還發現了一些包含示例的主題。但它不適用於我。它可以合成嗎? – Bamba