[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. 插入排序算法(Java代码实现)

    其它经典排序算法:https://blog.csdn.net/weixin_43304253/article/details/121209905 插入排序算法: 思路:将数据分为已经排序好的数据和未排 ...

  2. springboot+mybatis+shiro项目中使用shiro实现登录用户的权限验证。权限表、角色表、用户表。从不同的表中收集用户的权限、

    要实现的目的:根据登录用户.查询出当前用户具有的所有权限.然后登录系统后.根据查询到的权限信息进行不同的操作. 以下的代码是在搭好的框架之下进行的编码. 文章目录 核心实现部分. 第一种是将用户表和角 ...

  3. IP分类与子网划分

    1.IP地址的格式  每一类地址都由两个固定长度的字段组成: (1)网络号 net-id:它标志主机(或路由器)所连接到的网络 (2)主机号 host-id:它标志该主机(或路由器).   最大可指派 ...

  4. Android开发 对接微信分享SDK总结

    原文:Android开发 对接微信分享SDK总结 - Stars-One的杂货小窝 公司项目需要对接微信分享,本来之前准备对接友盟分享的,但友盟的分享实际参数太多,而我又只需要对接一个微信分享,于是便 ...

  5. beego学习———安装bee

    Bee安装 有各种坑,一会儿GOPATH的问题,一会儿局部的问题了 唉,搞了一个小时 很重要的问题!!!!!!!!!!!! beego的bee工具只能强制新建项目在GOPATH/src目录下 虽然在别 ...

  6. 自动化利器 Ansible - 从了解到应用

    本文说明 本系列使用 ansible 2.9.27 版本来说明和汇总相关信息. # cat /etc/system-release Red Hat Enterprise Linux Server re ...

  7. sql-lab 通关笔记

    sql-lab less1-4 加单引号报错得到报错信息 根据报错信息判断闭合条件 order by找字段数 union select找回显位置 找到回显位置正常爆数据 相同类型其他关卡 后端代码分析 ...

  8. Go语言核心36讲11

    至今为止,我们讲过的集合类的高级数据类型都属于针对单一元素的容器. 它们或用连续存储,或用互存指针的方式收纳元素,这里的每个元素都代表了一个从属某一类型的独立值. 我们今天要讲的字典(map)却不同, ...

  9. php变量规范命名用了记得消除,保证唯一性

    PHP中的命名规则 类的命名  在为类(class )命名前首先要知道它是什么.如果通过类名的提供的线索,还是想不起这个类是什么的话,那么就说明设计存在问题. 超过三个词组成的混合名是容易造成系统各个 ...

  10. Spring Security(1)

    您好,我是湘王,这是我的博客园,欢迎您来,欢迎您再来- 虽然说互联网是一个非常开发.几乎没有边界的信息大海,但说起来有点奇怪的是,每个稍微有点规模的互联网应用都有自己的权限系统,而权限的本质却是是封闭 ...