timeunit/timeprecision

Verilog HDLでは、シミュレーションのタイムスケールを決めるのに、

`timescale 1ns / 10ps

のように、`timescale ディレクティブを使って、単位( 1ns )と精度( 10ps )を決めていました。

SystemVerilogでは、新しいキーワード( timeunit timeprecision )を使って、

単位( timeunit )と精度( timeprecision )を決めることができます。

timeunit 1ns;

timeprecision 10ps;

単位と精度は、別々に設定します。

また、それぞれ、10のべき乗でなければいけません。

これらは、SystemVerilogの文なので最後に ";"(セミコロン)が必要です。

`timescale ディレクティブは、ディレクティブなのでセミコロンは必要ないです。

`timescale ディレクティブは読み込むファイルの順番により変わるので、

SystemVerilogでは、timeunit timeprecision を使うのを推奨しています。

timeunit timeprecision は、package/program/module/interfaceの定義の中で使うことができます。

もし、指定しない場合は現在のスコープの設定値が使われることになります。

timeunit timeprecision に関するブログとして、

があります。

ちなみにコメントにあるCompetitor Simulator 1は、Questa/ModelSim(Mentor)で、Competitor Simulator 2はIUS(Cadence)だと思います。