前端学习 7:EDA 工具
目录
EDA 工具
Design Ware
Synopsys CoreTools 套件
VCS
verdi
Design Compiler
EDA 工具
常用的EDA工具主要来自三家公司:Synopsys、Cadence和Mentor(已被Siemens收购)。EDA,全称电子设计自动化(Electronics Design Automation),在数字、模拟和混合集成电路的各个开发阶段都发挥着重要作用。
🌟 RTL功能仿真:VCS+Verdi套装或ModelSim是常用的功能仿真工具。VCS用于仿真,Verdi用于波形debug,在Linux下非常好用;ModelSim则兼具仿真和波形debug功能,在Windows下常用。功能仿真阶段不区分FPGA或ASIC,工具通用;这些工具也可以进行后仿,即动态时序仿真。
形式验证: Conformal ,逻辑等效性检查(Logic Equivalence Checking, LEC)工具,属于形式验证的核心工具。常用的sign-off工具 :Primetime,
🌟 逻辑综合:Synopsys的Design Compiler(DC)是常用的逻辑综合工具。通常使用TCL脚本(工具命令语言),网上有丰富的相关资料。综合阶段还可以在工具内进行timing等分析,但结果不如PT准确。(RTL 转成网表)
可测性设计:Tessent,
布局布线:Synopsys的ICC/ICC2是常用的布局布线工具,功能强大,可以根据用户的floorplan自动完成布局优化和布线优化。工具还支持timing、DRC、LVS检查等功能,但不是sign-off工具。
额外需要会的:
1、Tcl,Perl脚本开发
2、SOC顶层模块 (时钟/复位/电源管理/低功耗/管脚复用)的设计
3、一些隐藏的前端流程:
Lint(代码规范性检查,工具 Synopsys Spyglass, RTL编码完成后立即运行)、
CDC (跨时钟域检查,工具 Synopsys Spyglass CDC。功能与目的
- 同步性验证:确保跨时钟域信号传输通过同步器(如两级触发器)处理,避免亚稳态。
- 收敛性检查:检测多信号跨时钟域汇合时的时序冲突(如glitch)。
- 复位同步:验证复位信号在不同时钟域的同步逻辑。)、
功耗分析 ( 常用工具:Synopsys PrimeTime PX(逻辑综合后)Cadence Voltus(布局布线后)。输入文件:门级网表、工艺库(.db)、寄生参数文件、开关行为文件(SAIF/VCD))
SDC 是 时序约束的行业标准格式,用于定义设计的时序、面积和功耗目标,指导综合(如Design Compiler)、布局布线(如IC Compiler)等工具优化电路。核心功能: 约束时钟(频率、不确定性、延迟)。定义输入/输出时序(setup/hold)。指定设计规则(最大电容、转换时间)。支持多电压域和低功耗设计
Design Ware
Synopsys公司提供的集成电路设计IP核库和验证工具集合,广泛应用于SoC/ASIC开发中,涵盖逻辑、算术、存储等模块,可优化综合结果并缩短设计周期。
DesignWare的核心功能与特点
- IP核库多样性:包含超过140个独立于工艺的已验证模块,如逻辑单元、算术运算器、存储器及专用元件(如8051微控制器、PCI-X、USB2.0等)。1
- 与Design Compiler集成:通过Synopsys综合工具优化设计,显著提升性能并减少开发时间。1
- 仿真模型支持:提供17万种器件功能级仿真模型,覆盖FPGA、CPU(ARM/MIPS/PowerPC)及各类总线协议(PCI-X/AMBA/Ethernet等)。
Synopsys CoreTools 套件
是一组专注于 IP核封装、集成与验证 的工具集,旨在提升基于IP的SoC设计效率与可靠性。以下是其核心组件及功能详解:
coreConsultant™ √
指导单个IP核的配置、验证与实现,生成IP-XACT XML文件,支持图形/命令行操作。
典型场景:配置AMBA AHB/AXI总线IP参数,生成定制化RTL和测试环境。
coreBuilder™:用于IP核的标准化封装,支持多抽象层次(RTL、事务级模型等)的IP描述,并生成符合 IP-XACT 标准的元数据文件。
特点:提供图形化或命令行配置界面,支持设计意图捕获与质量流控制。生成 coreKit
数据库,便于后续工具调用。
coreAssembler™:用不上。自动化IP子系统集成,生成互连逻辑、配置RTL及验证环境(如测试平台)。
优势:支持混合语言设计(Verilog/VHDL),通过TCL接口实现流程定制。与Galaxy平台集成,自动生成物理实现脚本,减少时序收敛时间。
VCS
vcs 的两步流程将仿真分为 编译(Compilation) 和 仿真(Simulation) 两个独立阶段,适用于纯Verilog/SystemVerilog设计:
编译阶段: vcs [compile options] Verilog_files
VCS构建实例层次结构并生成二进制可执行文件 simv. 该二进制可执行文件随后将用于模拟。(使用simv 跑 这个仿真)
举例:vcs -v lib_file.v -y ./lib_dir +libext+.v +incdir+./include design.v
-v filename 指定库文件;
-y directory 库目录;
+incdir+目录+:头文件搜索路径
+libext:包含+libext编译时选项,以指定VCS在这些目录中查找 文件的扩展名。
其他选项:
-full64
; 使能64位模式下的编译和仿真;
-file filename; 指定一个包含文件列表和编译时选项的文件
-verdi; 开启Verdi
-R
; 编译后立即仿真;在VCS链接后立即运行可执行文件。
-parameters filename ; 将文件中指定的参数值更改为文件中指定的值
-q ; 静音模式;会抑制一些消息,例如关于C编译器VCS正在使用的、VCS正在解析的源文件、顶级模块或指定的时间尺度相关的消息。
-V ; 详细模式;编译器驱动程序在运行C编译器、汇编器和链接器时打印它执行的命令。
-l compile.log
:编译的日志记录
+define+USETHIS ; 宏在源文件中使用'ifdef 指令。如果未使用+define/则代码中的else部分优先。
仿真阶段:运行 simv
执行功能验证或时序分析,支持Interactive Mode (调试)或Batch Mode(回归)模式。
交互模式 Interactive Mode
交互方式在设计周期的初始阶段应用,主要是使用GUI或通过命令行调试。要使用GUI调试,可以使用Verdi,而要通过命令行界面调试,则可以使用统一命令行界面(UCLI)。使用交互模式,在编译时要使用 -debug_access(+<option>)
回归模式 batch mode
设计后阶段,仅需进行最低限度的调试,使用 此模式可以实现更好的性能。
命令 simv (对的!就这一个 simv 就够了 )
模式 | 启动方式 | 用途 |
---|---|---|
交互模式 | simv -ucli 或 simv -verdi | 动态调试(UCLI命令行/Verdi图形界面) |
回归模式 | simv | 自动化回归测试,性能最优 |
verdi
交互模式下使用Verdi
simv -gui
后 处理模式下使用verdi
verdi -ssf xxxx.fsdb
Design Compiler
一种由Synopsys公司开发的电子设计自动化(EDA)工具,主要用于将硬件描述语言(如Verilog或VHDL)编写的高层次电路设计转换为优化的门级网表。
主要功能: 该工具能够进行逻辑综合、设计约束设置、时序分析等操作,以满足设计的性能和面积要求。
Design Compiler (二)——DC综合与Tcl语法结构概述_Design Compiler-CSDN专栏
dc_shell: DC以命令行的格式启动:$dc_shel,需要知道一些tcl的简单语法。
.tcl 是个脚本
综合后需要查看timing、area 符不符合需要;
综合后的多个文件需要写到一个ddc 文件里,或者一个netlist