首页 > 其他分享 >[1]SpinalHDL安装环境

[1]SpinalHDL安装环境

时间:2023-01-14 22:44:54浏览次数:69  
标签:sbt scala SpinalHDL Scala 环境 hw projectname 安装 环境变量

[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右击出现菜单栏,然后找到”运行文件“

标签:sbt,scala,SpinalHDL,Scala,环境,hw,projectname,安装,环境变量
From: https://www.cnblogs.com/msuad/p/17052718.html

相关文章

  • 【linux】在linux上安装nodejs
    在linux上安装nodejs1.到官网上下载linux的源码包sourcecode(https://nodejs.org/en/download/)并上传2.使用解压命令解压tar-xvfnode-v10.14.1-linux-x64.tar.xz3.进入到......
  • 【linux】在linux上安装elasticsearch
    在linux上安装elasticSearch使用​​wget​​命令下载/下载好上传到服务器上wgethttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz(安......
  • 安装sentinel控制台
    安装sentinel控制台☞​​博客导航​​,​​带你有序的阅读和学习!​​文章目录​​安装sentinel控制台​​​​下载​​​​启动​​​​修改登录信息​​前面我们结束了na......
  • Elasticsearch 入门:安装 curl 及加载案例数据
    curl是利用URL语法在命令行方式下工作的开源文件传输工具。关于curl的介绍,参考官网:​​https://curl.haxx.se/​​安装curlwgethttp://curl.haxx.se/download/curl-7......
  • Elasticsearch 入门:CentOS 5.6 安装 Elasticsearch 5.0
    0.操作系统:CentOSrelease5.6i686athloni386GNU/Linux1.安装javajdk1.8(参考:​​Centos6.5安装java及设置默认jdk版本​​)2.下载安装包:​​​elasticsearch-5.......
  • Docker安装与卸载(基本命令)
    title:Docker安装与卸载(基本命令)date:2022-08-2422:54:40tags:-Dockercategories:-DockerDockers的安装搭建参考:https://www.cnblogs.com/j......
  • CF生化全模式全装备单机版安装教程(基于CSOL)
    喜欢玩CF单机版的朋友平时应该接触过一些基于CS1.6的单机版,但是这种版本有些特性就是:改了分辨率就容易进不去游戏;变为幽灵时被枪射击时会出现视角乱晃的情况;游戏过程中场景......
  • VS2022/CLion配置环境变量(再也不用复制dll/配置系统环境变量啦)
    事情的起因是我想在VS里使用OpenCV和LibTorch外部库,在按照网上的步骤设置好包含目录、库目录等后(参考百度即可)​一般还需要我们在系统环境变量path里配置一些dll的目录........
  • VMware 14.0软件安装包下载及安装教程
    转载VMware14.0软件安装包下载及安装教程-哔哩哔哩(bilibili.com) VMware14.0软件简介:VMware14.0是一款专业强大的的虚拟机工具。通过VMwareWorkstation软件,用......
  • Docker 安装mysql8
    1、获取镜像dockerpullmysql:82、创建数据卷必须创建数据卷,不然容器挂了数据就丢了dockervolumecreatemysql-data#创建dockervolumels#查看所有数据......