$fclose
ファイルをクローズする

[書式]
$fclose (mcd名 or fd名);

[説明]
タスクが呼び出された時点で、直ちにファイルを閉じる。
[例]

$fdisplay
ファイルに出力する

[書式]
$fdisplay (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
タスクが呼び出された時点での引数の状態をファイルに出力する。
出力の際、末尾が自動的に改行され、新しい行の行頭に復帰される。
また、フォーマットの指定がない引数は10進表記となる。
その他:
・フォーマットには、下表のエスケープシーケンスが使用可
・引数のNull(連続したカンマ)は、スペースを出力

フォーマット説明
\n改行
\tタブ
\\\を出力
\""を出力
\dddASCIIコード(8進)による文字出力
%%%を出力
%b %B2進数
%d %D10進数
%e %E指数
%f %F実数
%g %G%e、%fの桁数が少ない方を出力
%h %H16進数
%l %Lライブラリ・バインド情報
%m %M階層名
%o %O8進数
%s %S文字列
%t %T時刻
%u %U0,1の2値出力(X,Zは0)
%v %V信号強度
%z %Z0,1,X,Zの4値出力

[例]
[関連項目]

$fdisplayb/o/h
ファイルに2/8/16進数で出力する

[書式]
$fdisplayb (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fdisplayo (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fdisplayh (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットの指定がない引数は2/8/16進表記となる。
それ以外は$fdisplayと同じ。
[例]
[関連項目]

$feof
ファイルの終端(EOF)を判定する

[書式]
戻り値 = $feof (fd名);

[説明]
EOFを検出した場合は0以外、検出しない場合は0を戻り値に返す。
[例]

$ferror
ファイル入出力のエラーを判定する

[書式]
戻り値 = $ferror (fd名, 文字列);

[説明]
タスクが呼び出される前の最近のファイル入出力操作に対してエラーを判定する。
エラーがある場合は、戻り値にエラー番号、文字列にエラーメッセージを返す。
エラーがない場合は、戻り値に0を返し、文字列はクリアされる。
文字列の幅は640bit以上必要。
[例]

$fflush
バッファをフラッシュする

[書式]
$fflush (mcd名 or fd名 or 指定なし);

[説明]
バッファの内容をファイルに吐き出しバッファをクリアする。
バッファとは、ディスクに効率よく書き込むために利用される一時的なメモリのこと。
[例]

$fgetc
ファイルから1文字ずつ読み込む

[書式]
戻り値 = $fgetc (fd名);

[説明]
リード(r, r+)で開いたファイルから1バイトを読み込み戻り値に返す。
エラー時の戻り値はEOF(-1)。
[例]

$fgets
ファイルから1行ずつ読み込む

[書式]
戻り値 = $fgets (文字列, fd名);

[説明]
文字列の長さを上限にファイルから1行読み込み文字列に入力する。
また、戻り値にその文字数を返す。エラー時は0。
なお、文字列の長さを超えた場合、超えた位置に読み/書き位置が移動される。
つまり、次に$fgetsを実行するとその超えた位置から読み込まれることになる。
[例]

$fmonitor
信号をファイルにモニター出力する

[書式]
$fmonitor (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
引数の状態を監視し、その変化を検出してファイルに出力する。
出力末尾の改行復帰、10進表記(デフォルト)など$displayと同じ。
なお、同じ時間に複数の引数が変化した場合、
その出力は、最後の引数が変化した後に、一度だけ実行される。
[例]
[関連項目]

$fmonitorb/o/h
信号を2/8/16進数でファイルにモニター出力する

[書式]
$fmonitorb (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fmonitoro (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fmonitorh (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットの指定がない引数は2/8/16進表記となります。
それ以外は$fmonitorと同じです。
[例]
[関連項目]

$fopen
ファイルをオープンする

[書式]
mcd名 = $fopen (ファイル名);
fd名 = $fopen (ファイル名, タイプ);

* mcd ・・・ multichannel descriptor
  fd ・・・ file descriptor

[説明]
テキストファイルを書き込みモードでオープンし、ファイル記述子(mcd)を返す。
または、ファイルを指定したタイプ(下表)でオープンし、ファイル記述子(fd)を返す。
エラー時は0を返す。
なお、mcdにはマルチチャンネル機能がある。

タイプ 説明
テキスト バイナリ
r rb 読み込み
w wb 書き込み(ファイル新規)
a ab 追加書き込み
r+ r+b, rb+ 読み込みオープン+書き込み
w+ w+b, wb+ 書き込みオープン(ファイル新規)+読み込み
a+ a+b, ab+ 追加書き込みオープン+読み込み

[例]

$fread
ファイルをバイナリで読み込む

[書式]
戻り値 = $fread (変数名, fd名, 開始位置, 項目数);

[説明]
ファイルから変数に対してバイナリでデータを読み込み、読み込んだバイト数(文字数)を戻り値に返す。エラー時の戻り値は0。

開始位置(変数の最小アドレス番号からのオフセット)から項目数の数だけデータを読み込む。
開始位置省略時は、最小アドレス番号からとなる。
なお、データは、指定のアドレスから昇順にアロケートされる。

[例]

$fscanf
ファイルから書式付で読み込む

[書式]
戻り値 = $fscanf(fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットに従ってファイルから引数に対してデータを読み込む。
戻り値には、読み込まれた引数の数を返す。
ただし、最初の読み込み(or 失敗)の前にファイルの終端に達した場合はEOFを返す。
[例]

$fseek
ファイルの読み/書き位置を移動する

[書式]
戻り値 = $fseek (fd名, オフセット, オペレーション);

[説明]
ファイルの読み/書き位置をオペレーションの値により、
0 : ファイルの先頭
1 : 現在の位置
2 : EOF
を起点にオフセットに書かれたバイト数だけ移動し、戻り値にその読み/書き位置を返す。エラー時の戻り値はEOF(-1)。
(マイナスの値を指定すると前方に移動する)

なお、アペンド(a, a+)などで開いても、既存のデータ上へ読み/書き位置を移動できるが、データの上書きはできない。

[例]

$fstrobe
ストローブ点での結果をファイルに出力する

[書式]
$fstrobe (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
タスクが呼び出された時間(ストローブ)でのシミュレーション結果をファイルに出力する。
例えば、タスク文よりも後に対象となる引数への代入文がある場合、
$fdisplayや$fwriteが代入前の値を出力するのに対して、
$fstrobeは、代入後の値を出力する。

その他、出力末尾の改行復帰、10進表記(デフォルト)など$fdisplayと同じ。

[例]
[関連項目]

$fstrobeb/o/h
ストローブ点での結果を2/8/16進数でファイルに出力する

[書式]
$fstrobeb (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fstrobeo (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fstrobeh (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットの指定がない引数は2/8/16進表記となる。
それ以外は$fstrobeと同じ。
[例]
[関連項目]

$ftell
ファイルの読み/書き位置を調べる

[書式]
戻り値 = $ftell (fd名);

[説明]
ファイルの先頭から勘定した現在のファイルの読み/書き位置のバイト数を
戻り値に返す。エラー時の戻り値はEOF(-1)。
[例]

$fwrite
ファイルに出力する(改行復帰なし)

[書式]
$fwrite (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
タスクが呼び出された時点での引数の状態をファイルに出力する。
また、フォーマットの指定がない引数は10進表記となる。
ただし、出力の末尾は改行復帰されない。
(この点だけが$fdisplayと異なる)
[例]
[関連項目]

$fwriteb/o/h
ファイルに2/8/16進数で出力する(改行復帰なし)

[書式]
$fwriteb (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fwriteo (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );
$fwriteh (mcd名 or fd名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットの指定がない引数は2/8/16進表記となる。
それ以外は$fwriteと同じ。
[例]
[関連項目]

$readmemb/h
ファイルから2/16進表記のメモリーデータをロードする

[書式]
$readmemb (ファイル名, 変数名, 開始アドレス, 終了アドレス);
$readmemh (ファイル名, 変数名, 開始アドレス, 終了アドレス);

[説明]
ファイルから2/16進数で表記されたメモリーデータを変数に読み込む。
開始、終了アドレスにより、読み込む範囲を指定することができる。

メモリーデータは、アドレスとデータ、または、データのみのフィールドから構成され、
各フィールドは、スペースなどのセパレータにより区分けされる。

フィールド 説明
アドレス @004f "@"に続く16進数で表記する
セパレータ - スペース,タブ,改行,改ページが
使用可
データ 0_011x (2進)
0_0c6d (16進)
2/16進で表記する。
"x","X","z","Z","_"が使用可
コメント - "//", "/* */"が使用可

[例]

$rewind
ファイルの読み/書き位置を戻す

[書式]
戻り値 = $rewind (fd名);

[説明]
ファイルの現在の読み/書き位置をファイルの先頭に戻す。
$fseek (fd, 0, 0); と同じ。
[例]

$sdf_annotate
SDFをバックアノテートする

[書式]
$sdf_annotate (SDFファイル名, インスタンス, コンフィグファイル名,
ログファイル名, "遅延条件", "遅延係数", "適用タイプ");

[説明]
SDFファイルを遅延条件など各項目の内容に従ってバックアノテートする。

[例]

$sformat
書式付で変数に出力する

[書式]
$sformat (変数名, フォーマット, 引数1, 引数2, ... );

[説明]
タスクが呼び出された時点での引数の状態をフォーマットに従って変数に出力(文字列として代入)する。
[例]
[関連項目]

$sscanf
文字列から書式付で読み込む

[書式]
戻り値 = $sscanf (変数名, "フォーマット", 引数1, 引数2, ... );

[説明]
フォーマットに従って変数から引数に対してデータを読み込む。
戻り値には、読み込まれた引数の数を返す。
ただし、最初の読み込み(or 失敗)の前にファイルの終端に達した場合はEOFを返す。
[例]

$swrite
変数に出力する

[書式]
$swrite (変数名, 引数);

[説明]
タスクが呼び出された時点での引数の状態を10進表記で変数に出力(文字列として代入)する。
フォーマット指定不可。
[例]
[関連項目]

$swriteb/o/h
2/8/16進数で変数に出力する

[書式]
$swriteb (変数, 引数);
$swriteo (変数, 引数);
$swriteh (変数, 引数);

[説明]
タスクが呼び出された時点での引数の状態を2/8/16進表記で変数に出力(文字列として代入)する。
フォーマット指定不可。
[例]

$ungetc
ファイルに1文字押し戻す

[書式]
戻り値 = $ungetc (文字, fd名);

[説明]
指定したファイルのバッファに対して文字(1バイト)を出力し、
ファイルの読み/書き位置を1文字前に移動、その位置を戻り値に返す。
エラー時の戻り値はEOF(-1)。
バッファへの出力のみでファイルへの書き込みは行わない。
また、次に$fgetcすると押し戻した文字が返される。
[例]