簡體   English   中英

SystemVerilog端口類[net或variable]?

[英]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

每個人都討厭這樣,所以相反:

  • 不要使用“`default_nettype none”
  • 使用真正的linting工具來做linting。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM