Menu
Coddy logo textTech

チャレンジ - 上限付き合計

CoddyのVerilogジャーニー「RTL設計と検証」セクションの一部。レッスン 38/38。

challenge icon

チャレンジ

中級

signed 8ビットのサンプルを、イネーブルされた立ち上がりエッジで signed q に累積し、-128 と 127 で飽和させます。飽和が発生するたびに sticky clipped を設定し、一度設定されると rst または clear まで設定されたままになります。2つの同期制御 clear は q と clipped をクリアし、en より優先されます。無効化されたエッジでは、両方の値を保持します。出力列は q、clipped です。すべての制御信号とデータは各立ち上がりクロックエッジの前に安定しており、結果はその後に観測されます。

design.v を完成させ、モジュール名とポートを維持してください。ロックされた testbench.v は入力を変更し、値が安定した後に出力を表示します。シミュレータ引数(+CASE=1 など)を使用してシナリオを選択します。標準入力は必要ありません。デザインに表示、遅延、またはシミュレーション終了処理を追加しないでください。期待される出力は、観測ごとに10進値を1行にまとめ、値を1つのスペースで区切り、改行で終わる形式です。

自分で試してみよう

module dut (input clk, input rst, input clear, input en, input signed [7:0] sample, output reg signed [7:0] q, output reg clipped);
    // このプレースホルダーをあなたの設計に置き換えてください。
    initial q = 0;
    initial clipped = 0;
endmodule

RTL設計と検証のすべてのレッスン

自分で練習してみよう: Verilogオンラインコンパイラ