spyglass lint 总结
spyglass lint可对Verilog, VHDL, SystemVerilog等语言进行RTL检查,包括
1)语法检查、代码风格、IP重用规则等
2)位宽不匹配、不完整的case语句,缺少默认条件,缺少else子句、由关系运算符或算术运算符导致的精度损失、缺少驱动
3)可综合性检查
4)仿真过程中可能出现的问题(竞争与冒险、时钟,选择,启用,复位信号设定为常量、未使用的逻辑门、浮空的引脚)
5)结构检查(组合逻辑环路、锁存器及三态输出、控制信号用作数据信号、扇出超过一定数量)
spyglass lint 使用
启动Spyglass软件
source spyglass.env #设置环境变量
spyglaas -gui #启动软件
读入.v文件
read_file -type hdl /mnt/hgfs/share/top.v
read_file -type hdl /mnt/hgfs/share/A2.v
…….
读入lib文件
read_file -type gateslib /mnt/hgfs/share/slow.lib
设定top模块
set_option top top.v
使能设计读入过程中进行综合
set_option designread_enable_synthesis yes
选择综合的模式
set_option designread_synthesis_mode base
不同模式的区别如下:
对设计进行综合
compile_design –top top
查看设计中的各个模块
gui_open_schematic -ms
点击某个模块,查看其内部
设定检查目标并运行检查
在Goal Setup选项卡中选择要检查的规则类型。
对应到shell中命令如下:
current_goal lint/lint_rtl -top top.v
run_goal