簡體   English   中英

尋找一個好點開始為rocketchip生成器定制Chisel源

[英]Looking for a good point to start customizing the Chisel source for rocketchip generator

我已經安裝了riscv工具鏈,並使用主分支中的rocketchip生成器源生成了默認配置的verilog源代碼,地址為https://github.com/ucb-bar/rocket-chip

我想了解鑿子來源,所以我可以嘗試對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被允許作為一個案例,我正在試圖弄清楚什么是“允許”以及我在哪里可以看到這些“定義”。

推進正確的方向是值得贊賞的。

開始的地方是src/main/scala/Configs.scala (TestConfigs.scala用於生成測試結構,而不是實際的處理器)。 有很多例子說明如何生成各種風格的Rocket。 舉一個具體的例子,假設您想要修改默認核心以刪除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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM