1.背景 在大型項目開發過程中,經常會遇到列印大量日誌,輸出信息和在源碼中寫註釋的情況。對於軟體開發來說,我們一般都是列印輸出英文的日誌(主要考慮軟體在各種環境下的相容性,如果列印中文日誌可能會出現亂碼,另外英文日誌更容易搜索,更容易後續做國際化),但是對於我們中國人來說,很容易就把中文全形的中文標 ...
1.安裝Java
官方下載地址:https://www.oracle.com/cn/java/technologies/javase/downloads/#java8
2.安裝sbt
官方下載地址:https://www.scala-sbt.org/download.html
下載後解壓縮,將sbt文件夾放到想要安裝的位置
或者直接下載.msi文件後安裝
然後配置環境變數:將sbt文件夾下的bin添加到環境變數中的Path中
然後打開sbt文件夾
在/sbt/conf
文件夾下創建repo.properties
文件,裡面加入如下內容:(設置從鏡像下載依賴,這裡選擇的是阿裡雲的鏡像)
[repositories]
local
aliyun: https://maven.aliyun.com/nexus/content/groups/public
在sbtconfig.txt
中增加如下內容:
-Dsbt.override.build.repos=true
-Dsbt.repository.config=D:\sbt\conf\repo.properties
-Dsbt.ivy.home=D:\sbt\.ivy\
-Dsbt.log.format=true
-Dsbt.boot.directory=D:\sbt\boot\
-Dsbt.global.base=D:\sbt\.sbt\
註:等號和地址之間不能加空格
在vscode中下載Scala Syntax(official)
插件,實現語法高亮
接下來我們寫一個程式試驗一下:
建立一個文件夾在vscode中打開
在終端中打開cmd
,輸入sbt
,顯示沒有找到build.sbt,輸入c以繼續,則會自動生成一些目錄
第一次運行sbt時會比較慢
新建文件hello.scala
,在裡面輸入如下內容:
object HelloWorld {
def main(args: Array[String]) = println("Hello, world!")
}
在cmd中輸入compile
進行編譯,成功
再輸入run
運行,成功輸出"Hello World"
3.配置chisel
在https://github.com/schoeberl/chisel-empty 上克隆一個叫chisel-empty
的文件夾
在建一個chisel項目時,把該文件夾下的build.sbt
和scr
拷貝到你的項目的文件夾下
在\scr\main\scala
下存放自定義的工程文件,在\scr\test\scala
下放測試代碼。chisel-empty
中自帶有一個加法器
文件夾下打開cmd,輸入sbt run
出現如下信息,chisel可以正常運行,在generated
文件夾下可以看到生成的verilog文件
E:\codes\chiseltest>sbt run
[info] Updated file E:\codes\chiseltest\project\build.properties: set sbt.version to 1.6.2
[info] welcome to sbt 1.6.2 (Oracle Corporation Java 18.0.1.1)
[info] loading project definition from E:\codes\chiseltest\project
[info] loading settings for project chiseltest from build.sbt ...
[info] set current project to chiseltest (in build file:/E:/codes/chiseltest/)
[info] compiling 1 Scala source to E:\codes\chiseltest\target\scala-2.12\classes ...
[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.13. Compiling...
[info] Compilation completed in 5.826s.
[info] running empty.AddMain
Generating the adder hardware
[success] Total time: 24 s, completed 2022騫?鏈?1鏃?涓嬪崍9:48:36
[0J
輸入sbt test
,運行測試程式,結果如下
E:\codes\chiseltest>sbt test
[info] welcome to sbt 1.6.2 (Oracle Corporation Java 18.0.1.1)
[info] loading project definition from E:\codes\chiseltest\project
[info] loading settings for project chiseltest from build.sbt ...
[info] set current project to chiseltest (in build file:/E:/codes/chiseltest/)
[info] compiling 1 Scala source to E:\codes\chiseltest\target\scala-2.12\test-classes ..
[info] AddTester:
[info] Add
[info] - should work
[info] Run completed in 2 seconds, 264 milliseconds.
[info] Total number of tests run: 1
[info] Suites: completed 1, aborted 0
[info] Tests: succeeded 1, failed 0, canceled 0, ignored 0, pending 0
[info] All tests passed.
[success] Total time: 6 s, completed 2022騫?鏈?1鏃?涓嬪崍9:51:01
[0J
參考:
https://blog.csdn.net/a18792721831/article/details/122904465
https://blog.csdn.net/a18792721831/article/details/122871070
https://www.cnblogs.com/lenmom/p/10364078.html
https://blog.csdn.net/qq_34291505/article/details/87365907