0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RTL与网表的一致性检查

ruikundianzi 来源:NanDigits 作者:NanDigits中国 2022-11-07 12:51 次阅读

芯片设计的中间和最后阶段,比如综合、DFT、APR、ECO等阶段,常常要检查设计的一致性。也叫逻辑等价性检查(Logic Equivalence Check),简称LEC。

f5403090-5e52-11ed-a3b6-dac502259ad0.png

如图,其中,LEC1和LEC4是RTL vs Netlist,LEC2和LEC3是Netlist vs Netlist。我们把RTL叫做参考(Ref),Netlist叫做实现(Imp)。做LEC就是以参考为准,检查实现是否与参考一致。做LEC检查的目的是用formal的方法来保证逻辑一致。

RTL vsNetlist LEC的准备

RTL vs Netlist LEC的输入文件有:Lib库、RTL、网表。

f5bf2274-5e52-11ed-a3b6-dac502259ad0.png

RTL vsNetlistLEC的流程

第一步:读入Library库, 第二步:读入RTL, 第三步:读入Netlist, 第四步:设置option, 第五步:elab RTL,

第六步:运行lec检查。

注意1:lib库有很多corner(wc、tc、bc),因为我们只关心逻辑是否一致(不太关心时序),所以这个地方用哪一个corner的库无所谓。

注意2:第一步就要读入lib库,不管RTL中有没有手工例化库里的stdcell。

RTL vsNetlistLEC的原理

在读入RTL和网表后,工具先建立内部数据库,再进行关键点映射(Keypoint Mapping)。关键点就是DFF的输入pin、blackbox的输入pin、顶层的输入port。我们可以把整个设计分割成若干个以关键点为终点的逻辑锥(如下图)。这些逻辑锥的起点可能是顶层的输入port、DFF的输出pin、blackbox的输出pin。

f5d77bda-5e52-11ed-a3b6-dac502259ad0.png

这些逻辑锥内部是单纯的组合逻辑,有N个输入,一个输出。可以用 Y = f (X1,X2, X3, ... , Xn)

来表示,所以可以通过数学的方法,来对RTL和Netlist的两个逻辑锥施加相同的一组激励,看逻辑锥的输出是否相同。

因为逻辑锥的大小是有限的,所以很容易用数学遍历的方法来证明两个逻辑锥等价。

RTL vsNetlistLEC的难点

由于RTL综合时的优化策略,做LEC有多个难点,总结一些如下: 难点1:ungroup,设计层次被打平 难点2:修fanout等design rules时,内部模块pin会被复制 难点3:DFF的复制,multi bitDFF 难点4:常量的传递和优化 难点5:门控时钟 难点6:DFF phase inversion

难点7:retiming

RTL vsNetlistLEC的GOF示例脚本

# LEC script
use strict;


# Step1: read library
read_library("art.5nm.lib"); 


#Step2:readrtl(Refdesign)
set_inc_dirs("-ref", "inc_dir_path/include");
set_define("-ref", "NO_SIMULATION", 1);
my @rtl_files = (
    "cpu_core.sv", 
    "mem_ctrl.sv", 
    "display_sys.sv", 
    "chip_top.sv");
read_rtl("-ref", @rtl_files); 


#Step3:readnetlist(ImpDesign)
read_design('-imp','chip_top.v');


#Step4:set options
set_top("CHIP_TOP"); 
set_ignore_output("scan_out*");
set_pin_constant("scan_enable", 0);
set_pin_constant("scan_mode", 0);


# Step5: elab rtl
elab_rtl(); # RTL processing


# Step6: Run LEC
run_lec;

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59038
  • 网表
    +关注

    关注

    0

    文章

    13

    浏览量

    7522

原文标题:RTL与网表的一致性检查

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    相位一致性边缘检测

    大家起探讨相位一致性边缘检测,求指导
    发表于 06-11 13:38

    对申请CCC认证的产品进行一致性检查检查什么?

    (1) 认证产品的标识(铭牌)与型式试验报告所标明的一致性;(2) 认证产品的结构与型式试验样品的一致性;(3) 认证产品重要部件/元器件与型式试验报告中《重要部件/元器件清单》的一致性;(4) 按《例行检验项目和确认检验项目
    发表于 10-19 09:40

    一致性测试

    谁有聚星公司射频一致性测试的程序啊,求个做参考,!
    发表于 07-14 18:11

    c6678cache一致性

    专家您好!    我现在在做6678 cache一致性的东西,想请问一下一致性的维护哪些是硬件实现的,哪些需要程序员实现?谢谢!
    发表于 06-24 04:38

    CAN一致性测试—容错测试

    CAN总线各节点质量的不一致引发的系统瘫痪、错误、死机等问题,CAN一致性测试已成为保证CAN网络安全运行的重要手段,本文将对CAN总线一致性测试中的容错测试进行介绍。CAN
    发表于 11-22 16:36

    LTE基站一致性测试的类别

    就LTE基站而言,RF测试方法与一致性要求至为关键,然而,调变格式、带宽、资源分配与移动导致选项复杂度增加,因此优化的一致性测试配置参数组合需求更为殷切。第三代合作伙伴项目(3GPP)长期演进计划
    发表于 06-06 06:41

    一致性非锁定读分析

    MySQL探秘(六)InnoDB一致性非锁定读
    发表于 09-17 08:39

    以太一致性测试硬件软件

    以太一致性测试测试项目:10M、100M、1000M以太一致性测试内容■模板测试:脉冲模板、眼图模板■幅度:差分输出电压、对称度■时域:上升/下降时间、对称度、占空比失真■抖动:
    发表于 09-20 15:15

    MIPI一致性测试

    MIPI一致性测试测试项目:> TX测试;> RX测试;> S参数和阻抗测试;> DigRF,Unipro和LLI的测试;测试环境: MIPI测试对示波器带宽的要求 >
    发表于 09-26 13:31

    Infiniium一致性测试软件

    Infiniium 一致性测试软件
    发表于 10-28 17:28

    什么是霍尔元件的一致性

    什么是霍尔元件的一致性?霍尔开关元件主要是通过感应磁性来进行开关机,霍尔元件本身又属于无触点开关,因此具有感应距离。霍尔开关都有个触发值和释放值,触发值是指霍尔元件表面达到参数磁性大小,霍尔元器件
    发表于 10-12 09:34

    为什么需要进行WiMAX协议一致性测试?

    为什么需要进行WiMAX协议一致性测试看完你就知道
    发表于 04-15 06:16

    如何确保蓝牙设计通过EMI一致性测试 ?

    选择蓝牙模块时需要考虑哪些因素?如何确保蓝牙设计通过EMI一致性测试 ?
    发表于 05-07 06:25

    如何实现信号电压幅值的一致性

    如何实现信号电压幅值的一致性
    发表于 05-20 07:23

    顺序一致性和TSO一致性分别是什么?SC和TSO到底哪个好?

    内存一致性之顺序一致性(sequential consistency)可以说,最直观的内存一致性模型是sequentially consistent(SC):内存访问执行的顺序与程序指定的顺序相同
    发表于 07-19 14:54