2

の入力と出力のシステムVerilogコードのデクレレーションの例で、moduleタイプを指定せずに遭遇しました。たとえばlogicwire...

module mat_to_stream (
  input [2:0] [2:0] [2:0] a,b,
  input newdata,
  input rst, clk,
  output [2:0] [7:0] A_out, B_out);
  ...rest of code...

logicタイプを記載することと記載しないことの違いは何ですか?

4

2 に答える 2

9

タイプを記載することと記載しないことの間に違いはlogicありません。

input newdata,

と同等です

input logic newdata,

SystemVerilog IEEE Std(1800-2009)は、これを「23.2.2.3ポートの種類、データ型、および方向を決定するための規則」のセクションで説明しています。

于 2011-04-01T15:05:06.347 に答える
1

ほとんどの場合、入力にデータ型を割り当てる必要があるため、入力にデータ型を割り当てないのが非常に一般的wireです。

input [7:0] newdata

名目上次と同等です:

input wire [7:0] newdata

それは実際には、複数のドライブとの配線ミスで失敗する一意のドライバーのコンパイラーチェックを強制`default_nettype wireするように変更される可能性のあるものをピックアップしています。uwire

タイプとして使用すると、とlogicの間の自動選択が可能になり、出力に役立ち、屈折が容易になります。入力をタイプにすることはできません。wireregreg

Stuart Sutherlands SNUG2013ペーパー、セクション12ではuwire、ツールによって正しくサポートされている場合に、設計意図をより適切に示すためにどのように使用できるかについて説明しています。

于 2014-01-17T16:13:27.063 に答える