1

riscv ツールチェーンをインストールし、マスター ブランチ ( https://github.com/ucb-bar/rocket-chip ) のロケットチップ ジェネレーター ソースを使用して、デフォルトの構成で Verilog ソースを生成しました。

Chisel ソースを理解しようとしているので、Chisel ソースの変更を試すことができますが、これをどのように開始すればよいかわかりません。たとえば、src/main/scala/TestConfigs.scala ファイルでは、87 行目に次のコードがあります。

    class WithPrefetches extends Config(
      (pname, site, here) => pname match {
        case "COMPARATOR_PREFETCHES" => true
        case _ => throw new CDEMatchError
      })

COMPARATOR_PREFETCHES がケースとして許可されている理由に興味があり、何が「許可」され、これらの「定義」をどこで確認できるかを理解しようとしています。

正しい方向へのプッシュは高く評価されます。

4

1 に答える 1

0

開始する場所ですsrc/main/scala/Configs.scala(TestConfigs.scala は、実際のプロセッサではなく、テスト構造の生成に使用されます)。ロケットのさまざまなフレーバーを生成する方法の例が多数あります。具体的な例として、デフォルト コアを変更して FPU を削除し、DCache の関連付けを増やしたいとします。あなたは書くことができます:

class MyBetterCore extends Config (
    topDefinitions = { (pname,site,here) => pname match {
      case UseFPU => false
      case _ => throw new CDEMatchError
    }},
  knobValues = {
    case "L1D_WAYS" => 8
    case _ => throw new CDEMatchError
  }
)

class MyBetterConfig extends Config(new MyBetterCore ++ new BaseConfig)

CONFIG次に、コマンドライン変数を設定して、このコアをビルドおよびシミュレーションできます。

make CONFIG=MyBetterConfig

箱から出して安全に変更できるパラメータはすべて にありますConfigs.scala

于 2016-08-04T18:51:01.307 に答える