Posts Tagged with "BSV"

既に発行済みのブログであっても適宜修正・追加することがあります。
We may make changes and additions to blogs already published.
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

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


ページ: