Windows下编译运行SpinalHDL
1 About SpinalHDL
SpinalHDL是一个基于Scala语言编写HDL语法库,使能开发者基于Scala语言完成硬件电路的描述,然后自动生成Verilog或者VHDL,提升RTL开发效率,详细内容可参考知乎上的SpinalHDL专题帖,本文主要是记录一下Windows下如何构建一个SpinalHDL的开发环境。
2 安装Scala和SBT
SpinalHDL是基于Scala语言开发,因此首先要安装Scala语言包和编译环境,从Scala官网下载页下载安装包(注意安装包链接在页面的最下面),参考Scala安装帖子给的方法设置好环境变量。Scala语言使用SBT编译,Scala下载页面给出了SBT下载链接,也可以直接到SBT下载页面下载安装包,SBT安装完成后,将STB的bin目录(如:D:\app\sbt-1.4.5\bin)加入PATH环境变量。
3 下载SpinalHDL代码
从github分别下载SpinalHDL和SpinalTemplateSbt,其中SpinalTemplateSbt是基于SpinalHDL的一个基于SBT的样例工程。
3.1 编译&运行SpinalHDL
先在SpinalHDL目录下输入sbt
命令编译SpinalHDL,编译完成后进入SpinalTemplateSbt目录,运行以下命令可以测试SpinalHDL生成Verilog、VHDL以及运行仿真的功能。
//If you want to generate the Verilog of your design
sbt "runMain mylib.MyTopLevelVerilog"
//If you want to generate the VHDL of your design
sbt "runMain mylib.MyTopLevelVhdl"
//If you want to run the scala written testbench
sbt "runMain mylib.MyTopLevelSim"
运行第一条命后,生成MyTopLevel.v
文件,运行第三条命令在Windows下没有运行成功,在Linux下运行后可以顺利完成仿真,输出仿真波形。
4 致谢
本文参考了以下内容:
https://zhuanlan.zhihu.com/p/89249985
https://www.runoob.com/scala/scala-install.html
对原作者表示感谢。