我是一個鑿子的新手。我將在未來幾天將其用於我的項目中,並試圖熟悉圖書館。Chisel3:如何同時獲得verilog,cpp和vcd文件
與Chisel-tutorials一起工作後,我對鑿子的工作方式有了更好的瞭解。在教程中,提供的所有東西都以一種方式組織起來,以使初學者更容易(我想這就是教程的目的!)。
現在,我想轉到下一部分,在那裏我想開發自己的小型項目,並深入探討鑿子如何使用鑿子說簡單的Mux4.scala
文件如何使用鑿子(生成verilog,cpp,vcd)。 (我正在從here獲取正確版本的Mux4模塊代碼和測試儀)。 我剛添加以下行以Mux4.scala
object Mux4Driver extends App {
chisel3.Driver.execute(args,() => new Mux4(32))
}
末直接將Verilog代碼。
我已將scala文件放在src/main/scala/
中,測試人員放在src/test/scala/
中。
這是我遇到麻煩的地方。正如jkoenig指出的,我可以使用根目錄中的命令sbt "run-main Mux4Driver"
來運行我的代碼。在這樣做,我得到三個文件,Mux4.fir
,Mux4.v
,Mux4.anno
。
但我怎樣才能得到它,我得到使用
TESTER_BACKENDS=verilator ./run-examples.sh GCD
,當我實現我自己的模塊的各種文件(下圖)。(我知道我可以通過verilog文件通過verilator來獲取cpp文件,但有沒有什麼光滑的方式來獲得所有的文件一次像教程[應該有辦法,但我無法弄清楚])
(我正在爲我的項目使用chisel-template)。
- 據我所知,編寫模塊之後,好像需要知道sbt才能成功運行代碼並生成所需的文件。我想了解如何使用sbt來組織我的項目,比如在鑿子教程中,並使用單個命令(如
./run-examples.sh mymodule
)運行它們。
我已經完成了上述問題的研究,但無法獲得清晰度。如果你能爲像我這樣的新用戶編寫幾個步驟來處理你自己的項目,我將不勝感激。
編輯:
在嘗試在答覆中提到下面的命令,我得到了以下錯誤:
而且在嘗試--help
我的選擇是從你有什麼不同建議。在匹配我的--help
輸出與輸出here我發現我沒有測試儀選項在我的輸出中。
這是一些問題與鑿子(使用Chisel3)或版本SBT我使用?
oooh,我已經看到過這些命令行選項,但在這裏不能涉及到它們。我會嘗試一下。關於如何組織像鑿子教程(使用像run-example.sh這樣的項目)的任何意見,或者不清楚我在問什麼(我也這麼認爲)? –
我不認爲有一個答案。大多數情況下,單模塊測試通常從測試工具運行。隨着您開始將模塊組合成更復雜的電路,大多數人開始創建管理其特定流程的腳本。這很大程度上取決於您的目標環境。 –
我在運行上述命令後編輯了這個問題(不能在註釋中包含輸出,如果這不是這種方式的話)。請看一看 –