コンパイラ指定子
# このページは,学生実験用資料として筑波大学リコンフィギュラブルコンピューティングシステム研究室のwebページで公開されていたものを,許可を得て転載したものです.
`default_nettype
暗黙に宣言されるネット型を指定します。デフォルトではwireが指定されています。noneを指定すると、暗黙の型宣言を禁止することができます。
`define
`defineで定義された文字列は、指定した文字列と単純置換されます。
以下に例を示します。
`define WIDTH 2
// assign i = 2'b00;に展開される。
assign i = WIDTH'b00;
|
`ifdef, `ifndef, `else, `elsif, `endif
文字列が`defineで定義されているかいないかで、展開する処理を切り替えます。
`ifdef 文字列0
文字列0が定義されていた場合の処理
`elsif 文字列1
文字列1が定義されていた場合の処理
`else
文字列0も文字列1も定義されていない場合の処理
`endif
`ifndef 文字列
// 文字列が定義されていない場合の処理
`endif
|
以下に`ifdefの例を示します。
`ifdef COUNTER_16
parameter WIDTH = 4;
`else
parameter WIDTH = 8
`endif
|
`include
`includeは指定したファイルを読み込み、その場所に展開します。
`include "ファイル名 (絶対パスか、include元からの相対パス)"
|
以下に`includeの例を示します。
// common_paramter.h
parameter WIDTH = 2;
parameter INIT = 2'b0;
// IncludeSample.v
module IncludeSample();
// WIDTHとINITが埋め込まれる。
`include "common_parameter.h"
reg [WIDTH - 1: 0] r;
...
|
`resetall
これまでに指定されたコンパイラ指定子を全てデフォルトの値に戻します。
`timescale
`timescaleはシミュレーションの単位と、シミュレーションの精度を指定します。
`timescale シミュレーションの単位 / 精度
|
単位・精度に使える単位は以下のようになります。
s | 秒 |
ms | ミリ秒 |
us | マイクロ秒 |
ns | ナノ秒 |
ps | ピコ秒 |
fs | フェムト秒 |
以下に`timescaleの例を示します。
`undef
`defineで定義されたマクロを削除します。
戻る