技术标签: 生产力工具 自动生成状态机 fpga开发 自动例化 verilog语法检查 VScode
今天给大家安利一款免费的FPGA编程神器,名为Digital IDE 。你能想到的功能他都具备,你想不到的功能他也具备。如何使用见文末。
标★的是我认为非常棒的功能,并且是一般工具所不具备的。
自动生成test bench★
vivado快速仿真
iverilog快速仿真
提供前端代码设计所需的基本语言服务
该语法诊断可以针对不同的语言类型灵活使用不同的诊断器
在该功能中默认使用的是vivado系列,可以根据已有环境搭配不同的诊断组合,但当选择default时则认为关闭诊断
针对 verilog 以及 systemverilog
HDL.linting.vlog.linter 支持的有:
针对 vhdl
HDL.linting.vhdl.linter 支持的有:
针对自动语法检查导致不太好的编码体验,设置了两种触发检查的模式。运行模式在设置中 HDL.linting.mode 可进行更改,默认为auto模式,自动触发,即在打开文件和保存文件时触发语法检查功能。还有一种为手动触发的manual模式,在所需要的检查的文件页面上右击,选择 syntax check
即可对当前文件进行语法检查。
主要提示的内容为当前文件内定义的数据类型以及例化模块的相关信息。
【注】
:悬停提示使用的是内置的vlog和vhdl解析器,目前暂时只支持简单的悬停提示
【注】
:目前自动补全只支持在verilog和systemverilog中例化模块里进行端口参数例化时的补全
工程结构,以层级关系显示出HDL文件之间包含与被包含关系,单击后可打开对应的文件。
可以对选中的字符或者全文进行文档的格式化 vscode自带快捷键打开方式:shift + alt + f
HDL.formatter.vlog.default.style
verilog 和 systemverilog格式化类型,支持三种类型 kr
、ansi
、gun
HDL.formatter.vlog.default.args
其他参数输入,vlog的格式化使用的是istyle的webassembly因此要输入的参数请参考istyle
【注】
:由于该功能是基于istyle来实现的因此对全文格式化依旧不是很完善,建议选中always语句块来进行格式化,后期会持续修复相关问题。
HDL.formatter.vhdl.default.align-comments
是否需要对齐注释
HDL.formatter.vhdl.default.indentation
tab所对应的空格数量
目前只支持vhdl转Verilog的翻译功能具体使用办法见如下gif:
步骤如下:
F1
启动命令框,输入 Testbench, 选择TOOL : Testbench, 或者在需要生成并例化的文件下右击选择Testbench。【注】
: 如果想要更改初始的testbench file的内容则使用快捷键F1
启动命令框,选择TOOL : Overwrite the template of testbench,选择要更改的仿真文件的类型,这时会打开testbench file的初始化文件在此基础上更改保存即可。此外请保留 //Instance
标志,该标志是用于识别需要例化的位置。
该功能不是很建议使用,直接在tb文件中使用instance指令生成更方便。
后期会考虑tb文件与例化模块间的智能连线。
该插件支持在Verilog文件中例化Verilog和vhdl模块,同时支持在vhdl文件中例化Verilog和vhdl模块 步骤如下:
F1
启动命令框,输入instance,选择Tool.instance。或者是使用快捷键 Alt + I
进行启动,再输入需要例化的模块的关键字,选择需要例化的模块。
【注】
:在使用快捷键时其检查是否快捷键键冲突。
在0.1.18版本之后优化设计支持 include
设计
自带多文件仿真,无需 `include
支持xilinx仿真库
【注】
:此功能需要iverilog和gtkwave均加入系统环境变量
使用方式:
property.json文件中配置如下属性
"IP_REPO": [
"arm", // 包含ip CM3DbgAXI & DAPLink_to_Arty_shield
"adi" // 包含 adi 公司下所有器件ip,已去除所包含的绝对路径 取自 adi2019_r1
],
该扩展自带HDL功能库链接功能,在后端调用时,会自动加HDL库文件添加到后端工程中。
使用方式:
property.json文件中配置如下:
"HardwareLIB": {
"State": "virtual",
"Common" : [
"Math/Cordic.v",
"Math/Cordic.v"
// ...
],
"Customer" : [
"Relative path"
// ...
]
},
State 属性代表是加载到本地工作区还是作为远程进行链接。
virtual
代表从远程虚拟包含,可以打开并更改,更改之后下次导入就是更改之后的代码。real
代表将远程文件导入到该工程本地,放置到 HardwareSrc 下的lib中,此时更改不会影响库中的代码。
Common 属性代表插件自带的常见HDL功能库,该库的代码不太成熟,仅供参考。
【注】:当输入的是文件夹时则包含该文件夹下所有的文件。此外不建议直接更改该库中的代码,更改之后再在下一次插件更新之后会被重新覆盖,请慎重。目前已经经过仿真测试的lib路径如下
Xilinx_lib 属性代表插件自带的Xilinx HDL功能库,主要是xilinx专用原语的调用,仅供参考。
【注】:当输入的是文件夹时则包含该文件夹下所有的文件。此外不建议直接更改该库中的代码,更改之后再在下一次插件更新之后会被重新覆盖,请慎重。目前已经经过测试的lib路径如下
Customer 属性代表用户自定义HDL功能库。
【注】:当输入的是文件夹时则包含该文件夹下所有的文件。该属性的使用需要对setting下的PRJ.customer.Lib.repo.path进行配置用户自定义库的根目录,在配置完成之后再在Customer 属性下配置相对路径,要求 PRJ.customer.Lib.repo.path
/
Customer
能够组成该文件(夹)的绝对路径。
以上功能在实际使用中由于缺少自动补全使用时确实有点麻烦,但json下好像不支持自动补全暂时还不知道原因。
【注】
:目前只支持在标准文件结构下的工程搭建。
数字前端辅助功能是安装后即可使用,内置 Verilog 和 vhdl 的简单解析器,vhdl的支持后续有时间会完善。
数字后端辅助设计需要配置对应厂商的开发环境,相比于之前版本增加的功能不是很多,后期会继续补充。 现有支持vivado的辅助设计,使用方式如下:
步骤一:如果是新建工程则需要生成property文件,注明工程的相关配置 使用快捷键 ctrl+shfit+p/F1 打开命令框,输入 **generate property file** 来自动生成
【注】
: - 生成后进行配置,只有在保存后才会自动生成对应的文件结构。 - 通过使用快捷键 ctrl+shfit+p/F1 打开命令框,输入 overwrite 选择 Overwrite the InitPropertyParam 来改写默认的工程配置
步骤二:启动方式如下:
使用快捷键 ctrl+shfit+p/F1 打开命令框,输入 launch 选择 **FPGA:Launch** 来启动
使用快捷键 Alt+z 打开启动命令
从功能框中点击FPGA OPTIONS下的 Launch
【注】
:在设置Soc为非none时,文件结构会被更改,在文件结构更改的时候如果从有soc结构改回none,文件夹Software会被强制删除,如有重要文件请妥善保存!!!!!。
Launch 功能,开启后端功能以 property.json 文件中配置的 TOOL_CHAIN 属性为准。目前只支持vivado。launch之后会根据 property.json 文件信息生成相应的工程。如果已经有工程的会直接打开vivado的gui界面。
Simulate 功能,与在HDL文件中右键显示的simulate不同,该功能使用的是 property.json 文件中配置的 TOOL_CHAIN 属性所对应的仿真功能,即vivado自带仿真,而在其他地方打开的simulate则使用的是第三方仿真工具,用于对单个文件或者少量文件进行实时快速仿真。(目前仅iverilog)
Refresh 功能,更新xilinx工程下所包含的文件,因为包含的形式是全包含
ip_repo_paths
HardwareSrc
与 HardwareSim
下的所有HDL文件HardwareSrc
同级目录下bd和ip文件夹以及 PRJ_Path
中的所有 bd/ip 设计文件HardwareLIB
下配置的文件 (当HardwareLIB.State = "virtual")HardwareData
下的约束文件Build 功能,完成综合,布局布线,你可以在 property.json 下的 enableShowlog 里选择是否将日志在终端中输出。
enableShowlog
为true时只有当出现 CRITICAL WARNING
& ERROR
时才会弹出output栏,并只输出错误与严重警告日志。Program 功能,一键下载。只是下载暂时不支持固化。
GUI 功能,如果需要IP设计,功能时序仿真或者bd设计时选择 GUI
,之后就会自动打开图形界面。
【注】
:
HardWare
运行终端不能人为删除,删除后整个vivado的gui界面会自动关闭,若不保存则可能会导致设计丢失。HardWare
* 运行终端则不会将 PRJ_Path
文件夹下的IP和bd设计文件移动HardwareSrc
的同级目录下。虽然不会产生什么影响但分散的设计不方便管理,所以建议使用功能栏 FPGA OPTIONS 中的 Exit 进行退出。HardwareSrc
的同级目录下,同时将整个工程进行删除。【注】:SDK相关功能还不完善后续准备开放,用于替代xilinx的SDK,彻底解决xilinx SDK使用卡顿问题。
由于目前只支持vivado的相关功能,因此对于vivado开发辅助见通用功能使用说明即可。 【注】
:对于property.json文件中的 Device
属性目前已有的如下:
但支持的器件并不仅限于此,理论上可以支持vivado所能支持的所有器件,你可以直接将你的器件直接写在 Device
属性下,也可以将你的器件通过 FPGA:Add devices to the database 命令将其添加到数据库中,也可以通过 FPGA:Remove the device from the database 将其从数据库中删除。
针对 Zynq
器件在新建工程时可以通过配置bd file来快速搭建想要的Zynq平台。具体 property.json 配置如下
"SOC_MODE": {
"soc": "ps7_cortexa9_0",
"bd_file": "zynq_default"
}
插件使用 yosys 0.10
版本的内核(开源的yosysjs为0.5版本)进行指定工程的综合(可全平台运行),并展示综合后的网络图
该功能目前处于测试阶段,支持 include
以及多文件工程。
使用方式
show netlist
只需两步即可具备大部分功能:
转载自:Digital IDE (FPGA Develop Support) 开发手册-version0.1.22
更详细的使用可以从链接中的原文或者git上找:
https://github.com/Bestduan/fpga_support_plug
文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态
文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境
文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn
文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker
文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机
文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk
文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入
文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。 Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。
文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动
文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计
文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;gt;Jni-&amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图
文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法