2016-12-01 29 views
0

我是新來的鑿子。目前,我正在使用chisel3來關注chisel-tutorial wiki。克隆鑿子項目模板後,我嘗試測試並從GCD.scala源文件生成verilog輸出。我得到了以下錯誤。在鑿子項目模板中編譯鑿子源文件

> run --v 
java.lang.RuntimeException: No main class detected. 
    at scala.sys.package$.error(package.scala:27) 
[trace] Stack trace suppressed: run last compile:run for the full output. 
[error] (compile:run) No main class detected. 
[error] Total time: 0 s, completed Dec 1, 2016 12:28:46 AM 

所以下面一個解決辦法,我一個郵件列表上找到(這個同樣的問題)我插入GCD.scala結束下面的代碼塊文件

object GCDMain { 
def main(args: Array[String]): Unit = { 
    chiselMainTest(Array[String]("--backend", "c", "--genHarness"), 
     () => Module(new GCD())){c => new GCDTests(c)} 
} 
} 

但我仍然得到同樣的錯誤。 (我加了GCDTests類太)

回答

1

在移動從鑿2至3鑿,鑿開發商爲促進鑿的設計ScalaTest式測試的決定。鑿模板回購提供了可以與命令sbt test可以運行一個測試(關於與SBT測試的更多信息,請參見http://www.scala-sbt.org/0.13/docs/Testing.html)。運行此命令將生成Verilog並運行一些執行驅動的測試以顯示示例代碼的工作原理。

您在郵​​件列表中找到的GCDMain將在鑿子2中工作,但對鑿子3不起作用。如果您只想要Verilog並且不運行任何測試,請參閱Is there a simple example of how to generate verilog from Chisel3 module?

+0

謝謝jkoenig。我會試試這個 – isuru

+0

對不起,如果這是一個菜鳥問題。我從基本目錄中運行sbt測試並出現錯誤。我搜索了這個網站和郵件列表。但找不到解決方案。 BTW sbt測試在鑿子教程目錄中運行良好。它僅在模板回購中發生錯誤。由於它太長,我會發布部分錯誤輸出。 [錯誤] /home/isuru/fyp/ChiselProjects/TrialProject/src/test/scala/examples/GCD.scala:6:未找到:類型GCD [錯誤]類GCDTests(C:GCD)延伸PeekPokeTester(C){ – isuru

+0

就像一個健全的檢查,你使用鑿子教程或鑿子模板回購?據我所知,class GCDTests不存在於鑿子模板中,但存在於鑿子教程中。 – jkoenig