flycheck支持40多种语言的实时语法检查,包括verilog/systemverilog、VHDL、python、tcl、perl等常用的芯片编程语言。
一、安装
从https://mirrors.ustc.edu.cn/elpa/nongnu/flycheck.html下载flycheck的tar安装包。
把tar包解压到emacs插件目录,并配置~/.emacs
,如下:
二、使用
1、python
安装后flycheck后,我们编辑python时就会实时显示和提示语法错误了。比如下图,可以看行号左侧有>>
符号、下划线等标记。第40行提示分号不是必须的(Unnecessary semicolon [unnecessary-semicolon])。
2、verilog/systemverilog
在安装verilator
,并把verilator/bin加到PATH之后,verilog
和systemverilog
语法也可以实时报错了,如下图:
3、tcl
tcl语言需要安装nagelfar
(一个静态检查tcl语法的工具)。检查综合脚本的效果如下:
默认nagelfar只能识别tcl语言自带的命令,而无法识别每家eda自定义的命令。所以我们需要从icc2/innovus里自动提取tcl语法database。以innovus为例:
其中,syntaxbuild.tcl是nagelfar源码包(可以从本文末尾下载)自带的工具。
在进行语法检查时需要指定syntaxdb:
4、Perl
perl语言本身就支持语法检查,加-c
option。所以安装了flycheck后,不需要额外工具就可以实时检查perl脚本的语法问题。
三、gvim里的类似插件
gvim里可以安装ale(https://github.com/dense-analysis/ale)来实现类似功能。
附相关工具的离线安装包下载:
flycheck:flycheck-35.0.tar
verilator5:verilator5.037.zip
tcl-nagelfar:nagelfar135.linux.gz
tcl-nagelfar source code:nagelfar135_source.zip
pylint whl:pylint-2.13.9-py3-whl.zip