[英]SystemVerilog port kind [net or variable]?
我需要澄清SystemVerilog IEEE Std 1800-2012 ,端口部分23.2.2.3。
LRM表示當input
端口上省略端口類型(網絡類型或變量)時,它默認為網絡類型,但是當input
端口是bit
數據類型而沒有指定端口類型時,它是否根據LRM推斷為網絡類型?
回復將非常感謝!
端口類型默認為網絡並且您引用了,但6.7.1具有內置網絡類型的網絡聲明表示網絡類型僅限於4種狀態的整數類型。 因此,如果您嘗試聲明input bit
而不是input var bit
則應該收到錯誤。
請注意,早期版本的SystemVerilog LRM在指定沒有端口類型的數據類型時,默認端口類型是變量。 如果某些工具不是最新的,則可能不會生成錯誤。
“bit”僅指定信號的數據類型,而不是網絡類型。
當您將端口聲明為“輸入位foo”時,工具應根據設置的default_nettype來推斷網絡類型。
許多verilog樣式指南推薦使用“default_nettype none”作為窮人linting工具來檢測網名中的拼寫錯誤。 這會在systemverilog下中斷,因為它開始要求所有內容都使用net和data類型聲明,如下所示:
input wire bit foo
每個人都討厭這樣,所以相反:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.