SpinalHDL入坑之旅

电子说

1.3w人已加入

描述

安装JDK

下载jdk17:

wget wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz

解压:

tar -xzvf jdk-17_linux-x64_bin.tar.gz

移动到/usr目录下:

sudo mv jdk-17.0.4.1/ /usr/local/

修改环境配置文件:

sudo gvim /etc/profile

在最后一行加上:

export JAVA_HOME=/usr/local/jdk-17.0.4.1
export CLASSPATH=.:JAVA_HOME/lib
export PATH=.:JAVA_HOME/bin:$PATH

重新source 环境配置文件:

source /etc/profile

检查是否配置成功:

java -version

HDL

image-20221013234418406

安装Idea

我们后面会在IntelliJ Idea上开发,因此先安装开发环境。

方法一:

下载软件包:

https://www.jetbrains.com/idea/download/#section=linux

解压:

tar -xzvf ideaIU-2021.1.3.tar.gz

运行:

./bin/idea.sh

方法二:

直接使用Ubuntu自带的Ubuntu Software工具进行安装:

HDL

image-20221015101135248

安装完成后,可以在~/.bashrc中设计快捷启动方式:

export IDEA_HOME=/snap/intellij-idea-community/390
PATH=$PATH:$IDEA_HOME/bin
alias idea="idea.sh"

安装scala

方法一:

可以下载scala的安装包,然后进行安装,方式如下:(但我没有安装成功)

scala下载地址:必须要安装2.11.xx,这里我们安装2.11.12,下载地址如下:

https://scala-lang.org/download/2.11.12.html

安装:

sudo dpkg -i

方法二:

直接在Idea的新建工程时,选择scala的版本,工具会自动下载:

HDL

image-20221014232150250

安装Plugin

在Idea中,安装SBT Executor和Scala两个扩展包:

HDL

image-20221010000011931

写第一个demo

选择JDK位置、sbt版本(这个随意)和Scala版本(注意时2.11.12):

配置build.sbt文件:

HDL

image-20221010233234880

操作完上图的3步后,可以看到下面的提示,说明更新完成。

命名为And_Gate,也就是说我们写一个与门的程序:

Scala代码如下:

import spinal.core._

class AND_Gate extends Component {

  /**
   * This is the component definition that corresponds to
   * the VHDL entity of the component
   */
  val io = new Bundle {
    val a = in Bool()
    val b = in Bool()
    val c = out Bool()
  }

  // Here we define some asynchronous logic
  io.c := io.a & io.b
}

object AND_Gate {
  // Let's go
  def main(args: Array[String]) {
    SpinalVerilog(new AND_Gate)
  }
}

运行代码:

HDL

image-20221014233642771

可以看到,生成了一个AND_Gate.v的文件:

image-20221014233712328

内容如下,就是一个与门的逻辑。

HDL

image-20221014233727623

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分