[1]SpinalHDL安装环境
[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
sbtmust be used only at the root of the project, in the folder containingbuild.sbt.
四、CLI with sbt
- cli是命令行
- 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,另一个sbt 和mil二选一选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安装环境的更多相关文章
- [原]CentOS7.2最小安装环境部署Asp.NET Core笔记
转载请注明原作者(think8848)和出处(http://think8848.cnblogs.com) 写在前面的话 不知不觉在cnblogs上注册已经10多年了,看我的园龄就直接暴露了我实际年龄, ...
- 搜集资料&安装环境
开始入坑DSP,芯片是TI的TMS320C6678,硬件平台为TI官方的TMS320C6678L开发板. 官方给的资料有很多,各种用户手册.软件支持包,眼花缭乱.先尝试把开发环境搭起来,跑个Hello ...
- Cobbler学习之一--Fedora17下配置Cobbler安装环境
1:Cobbler是什么 Cobbler是一大Linux装机利器,可以快速的建立网络安装环境. 2:安装Cobbler需要的组件 createrepo httpd (apache2 for Debia ...
- android 入门-安装环境
1.安装jdk 相关链接 2.安装adt 里面包含eclipse 3.下载androidsdk 4.打开eclipse 找到windows -> 属性 -> android 主目录 复制 ...
- Dynamics AX 2012 R3 Demo 安装与配置 - 配置安装环境 (Step 1)
AX 2012 R3 发布后,Reinhard一直想体验一把,可是Reinhard所在的公司暂时不会升级到R3版本.这不,Reinhard就打算在个人电脑上安装下,可是安装的过程中,遇到了很多问题,R ...
- windows2008一键安装环境的配置说明
windows 2008 一键安装包下载地址为 http://gongdan.oss-cn-hangzhou.aliyuncs.com/market/cmISV/34320/product/cmgj0 ...
- Solr使用初探——Solr的安装环境与配置
Solr是一个apache名下很好用的开源索引.搜索工具,网上的资料虽多但很杂,笔者花了一天的时间对Solr进行了较为初步的研究,对Solr的基础应用做了一定的总结.文中涉及到的配置方法并不唯一,AP ...
- 批量Linux 网络安装环境建立工具cobbler/kickstart
批量Linux 网络安装环境建立工具网络安装服务器套件: Cobbler(Red Hat 2008年发布的项目) Kickstart(Red Hat08年前项目,相关脚本令人望而却步,现 ...
- 用Node.JS+MongoDB搭建个人博客(安装环境)(一)
Node.JS是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Nod ...
- zabbix2.2部署安装(安装环境Centos 6.* X64)
1.在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包: 安装epel源:rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64 ...
随机推荐
- java集合框架复习----(4)Map、List、set
文章目录 五.Map集合[重要] 1.hashMap 六.Collections工具类 总结 集合的概念 List集合 set集合: Map集合 Collection 五.Map集合[重要] 特点: ...
- Java实现7种常见密码算法
原创:扣钉日记(微信公众号ID:codelogs),欢迎分享,转载请保留出处. 简介 前面在密码学入门一文中讲解了各种常见的密码学概念.算法与运用场景,但没有介绍过代码,因此,为作补充,这一篇将会介绍 ...
- 8.uvloop
uvloop是asyncio的事件循环的替代方案,性能高于默认asyncio的事件循环的效率,相当于提升两倍,效率可以比肩Go pip3 install uvloop import asyncio ...
- 事件循环Event Loop
在 事件循环 期间的某个时刻,运行时会从最先进入队列的消息开始处理队列中的消息.被处理的消息会被移出队列,并作为输入参数来调用与之关联的函数.正如前面所提到的,调用一个函数总是会为其创造一个新的栈帧. ...
- 前后端分离项目(九):实现"添加"功能(后端接口)
好家伙,来了来了,"查"已经完成了,现在是"增" 前端的视图已经做好了,现在我们来完善后端 后端目录结构 完整代码在前后端分离项目(五):数据分页查询(后端 ...
- 2022-11-09 Acwing每日一题
本系列所有题目均为Acwing课的内容,发表博客既是为了学习总结,加深自己的印象,同时也是为了以后回过头来看时,不会感叹虚度光阴罢了,因此如果出现错误,欢迎大家能够指出错误,我会认真改正的.同时也希望 ...
- 2.mysql-库表行管理
1.数据库管理 1.1 SQL语句 1.1.1 查看当前所有的数据库 show databases; 1.1.2 创建数据库 create database 数据库名; create databse ...
- 【OpenStack云平台】SecureCRT 连接 CentOS虚拟机
1.安装SecureCRT SecureCRT是一款支持SSH等协议的终端仿真软件,可以在windows下登录Linux服务器,这样大大方便了开发工作.安装SecureCRT可以通过网上的各种教程安装 ...
- Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作
目录 一.MySQL简介 二.安装与下载 1.下载流程 2.配置环境变量 三.主要目录介绍 四.基本使用 五.系统服务的制作 六.密码相关 1.修改管理员密码 2.忘记密码 一.MySQL简介 M ...
- 一次MTU问题导致的RDS访问故障
导语 VPN是一种通过公网连接两个或多个私网站点的专用网络,使得这些站点仿佛是通过专线连接在一起.IPSec是一套协议框架,用于保证数据传输的私密性,完整性,真实性.但是VPN网络经常会带来一些连通性 ...