RTL
问题 行为怎么写下来?
进出 输入是规格和接口,输出是 RTL 代码。
举例 常见写法是 Verilog 等硬件描述语言。
EDA 是设计芯片时用的一组软件,不是晶圆厂的机台,也不是测试机。
先看上面的流程。规格和逻辑回答「做什么」,版图回答「怎么做出来」,光罩把版图变成制造数据,测试判断做出来的芯片是不是好的。例子只说明一类工具长什么样,不是完整名录。
电路要做什么?
数字侧用语言写下行为,再用仿真和形式验证检查。较大的设计还可以放到硬件仿真器或 FPGA 原型上跑。模拟侧画原理图和版图,用 SPICE 一类电路仿真看电压和电流。两条线后面在版图签核汇合。
问题 行为怎么写下来?
进出 输入是规格和接口,输出是 RTL 代码。
举例 常见写法是 Verilog 等硬件描述语言。
问题 功能对不对?
进出 输入是 RTL 和激励,输出是波形与通过或失败。这一步通常还不看真实时序。
举例 教程里常举 Synopsys VCS、Cadence Xcelium、Siemens ModelSim。
问题 综合之后功能有没有被改掉?
进出 比较 RTL 和门级网表是否等价。
举例 教程里常举 Synopsys Formality。
问题 大设计在流片前跑得动吗?
进出 把设计映射到专用硬件或 FPGA 上,跑软件负载。
举例 这一类是硬件仿真器和 FPGA 原型。这里只说明角色,不列成某一家的产品名录。
问题 晶体管级电路的电压和电流对不对?
进出 输入是原理图或网表,输出是仿真波形;版图工具负责画出器件和连线。
举例 电路仿真属于 SPICE 这一类。版图环境的一个公开例子是 Cadence Virtuoso。
逻辑怎么变成可制造的版图?
公开的开源流程从 RTL 走到 GDS:综合、布图、布局、时钟树、布线、寄生提取、时序检查、DRC/LVS。商业工具做的是同样这些环节,不是唯一路径。
问题 RTL 变成哪些门?
进出 输入是 RTL、工艺库和时序约束,输出是门级网表。
举例 OpenROAD 流程使用 Yosys。教程里常举 Synopsys Design Compiler。
问题 门放在哪里,线怎么连?
进出 输入是网表和约束,输出是带位置和连线的版图。
举例 OpenROAD 按布图、布局、时钟树、全局布线和详细布线排列。
问题 时序和延迟还够不够?
进出 用约束检查建立时间和保持时间,而不是把所有向量再仿真一遍。寄生提取把连线电阻电容算进去。
举例 教程里常举 Synopsys PrimeTime。OpenROAD 用 OpenRCX 做寄生提取,并在结束时做时序签核。
问题 版图符合制造规则吗,和电路图一致吗?
进出 DRC 查设计规则,LVS 对照版图和原理图。
举例 OpenROAD 用 KLayout 做 DRC/LVS。商业工具里,Calibre 是物理验证的一个公开例子。
版图怎么变成光罩数据?
光刻会让图形变形,所以版图要先做光学邻近修正,再切成光罩写机器能写的形状。晶圆厂里控制光刻机和蚀刻机的软件不是 EDA。
问题 硅片上印出来的图形还像设计吗?
进出 改多边形、加辅助图形,补偿光的衍射。
举例 Synopsys Proteus 是厂商自己的 OPC 产品说明,只作这一类工具的例子。
问题 光罩写机器读什么文件?
进出 把层次化版图展平、切分,并做掩模规则检查。
举例 Synopsys MDP 是厂商资料,说明切分、掩模规则检查和掩模误差修正这一类工作。
做出来的芯片是好的吗?
设计时就要让内部节点能被控制和观察。EDA 插入扫描链、存储自测试,并生成测试向量。自动测试设备把向量加到芯片上,它是测试机,不是 EDA。
问题 测试时能不能碰到电路内部?
进出 插入扫描链、边界扫描、逻辑或存储自测试,把时序电路的测试变成更容易生成向量的问题。
举例 扫描链、MBIST、JTAG 边界扫描。
问题 用哪些向量能查出制造缺陷?
进出 利用扫描链等结构,生成激励和预期响应。常见故障模型包括固定型故障和时延故障。
举例 ATPG 生成向量;向量交给测试机执行。
测试机不是 EDA。例子不是完整名录。厂商资料只说明该类工具做什么,不代表产品比较。