はじめに
SystemVerilog-RNMで三角波を作成します。
サンプルコード
パラメータ
ts:サンプリング時間
step:tsあたりの変化値
max:最大値
min:最小値
`timescale 1us/1us
module top;
// パラメータ
parameter time ts = 1ms;
parameter real step = 1.0;
parameter real max = 5.0;
parameter real min = -5.0;
real data = 0;
bit up = 0;
always #ts begin
if (data > max) begin
up = 0;
end
else if (data < min) begin
up = 1;
end
data += up ? step : -step;
end
endmodule
実行結果
まとめ
SystemVerilog-RNMで三角波を作成しました。
コメント