0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

SpinalHDL入坑之旅

jf_78858299 来源:傅里叶的猫 作者:张大侠 2023-05-05 15:57 次阅读

安装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

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工具进行安装:

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的版本,工具会自动下载:

image-20221014232150250

安装Plugin

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

image-20221010000011931

写第一个demo

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

配置build.sbt文件:

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)
  }
}

运行代码:

image-20221014233642771

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

image-20221014233712328

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

image-20221014233727623

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

    关注

    8

    文章

    327

    浏览量

    47369
  • scala
    +关注

    关注

    0

    文章

    42

    浏览量

    6417
收藏 人收藏

    评论

    相关推荐

    如何实现SpinalHDL 环境搭建

    据说SpinalHDL相比chisel更具优势,这让我有了兴趣,今天开始安装搭建。平常用的linux系统的,但是Intel IDEA安装在Ubuntu上的时候总是卡的不行,就放弃了,其实
    的头像 发表于 08-24 14:43 8643次阅读
    如何实现<b class='flag-5'>SpinalHDL</b> 环境搭建

    spinalhdl转Verilog可读性 SpinalHDL开发流程

    SpinalHDL是基于Scala全新的硬件描述语言,解决了不少Verilog等传统HDL语言的痛点,可以快速的完成某些IP的开发,和完美的融入现有的开发流程。 诚然SpinalHDL的学习路线
    的头像 发表于 07-27 09:29 2221次阅读
    <b class='flag-5'>spinalhdl</b>转Verilog可读性 <b class='flag-5'>SpinalHDL</b>开发流程

    避免!采购晶振时须牢记哪几点

    避免!采购晶振时须牢记哪几点
    发表于 06-08 07:37

    介绍STM32的一些问题及资料

    介绍STM32的一些问题及资料
    发表于 01-19 06:11

    STM32 我们要学习什么

    STM32是怎么在众多单片机里脱颖而出的?STM32,我们要学习什么?
    发表于 01-24 06:37

    聊一聊SpinalHDL 1.6.1引的blackbox inline功能

    BlackBox在之前的文章中,曾介绍过如何封装兼容别人的RTL代码:SpinalHDL——集成你的RTL代码整体的思路还是简洁明了的,相信读完后照着做很快就能上手。这对于保持设计的兼容性及混合
    发表于 06-29 16:02

    网友表示小米之后,从此苹果只是路人

    有网友表示,最初他只是个地道的果粉,却在无意间小米max,从此一发不可收拾,瞬间成为米粉。
    发表于 01-12 11:27 554次阅读

    单片机的成长之路

    写这篇文章的初衷要从最近带我一个朋友学习单片机的经历开始讲起; 我要用梁静茹给我的勇气写写如何单片机; 我的一个朋友以前是汽车电子技术专业,毕业之后去做了和汽车相关的工作,修了
    的头像 发表于 12-24 14:54 2029次阅读

    Node mcu之旅

    自工作以来许久没写博客了,趁着这两天放假休息,刚好捣鼓一下前些日子在某宝上买的Node mcu 无线模块,顺便学一下lua语言,本文主要记录该模块使用前的一些操作和遇到的一些问题,同时也希望对其他刚开始接触这个模块的人有点帮助。
    发表于 10-28 10:06 9次下载
    Node mcu<b class='flag-5'>入</b><b class='flag-5'>坑</b><b class='flag-5'>之旅</b>

    NodeMCU(ESP8266) 接入阿里云物联网平台 踩之旅

    文章目录NodeMCU(ESP8266) 接入阿里云物联网平台 踩之旅NodeMCU简介快速入门简单使用阿里云物联网简介快速入门NodeMCU(ESP8266)接入物联网平台12
    发表于 10-28 10:21 23次下载
    NodeMCU(ESP8266) 接入阿里云物联网平台 踩<b class='flag-5'>坑</b><b class='flag-5'>之旅</b>

    大学时光、单片机开发,嵌入式网站推荐

    大学时光、单片机开发,嵌入式网站推荐
    发表于 11-20 11:51 8次下载
    <b class='flag-5'>入</b><b class='flag-5'>坑</b>大学时光、单片机开发,嵌入式网站推荐

    STM32L476-1

    STM32L476-1
    发表于 12-09 14:36 18次下载
    STM32L476<b class='flag-5'>入</b><b class='flag-5'>坑</b>-1

    从Verilog到SpinalHDL

    不点蓝字,何来故事?  学习SpinalHDL已有近半年,其诚然小众,但“小家碧玉”未尝不是绝代佳人。出Verilog遥想当年本科之时画过电路PCB、玩儿过单片机、PLC,亦学...
    发表于 12-20 18:56 3次下载
    从Verilog到<b class='flag-5'>SpinalHDL</b>

    SpinalHDL中的对应关系及声明形式

    针对SpinalHDL中的两大类型Reg、Wire,来梳理下在SpinalHDL中的对应关系及声明形式。
    的头像 发表于 07-03 11:02 1547次阅读

    SpinalHDL里如何实现Sobel边缘检测

    书接上文,趁着今天休假,采用SpinalHDL做一个小的demo,看看在SpinalHDL里如何优雅的实现Sobel边缘检测。
    的头像 发表于 08-26 08:59 1276次阅读