Posts Issued on October 12, 2023

posted by sakurai on October 12, 2023 #677

次に、下位モジュールにおいて、入力信号をレジスタ受けではなく、ワイヤ受けに変更します。以下に修正部分のみを示します。

Processor.bsv:

 Reg#(Bool) if_wait <- mkWire;
 Reg#(Bool) mc_wait <- mkWire;
 Reg#(Bool) ex_wait <- mkWire;
 Reg#(Bool) ma_wait <- mkWire;

この場合は上位がRegisterですが、下位はWireであるため、図677.1に示すようにwait信号は遅れません。上位で変化したサイクルでそのまま下位に伝わります。

図%%.1
図677.1 ウエイト伝播

前稿でも同様ですが、上位ではサイクル毎に下位にwait信号を伝えるルールを記述しています。

Tb.bsv:

rule load_wait_values;
    proc.if_wait_load(if_wait);
    proc.mc_wait_load(mc_wait);
    proc.ex_wait_load(ex_wait);
    proc.ma_wait_load(ma_wait);
endrule

左矢前のブログ 次のブログ右矢