java8环境搭建
java8下载
在官网上下载相应的版本,jdk8开头的都是java8版本,我下载的就是jdk-8u181-windows-x64.exe文件
直接双击,修改安装路径在D盘,其他设置都是默认的,如我的路径就在D:\Software\Java
安装完成后目录下有jdk1.8.0_181文件夹和jre1.8.0_181文件夹。
这时需要修改环境变量,修改了之后就可以在任何路径下使用java环境了,而不是只能在这个安装路径下使用。
直接在电脑左下角搜索“环境变量”会出来设置里的编辑系统环境变量
打开—>环境变量—>在下面的系统变量里新建—>变量名为JAVA_HOME,变量值为D:\Software\Java\jdk1.8.0_181(就是安装好的目录)—>确定
同时在系统变量里找到path变量,双击进行编辑
新建一个为%JAVA_HOME%\bin,并把它上移到最顶上。如下图:
此时打开cmd(Win+R输入cmd)
输入java -version
出来版本号即表示java安装成功
输入javac -version
表示java编译环境也安装成功。
(如打开了cmd再添加的环境变量需要重新启动一下cmd使环境变量生效才行)!
scala2.11.12环境搭建
scala下载
下载链接最下面的scala-2.11.12.msi文件
(看其他博客说要跑SpinalHDL最好安装scala2.11.12)
跟java安装一样,只需要修改安装路径,其他设置默认即可,我的路径在D:\Software\scala。
安装成功后也需要设置环境路径,跟java环境一样,如下图:
java环境是添加了JAVA_HOME这个变量再把这个变量添加到path中
scala也可以这样,同时也可以直接把路径添加到path中。
即双击path,新建一个D:\Software\scala\bin即可。
打开cmd,输入scala
会进入scala编译环境就代表scala安装成功。
sbt1.3.12安装
sbt下载
下载链接下方的sbt-1.3.12.msi文件,点击进行安装,修改路径为D:\Software\sbt,其他设置默认
安装完成后同样需要对环境变量进行设置,sbt的环境变量会自动添加到系统变量中,若没有自动添加需要手动添加一下。
由于sbt的环境搭建需要下载国外的maven镜像,会非常非常慢甚至失败,修改成国内的镜像进行下载。
首先修改sbt安装路径下的conf/sbtconfig.txt文件,在文件末尾添加:
-Dsbt.log.format=true
-Dfile.encoding=UTF8
-Dsbt.global.base=D:/Software/sbt/.sbt
-Dsbt.boot.directory=D:/Software/sbt/.sbt/boot/
-Dsbt.repository.config=D:/Software/sbt/.sbt/repo.properties
-Dsbt.ivy.home=D:/Software/sbt/.ivy2
-Dsbt.override.build.repos=true
-Xmx512M
-Xss2M
-XX:+CMSClassUnloadingEnabled
其中D:/Software/sbt/全部更改为自己的sbt安装路径。
有了这个配置后会自动生成.sbt和.ivy2文件夹,但是此时还未配置国内镜像。
在安装路径(D:/Software/sbt/)下手动新建文件夹.sbt,在.sbt文件夹下手动新建repo.properties文件(修改后缀名是properties),在其中写入:
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-releases-repo: https://repo.typesafe.com/typesafe/ivy-releases/, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
即可修改成华为云的镜像(阿里云的不太好用,没安装成功)。
打开cmd(完成上述修改后需要重启一下cmd),键入sbt
会进行下载,时间比较漫长。
下载完成出现:
IntelliJ IDEA安装和配置
IntelliJ IDEA下载
选择免费的社区版本即可满足我们编译SpinalHDL的要求
IDEA的版本号应该没有什么区别,我下载的是ideaIC-2021.1.3.exe文件,直接双击安装即可。
同样,修改安装路径在D:\Software\IntelliJ IDEA Community Edition 2021.1.3,其他设置默认。
安装完成后打开IDEA,Ctrl+Alt+S调出Settings,在Plugins中搜索Scala找到其更新时间,下载相应版本的插件。
IntellJ IDEA的scala插件下载
查看scala的update时间,那么我需要下载scala-intellij-bin-2021.1.21.zip
然后点击Setting-Plugins顶部小齿轮的Install plugin from disk…加载下载好的zip文件,等待其安装好。
跑通VexRiscv
VexRiscv项目下载
打开IntelliJ IDEA,open project打开下载好的VexRiscv整个工程文件夹。**
注意!!!要修改VexRiscv-master\project下的build.properties中的sbt版本为自己安装的版本。**
新建工程的话需要填入工程名字和相应的sbt、java、scala版本,需要与前面安装的版本对应。
打开工程后点击最下面的Build,会看到工程在自动构建,构建完成后会显示绿色对勾。
工程目录下\VexRiscv-master\src\main\scala\vexriscv\demo文件夹下是不同配置的RISCV处理器
右键GenFull.scala选择Run 'GenFull'
就会在工程大目录下生成VexRiscv.v文件了。
VexRiscv.v文件就包括一整个RISCV核的配置了,可以直接放在Vivado工具中进行仿真综合了!
在cmd中跑通VexRiscv
进入cmd,进入VexRiscv的工程目录,输入sbt “runMain vexriscv.demo.GenFull”
同样可以生成VexRiscv.v文件
可能遇到的问题
IntellJi IDEA构建工程失败
- 报错:
Error downloading org.yaml:snakeyaml:1.8
解决:Settings–>File Encoding 把编码格式改为utf-8
- 报错:
stack trace is suppressed; run 'last update' for the full output
[error] stack trace is suppressed; run 'last update' for the full output
[error] stack trace is suppressed; run 'last ssExtractDependencies' for the full output
[error] (update) lmcoursier.internal.shaded.coursier.error.FetchError$DownloadingArtifacts : Error fetching artifacts:
[error] https://repo1.maven.org/maven2/org/scalatest/scalatest_2.11/2.2.1/scalatest_2.11-2.2.1.jar: wrong checksum:C:\Users\pubyfrcx015\AppData\Local\Coursier\cache\v1\h ttps\repo1.maven.org\maven2\org\scalatest\scalatest_2.11\2.2.1\scalatest_2.11-2.2.1.jar (expected SHA-1 c60cda0186a96c61aed4983a3598c7c835074038 in C:\Users\pubyfrc x015\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scalatest\scalatest_2.11\2.2.1\.scalatest_2.11-2.2.1.jar__sha1,got 73999af645a3699704c055304d56 48a7c46a19c8)
解决:把C:\Users\pubyfrcx015\AppData\Local\Coursier\cache\v1\https\repo1.maven.org\maven2\org\scalatest\scalatest_2.11\2.2.1\下的scalatest_2.11-2.2.1.jar删除重新跑
(加载jar包的时候,出现wrong checksum问题。删除对应目录中有问题的文件,然后重新执行即可。)
PS:SpinalHDl的官方文档说明
整个工程源码,readme有整个步骤和说明
readme的中文翻译版