IC设计中的形式验证formality

发布时间:2026/9/25 9:02:55

IC设计中的形式验证formality 形式验证的目的是比较功能的一致性比对综合后的网表netlist和RTL设计的功能是否一致比对PR后的网表和综合后网表功能是否一致。两处比对一致则代表最终PR后的网表功能符合设计者意图。在所有的IC设计中想要最终成功的设计者都不会放弃做形式验证且至少需要两次形式验证第一次是RTL和综合后的网表的比对这次比对简记为前FM第二次是综合后的网表和PR后的网表的比对这次比对简记为后FM。1 FM的逻辑框架不论是前FM还是后FM做形式验证的思路是一样的需要的东西如下1 参考文件就是那个被定义为永远正确的文件这里用ref来表示这里的ref文件就是RTL设计文件原因RTL经过功能仿真验证被认为RTL是符合设计者意图的正确设计2 用于比较的文件这里用imp来表示这里imp文件就是综合后的网表文件原因在综合过程中综合软件会对设计进行优化有些地方的优化可能不符合设计者意图从而导致功能错误3 明白ref文件和imp文件的底层表达ref文件是RTL的代码文件而imp文件是用具体器件表示的网表因此两者之间需要读入具体的器件的db文件软件才能明白文件具体想表达的意思。与此同时在综合过程中进行了优化也需要把优化的记录文件.svf文件读入软件才能比对优化处的功能2 FM的简单实现下面给出一个简单的FM的脚本在进行复杂的芯片验证时可在此基础框架上增删修改。步骤1设置顶层文件名字这个可以给自己提示该脚本是用于那个项目/模块的set top_design_name top_design_name步骤2设计FM的约束条件最开始约束条件可以不用设置用默认设置debug的时候可以加上。约束条件还有很多或者多种用法可参见使用手册和使用man指令set verification_failing_point_limit 0set hdlin_warn_on_mismatch_message {FMR_ELAB-147 FMR_VLOG-091}set verification_clock_gate_hold_mode anyset hdlin_ignore_full_case falseset hdlin_ignore_parallel_case falseset hdlin_unresolved_modules black_box……步骤3读入相应的db文件read_db ../../xxx.db步骤4 读入综合后的优化文件#set_synopsys_setup trueset_svf ../../../../xxxx.svf步骤5读入RTL设计文件到-r container里read_verilog -container r -libname WORK {module_a.v module_b.v module_c.v}set_top r:/WORK/$design_top_nameset_refernce r:/WORK/$design_top_nameset hdlin_unresolved_modules black_box步骤6读入网表文件到-i container里read_verilog -i libname WORK -05 ../../xxxxx.vgset_top i:/WORK/$design_top_nameset_implementation i:/WORK/$design_top_name步骤7将i-container和r-container里的内容进行匹配比对matchreport_unmatched_pointsset_dont_verify {r:/work/xxx/xxx/xx/xxx/shift_x_reg70/\*dff.00.7\*}verifyanalyze_points failingreport_constantsreport_dont_verify_pointsreport_failing_points ../rpt/failing_points.rptreport_aborted_points ../rpt/aborted_points.rptreport_unverified_points ? ../rpt/unverified_points.rpt注1查找使用的命令用man比如 man read_verilog就会出来具体命令的使用方法注2关于formality的使用手册可在eetop社区里找到如下链接简单的应用框架在第81页。Formality® User Guide 2022-03 - 后端资料区 - EETOP 创芯网论坛 (原名电子顶级开发网) -注3formality的用户手册里可以找到相应的脚本模板3 start_guidebug工具可以通过FM的gui界面进行debug这个界面上存在问题分析、可能原因定位、电路的比较图对于debug很友好。用户手册里也有很大的篇幅介绍debug的方法技巧可直接学习用户手册。笔记一定要及时整理啊不然时间久了真的会忘记的………………笔记就简单整理到这里如有不妥之处欢迎大家批评指正
延伸阅读

更多相关文章

2026/9/25 9:02:44

OpenVSP源码解析:核心组件与代码实现原理

OpenVSP源码解析:核心组件与代码实现原理 【免费下载链接】OpenVSP A parametric aircraft geometry tool 项目地址: https://gitcode.com/gh_mirrors/ope/OpenVSP OpenVSP(Open Vehicle Sketch Pad)是一款强大的参数化飞行器几何建模…

2026/9/21 22:27:20

2026多商户商城系统哪家好?能管商户,才叫平台

商务部电子商务司2026年7月介绍,2026年1—6月,全国网上商品零售额增长4.8%,拉动社会消费品零售总额增长1.2个百分点;据商务大数据监测,1—6月农产品网零额增长12.2%。这说明,线上平台仍在持续吸引区域商家、…

2026/9/19 22:27:15

Ofd电子发票预览、转换、合并、数据提取excel

Super Ofd — 告别逐个打开!OFD 发票批量转换、合并、数据导出一站搞定 一款轻量、快速的 Windows 桌面工具, 让 OFD 电子发票的 预览、转换、合并、数据提取 变得简单高效。 还在一个个打开 OFD 文件?还在为批量转 PDF 发愁? 下…

2026/9/25 9:02:55

Atlas 300V Pro 24G部署YOLOv5实战:从硬件定位到调优

刚刚从项目现场回来,电脑上还插着那块Atlas 300V Pro 24G,趁着热乎劲儿把整个部署过程记录下来。这周刚把YOLOv5目标检测模型从GPU服务器迁移到Atlas推理卡上,中间踩了不少坑,也总结出一套比较顺的流程。刚好看到“atlas 300v 24g…

2026/9/25 8:57:55

Atlas 300V 24G推理加速卡YOLO部署全流程实战解析

最近后台连着收到好几条消息,都是同一个画风:“Atlas 300V 24G到底算不算运算加速卡”“能不能拿它部署YOLO模型”。这问题看着简单,但背后其实藏着一个很常见的认知断层:很多人知道NVIDIA的显卡能跑深度学习,换到昇腾…

2026/9/25 8:57:55

构建一体化客服工作台:通信数据闭环与坐席减负实战

1. 为什么做DeskcommCRM:不只是“通讯录工单”的简单叠加先交代一下背景。我所在的公司是做企业级客户服务的,业务线铺得比较宽,既有售前咨询,也有售后技术支持,还有专门的客户成功团队。最头疼的问题不是“没有工具”…

2026/9/25 8:57:55

Atlas 300V部署YOLO目标检测:从模型转换到推理调优全指南

如果你手里有一块 Atlas 300V 24G 的加速卡,又正好想把 YOLO 这类目标检测模型从 GPU 环境迁过来,那这篇文章就是为你准备的。我会从硬件定位开始讲清楚它到底是什么、适合干什么,再完整走一遍从模型转换到推理部署的全流程,最后把…

2026/9/24 20:24:47

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/23 12:06:55

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/25 0:02:35

AI元人文:从工具使用到思维重构的深度探索

最近半年我一直在琢磨一件事:AI元人文到底是什么?说白了,就是“用元视角重新审视人与AI的关系”,也在“探索AI如何反向逼着我们发现自己的思考边界”。标题里的“元探索”,在我看就是一层套一层的追问——当你用AI解决…

2026/9/25 0:02:35

Python+CNN车牌识别实战:从数据预处理到模型训练与部署

简介:基于Python与卷积神经网络的车牌识别项目,面向计算机视觉初学者及智能交通开发者,目标是帮助用户掌握从数据预处理、模型构建到实际部署的完整流程。压缩包共25个文件,包含jpg/png图像样本、py训练脚本、md说明文档、dat数据…

2026/9/25 0:02:35

Vim基础操作全攻略:保存退出、模式切换与高频命令实战

1. 项目概述1.1 核心需求解析今天聊聊Vim。写这个题目的原因是:几乎每个后端开发者、运维人员、数据工程师某天都会遇到一个场景——深夜加班,服务器登录界面只有黑底白字,编辑器只有vi/vim,你必须在五分钟内完成一次配置修改并保…

2026/9/22 16:34:32

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/22 20:01:30

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/22 13:25:41

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑