generate for (i = 0; i < N; i = i + 1) begin: R
  always @* begin
    // ターゲット・デコーダ
    T00[i]  = T0 == i;
    T01[i]  = T0 == (i|N);
    T10[i]  = T1 == i;
    T11[i]  = T1 == (i|N);
    B[i]  = BID == DBID[i];

    // 次のアクティブレディ状態ロジック
    RT_NXT[i]  = RT[i] | DRT[i]
        | (RT_EN & (T01[i]|T11[i]|B[i]));
    RF_NXT[i]  = RF[i] | DRF[i]
        | (RF_EN & (T00[i]|T10[i]|B[i]));
    R0_NXT[i]  = R0[i] | DR0[i]
        | (R0_EN & (T00[i]|T10[i]|B[i]));
    R1_NXT[i]  = R1[i] | DR1[i]
        | (R1_EN & (T01[i]|T11[i]|B[i]));
    INH_NXT[i]  = INH[i] | (INH_EN & (IID == i));
    RDY_NXT[i]  = RT_NXT[i] & RF_NXT[i] & R0_NXT[i]
        & R1_NXT[i] & ~INH_NXT[i];
  end
end endgenerate

リスト1:並列スケジューラー `` next readys ''ロジック