天天看点

idea搭建scala环境_SpinalHDL(一)——环境搭建

前言

最近看到SpinalHDL的相关介绍,诸多票友觉得相比chisel更具优势,初步了解记录下,由于SpinalHDL基于Scala,对该类型语言并未接触,优先学习思想为主,环境搭建采用Intel IDEA 进行搭建,其中遇到些许坑,做下记录。

Intel IDEA安装

IDEA采用Community版即可,从官网下载,step by step。

安装完成后需安装Scala插件。

JDK安装

Scala需要java SDK 1.8,从Oracle官网下载即可。

Scala安装

Scala建议采用2.11.12版本(尝试过其他版本,但使用SpinalHDL中遇到各种问题,以学习SpinalHDL为主,不折腾环境)。从Scala官网下载(https://www.scala-lang.org/),随后将scala加载到idea中(网上有诸多搭建scala环境教程)

SpinalHDL Example run

SpinalHDL本质上是一个Scala的libary,采用创建Scala工程的方式创建即可 :

idea搭建scala环境_SpinalHDL(一)——环境搭建
idea搭建scala环境_SpinalHDL(一)——环境搭建

创建完成工程后,在目录结构下会有一个build.sbt文件,在其中设置SpinalHDL库即可

idea搭建scala环境_SpinalHDL(一)——环境搭建

将下述内容填充到build.sbt中:

name 
           

等待工具自动加载完成后可看到spinalHDL已成功加载

idea搭建scala环境_SpinalHDL(一)——环境搭建

创建新的module(File->New->Module)

idea搭建scala环境_SpinalHDL(一)——环境搭建
idea搭建scala环境_SpinalHDL(一)——环境搭建

创建Scala文件:

idea搭建scala环境_SpinalHDL(一)——环境搭建
idea搭建scala环境_SpinalHDL(一)——环境搭建

编写SpinalHDL测试程序:

import 
           

运行该程序,执行正常:

[Runtime] SpinalHDL v1.4.0    git head : ecb5a80b713566f417ea3ea061f9969e73770a7f
[Runtime] JVM max memory : 3641.0MiB
[Runtime] Current date : 2020.06.07 22:41:42
[Progress] at 0.000 : Elaborate components
[Progress] at 0.232 : Checks and transforms
[Progress] at 0.312 : Generate Verilog
[Done] at 0.361
           

成功执行后会生成一个systemverilog rtl文件,生成的rtl代码如下:

// Generator : SpinalHDL v1.4.0    git head : ecb5a80b713566f417ea3ea061f9969e73770a7f
           

生成的RTL代码可读性相对来说与手工编写RTL代码差距不大,或许SpinalHDL后续也是一个发展方向之一。