8 / 36 · 概念
条件式でMUXを記述する
選択信号とデータ入力をRTLでつなぎます。
レッスンは無料で読めます。受講登録すると進捗を保存できます。
学習目標
- 選択信号とデータ入力をRTLでつなぎます。
真の分岐が先
条件式はcondition ? trueの値 : falseの値です。sel ? b : aはsel=1でb、0でaです。アルファベット順に並べて逆転させないでください。assignは一度きりの処理ではなく、入力変化に応じて組合せ関係を維持します。
assign y = sel ? b : a;
always_ff @(posedge clk)
sampled_y <= y;駆動元を一つにする
例ではyはassignだけ、sampled_yはalways_ffだけが駆動します。別ブロックからyにも代入すると競合する場合があります。まず真理値表と式を比べ、次に保存側を見ます。組合せ誤りを保存回路の追加で隠さないでください。
自分で考えてみましょう
assign y = sel ? a : b;は仕様に合う?
解説を見る
いいえ。sel=1でaを選びます。a=0,b=1なら期待1に対し0になります。
✓ 学習済み