[1]SpinalHDL安装环境

最好的教程是官方文档!不过推荐英文文档

英文版

中文版

一、安装java环境

SpinalHDL相当于是scala的一个包,而scala是运行在jvm上的。所以我们先安装jdk。

安装jdk(openjdk-19)略

二、安装Scala

百度搜索Scala,进入Scala官网(有兴趣可以看看get start文档,能快速了解scala语言特性)

进入其下载界面https://www.scala-lang.org/download/

其实他get start界面也有下载(

下载一个scala官方提供的windows下崽器(?)cs,开好网络(最好科学一下),双击打开

整个时间比较长,大概半小时左右(科学的情况下),你可以泡杯咖啡打吧游戏~

ps.需要注意的是,这个下载器有的时候感觉会卡住,如果你看见你电脑网络没有下行速度,而下载器也一动不动,那可以尝试关掉黑框框重新打开。当然,整个安装时间是比较长的。

安装完以后,黑框框会自己消失,然后重启电脑以刷新环境变量(如果你会命令行刷新环境变量也行)

如何命令行刷新环境变量:

Ctrl+R 输入 cmd,输入set PATH=C: 然后回车,关闭重新打开,然后环境变量就刷新了

三、准备样板工程

1.克隆工程

git clone --depth 1 https://github.com/SpinalHDL/SpinalTemplateSbt.git MySpinalProject
cd MySpinalProject
rm -rf .git
git init
git add .
git commit -m "Initial commit from template"

2.目录结构

Note

The structure described here is the default structure, but it can be easily modified.

译文:目录结构身娇腰柔易推倒~

In the root of the project are the following files:

File Description
build.sbt Scala configuration for sbt
build.sc Scala configuration for mill, an alternative to sbt
hw/ The folder containing hardware descriptions
project/ More Scala configuration
README.md A text/markdown file describing your project
.gitignore List of files to ignore in versioning
.mill-version More configuration for mill
.scalafmt.conf Configuration of rules to auto-format the code

As you probably guessed it, the interesting thing here is hw/. It contains four folders: spinal/, verilog/ and vhdl/ for your IPs and gen/ for IPs generated with Spinal.

hw/spinal/ contains a folder named after your project name. This name must be set in build.sbt (along with the company name) and in build.sc; and it must be the one in package yourprojectname at the beginning of .scala files.

In hw/spinal/yourprojectname/, are the descriptions of your IPs, simulation tests, formal tests; and there is Config.scala, which contains the configuration of Spinal.

Note

sbt must be used only at the root of the project, in the folder containing build.sbt.

四、CLI with sbt

  1. cli是命令行
  2. sbt是scala的构建工具,类似于gcc的make

好,让我们开始

1.初始化

sbt 有非常长的启动时间(类似于npm init)

sbt

首次编译并且获取依赖

compile

只用compile一次,后面会自动compile,进行增量编译(前提是不把这个命令窗关了)

2.生成verilog

type runMain, space, and tab

sbt:projectname> runMain
; projectname.MyTopLevelVerilog
projectname.MyTopLevelFormal projectname.MyTopLevelVhdl
projectname.MyTopLevelSim

tab and tab again,选择你要干啥(看选项易得)

3.持久化运行

~ runMain projectname.MyTopLevelVerilog

四、VSCode

1.前提条件:

安装好jdk11、jdk17,比如最新的jdk19好像不大行。

注意:需要在环境变量中添加JAVA_HOME,值要填安装的根目录(bin文件夹所在的那个目录),然后你可以在PATH中使用%JAVA_HOME%\bin形式,通过修改JAVA_HOME的值来做到版本切换

笔者一开始搞得时候是openjdk19,然后报错说找不到java,而我已经加了JAVA_HOME的环境变量,然后我装了java17,能用,再切回java19,也能用。。。。后来想想也许是set PATH=C:的方法不能全局刷新环境变量,比如vsc,所以至少注销然后重新登陆。

2.使用

右下角会跳出小标,一个是选import buid,另一个sbtmil二选一选sbt

然后找到/hw/projectname/MyTopLevel.scala这么一段代码

object MyTopLevelVerilog extends App {
Config.spinal.generateVerilog(MyTopLevel())
}

会看见上面飘着run|debug点击run生成verilog代码

五、Idea

方法一

文件-->打开-->正常打开项目,等待他构建sbt

找到\hw\spinal\projectname\MyTopLevel.scala右击出现菜单栏,然后找到”运行文件“

方法二(官方文档这么说的)

文件-->新建-->来自现有代码的项目,全勾上(以下为官方文档的描述)

the choose the Import project from external model SBT and be sure to check all boxes

找到\hw\spinal\projectname\MyTopLevel.scala右击出现菜单栏,然后找到”运行文件“

[1]SpinalHDL安装环境的更多相关文章

  1. [原]CentOS7.2最小安装环境部署Asp.NET Core笔记

    转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 写在前面的话 不知不觉在cnblogs上注册已经10多年了,看我的园龄就直接暴露了我实际年龄, ...

  2. 搜集资料&安装环境

    开始入坑DSP,芯片是TI的TMS320C6678,硬件平台为TI官方的TMS320C6678L开发板. 官方给的资料有很多,各种用户手册.软件支持包,眼花缭乱.先尝试把开发环境搭起来,跑个Hello ...

  3. Cobbler学习之一--Fedora17下配置Cobbler安装环境

    1:Cobbler是什么 Cobbler是一大Linux装机利器,可以快速的建立网络安装环境. 2:安装Cobbler需要的组件 createrepo httpd (apache2 for Debia ...

  4. android 入门-安装环境

    1.安装jdk 相关链接 2.安装adt 里面包含eclipse 3.下载androidsdk 4.打开eclipse 找到windows -> 属性 -> android 主目录 复制 ...

  5. Dynamics AX 2012 R3 Demo 安装与配置 - 配置安装环境 (Step 1)

    AX 2012 R3 发布后,Reinhard一直想体验一把,可是Reinhard所在的公司暂时不会升级到R3版本.这不,Reinhard就打算在个人电脑上安装下,可是安装的过程中,遇到了很多问题,R ...

  6. windows2008一键安装环境的配置说明

    windows 2008 一键安装包下载地址为 http://gongdan.oss-cn-hangzhou.aliyuncs.com/market/cmISV/34320/product/cmgj0 ...

  7. Solr使用初探——Solr的安装环境与配置

    Solr是一个apache名下很好用的开源索引.搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结.文中涉及到的配置方法并不唯一,AP ...

  8. 批量Linux 网络安装环境建立工具cobbler/kickstart

    批量Linux 网络安装环境建立工具网络安装服务器套件:     Cobbler(Red Hat 2008年发布的项目)    Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现 ...

  9. 用Node.JS+MongoDB搭建个人博客(安装环境)(一)

    Node.JS是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Nod ...

  10. zabbix2.2部署安装(安装环境Centos 6.* X64)

    1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包: 安装epel源:rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64 ...

随机推荐

  1. python学习笔记---流程控制

    二.流程控制 2.1选择结构与语句 2.1.1 最简单的if语句 注意:if语句后边必须加上冒号 满足条件后.可以执行多条语句. #最简单的if语句 print("请输入一个既能整除2,又能 ...

  2. 关于针对XSS漏洞攻击防范的一些思考

    众所周知,XSS几乎在最常见.危害最大的WEB漏洞.针对这个危害,我们应该怎么防范呢. 下面简单说一下思路. 作者:轻轻的烟雾(z281099678) 一.XSS漏洞是什么 XSS漏洞网上的资料太多, ...

  3. scrapy 如何使用代理 以及设置超时时间

    使用代理 1. 单文件spider局部使用代理 entry = 'http://xxxxx:xxxxx@http-pro.abuyun.com:xxx'.format("帐号", ...

  4. Python基础之函数:2、globlal与nonlocal和闭包函数、装饰器、语法糖

    目录 一.global与nonlocal 1.global 2.nonlocal 二.函数名的多种用法 三.闭包函数 1.什么是闭包函数 2.闭包函数需满足的条件 3.闭包函数的作用 4.闭包函数的实 ...

  5. 【深入浅出 Yarn 架构与实现】2-4 Yarn 基础库 - 状态机库

    当一个服务拥有太多处理逻辑时,会导致代码结构异常的混乱,很难分辨一段逻辑是在哪个阶段发挥作用的. 这时就可以引入状态机模型,帮助代码结构变得清晰. 一.状态机库概述 一)简介 状态机由一组状态组成: ...

  6. Go语言核心36讲26

    你好,我是郝林.今天我分享的主题是测试的基本规则和流程的(下)篇. Go语言是一门很重视程序测试的编程语言,所以在上一篇中,我与你再三强调了程序测试的重要性,同时,也介绍了关于go test命令的基本 ...

  7. Go语言核心36讲15---结构体

    我们都知道,结构体类型表示的是实实在在的数据结构.一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型. 前导内容:结构体类型基础知识 当然了,结构体类型也可以不包含任何字段,这样并 ...

  8. Ubuntu 20.04 开启root权限登陆、网卡配置

    个人名片: 对人间的热爱与歌颂,可抵岁月冗长 Github‍:念舒_C.ying CSDN主页️:念舒_C.ying 个人博客 :念舒_C.ying Ubuntu 20.04 开启root权限登陆.网 ...

  9. Destination folder must be accessible

    问题 Ecplise拖入文件夹项目时提示错误:Destination folder must be accessible 解决 导入的时候包不能直接拖入,要使用import导入,选择File-> ...

  10. Android开发之线程间通信

    Android开发之线程间通信 当我们的软件启动的时候,计算机会分配进程给到我们运行的程序,在进程中包含多个线程用于提高软件运行速度. 在android网络请求中,我们知道在日常开发中不能在子线程中跟 ...