Verilog の Specify チートシート のバックアップ差分(No.1)
更新- 追加された行はこの色です。
- 削除された行はこの色です。
[[公開メモ]] * 概要 Specify チートシート [#d2271aa3] http://verilog.renerta.com/source/vrg00052.htm を元に。 * Specify の書き方 [#k91713ff] LANG:verilog module ... ... specify ... endspecify ... endmodule の形で module 内に specify ブロックを作成し、 モジュール内の信号同士の間のディレイを規定する。 文法は以下に示すとおり。 * パスの宣言 [#m86b7bea] LANG:verilog specify (In1 => Out1) = (10); endspecify specify specparam TRise = 10, TFall = 15; (In2 => Out2) = (TRise, TFall) ; endspecify - 入力 In1 から Out1 への遅延が単位時間の10倍 - 入力 In2 から Out2 への遅延が rise, fall 別に単位時間の10倍, 15倍 * $setup(tested_event, reference_event, limit[, notifier]) [#n1a37909] LANG:verilog specify $setup(data, posedge clk, 5); endspecify - posedge clk の前 limit より前に data が確定していることを確認する - posedge clk の前 limit の期間に data が変化したら失敗する - posedge clk と同時に data が変化するのは問題ない * $skew(reference_event, tested_event, limit[, notifier]) [#k8f50d42] $skew checks the following: - tested_event と reference_event がほぼ同時に起きていることを確認する - limit 以上離れて起きたら失敗 * $hold(reference_event, tested_event, limit[, notifier]) [#vf812997] LANG:verilog specify $hold(data, posedge clk, 5); endspecify - posedge clk の後 limit が立つまで data が変化しないことを検証する - 同時に変化するのもダメ * $recovery(reference_event, tested_event, limit[, notifier]) [#a77fdce9] - data が変化するのが posedge の後 limit 以内の期間のみであることを確認する - limit 以上離れてから data が変化したらダメ (time of data event) - (time of reference event) < limit * $setuphold(reference_event, tested_event, setup_limit, hold_limit[, notifier]) [#a5df0775] * $width(reference_event, limit, threshold [,notifier]) [#s55f8f49] LANG:verilog $width(posedge data, limit, threshold) - posedge data から negedge data までの幅が limit 以上 threshold 以下であることを検証する * $period(reference_event, limit[,notifier]) [#i46623b0] - reference_event 間の間隔が limit 以上であることを検証する * $nochange(reference_event, data_event, start_edge_offset, end_edge_offset [,notifier]) [#t3166155] - よくわからない
Counter: 12729 (from 2010/06/03),
today: 1,
yesterday: 0