路科验证的个人空间 https://blog.eetop.cn/1561828 [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

一种SoC连接性验证方法

热度 1已有 3474 次阅读| 2017-4-26 00:16 |个人分类:验证前沿资讯|系统分类:硬件设计

我们现在的SoC设计中,常需要集成来自第三方供应商的IP模块和芯片级的内部设计。有时,这些IP块通过标准化接口协议直接连接到其他模块或互连结构,但也有不按照标准接口协议连接的情况,这时IP块连接还需要添加一些粘合逻辑。模块接口和I / O pad之间也总是有一些粘合逻辑。所有这些连接也都需要我们彻底的验证。
这些接口有没有特定的时序,但是信号连接通路却不一定简单,在顶层可能还有许多数据选择器及其他组件。使用基于仿真的定向测试来验证这种连接耗时且低效。对于每个这样的连接,验证工程师不得不递增地在测试平台上force信号以及添加观察点。这种测试在总是项目周期很晚时才开始进行,并且一般这样的错误只能通过ECO来修正
所以,我们在本文想推荐Cadence公司的IFV帮助我们提高验证有效性和效率。
SoC连接性验证面临的问题
顶层连接依赖于某些后续的信息,包括功能操作和测试模式的编程。通常,在我们的设计周期中,这些信息常在tapeout前两个月左右才完成,所以给验证工作造成巨大的压力。RTL冻结之后,发现的错误都只能走ECO流程。但同时,顶层连接验证不仅工作量大,而且要求十分严格。
在我们的典型设计中,有很多用于DFT及测试总线选择目的的存储器端口连接。测试信号可以经由不同路径连接到顶层I/O pad或存储器。
图1显示了一个32位输出接口。32位组合中配置了多路选择器,可为32位接口的每位选择最多高达256位之一。此外,从一个设计和下一个设计,测试信号和序列会变化。从上一个项目到下一个项目,常有50%以上的变化。因此,我们需要一个理想的验证解决方案,使其易于跨项目重复使用,并且还能轻松管理不断变化的连接规范。
之前的连接性验证方法
我们曾有项目有10到15种不同的定向测试类型。建立测试环境很乏味耗时,需要2-3个月,每个测试类型几乎一个星期。此外,force/observe 测试并不能穷尽所以情况,特别是当信号路径复杂程度如图1所示时。此外,考虑到测试总线信号和序列变化,现有方法不能在项目间复用。这种测试在项目中进行得很晚,发现的错误又必须通过高度可见的ECO过程来修复。通常情况下,每个项目都会出现一个需要ECO的bug。
我们想到的一个改进方法是在接口上手动创建断言。这种方法的一个明显缺点是需要验证工程师来编写断言,而且不能在项目间复用。
同时,设计工程师并不像验证工程师一样熟练使用断言。所以基于电子表格的连接规范方法将更有效率,并且其他团队更容易理解。电子表格记录着不断变化的连接规范,使验证和设计工程师之间的沟通更清晰,这本身将消除许多连接问题,益处将是巨大的。
更高效的连接性验证流程
这种基于电子表格的连接规范方法,自动创建断言来检查指定的连接,现在可以使用商业的验证工具。我们在这里描述的案例研究使用的是来自Cadence公司的IFV(Incisive庐 Formal Verifier )。验证流程如图2所示。
检查连接性的步骤是:
1.在电子表格中捕获连接信息。有关连接性电子表格的说明,请参阅原文。工具提供了模板和电子表格示例。设计人员必须在电子表格中完成的如下的一些关键字段:
  • a.完成配置表:如图3所示。设置断言语言(SVA,PSL或TCL);设计语言(Verilog或VHDL);文件名;和时钟,复位,延时等。
  • b.完成 pad设置表:I / O pad在如图4所示的表中指定。此信息用于验证电子表格中行数是否正确,具体取决于与 pad相关联的端口数量。如果行数少于预期,则报出错误。
    C.完成连接行:接下来,指定Pad-IP和IP-IP连接的源,目标和所有中间点。连接可以是点对点,多点,多路复用或流水线等不同情况的。图5示出了多路复用和非多路复用类型的典型连接定义表
    2.将步骤1中创建的Microsoft Excel文件导出为.csv文件。
    3.csv文件中存在的连接信息由IFV自动转换为一组断言。检查类型和生成的代码由步骤1中描述的连接规范确定,设计人员无需进行任何操作。下面给出一些示例,以说明规范和生成的代码之间的关系,我们使用的是tcl语言:
    • a.与复位的基本连接:图6显示了一个具有复位定义的简单连接,它给出了中止结构。
    选择器连接请参见图7。注意如何定义select表达式。

    •  c.流水线连接见图8。注意时钟表达式和周期延迟定义。
    4. 手动创建了到黑盒的模块列表。由于我们对顶层连接性只是一个黑盒验证,因此删除了无关的设计逻辑。 IFV工具现在能够自由驱动连接端点。通过删除与顶级连接验证无关的逻辑,使我们的验证更有效率。
    5. 运行IFV工具执行断言以验证连接时,可以调单独执行上述步骤,或者可以如下在单个调用命令中组合步骤3,4和5:
    6. 还可以使用原理图跟踪器调试遇到的任何连接故障。原理图跟踪器提供了结果日志和源代码视图,如图9所示。
    验证效果
     连接性验证流程证明非常容易设置及使用,并且高度可重用。从项目到项目,我们只是更新了电子表格,并自动创建新项目的连接验证环境。黑盒验证删除了功能逻辑,因此不会带来不必要的复杂性,并且可以访问其端点处的信号。最初,大约需要1天来准备第一个测试用例,然后我们就能够以每天几个测试用例的速度进行。对于15个测试用例,一般都可以在不到1个月内完成。
    在对当前的连接性验证过程,也有一些需要改进的地方,需要提高调试功能,以节省时间,方便debug。项目中所经历的许多故障是手动更新黑盒列表中引入的错误。这些一般发生在较大的设计中。该工具需要改进以添加更多更有效的调试信息,以帮助跟踪由错误的黑盒列表导致的问题。一旦黑盒列表正确,我们发现连接性验证对计算资源的要求也并不苛刻。通常,为连接性验证而创建的断言会在合理的时间(通常是秒或分钟)内就能获知确定的pass或fail结果,即使是具有图1所示的复杂的多路选择连接,也能很快得到结果。
    结论
    对于典型SoC验证,与之前的3个月相比,这一流程将连接验证的时间缩短为一个月。在设计流程的关键阶段,提高了3倍生产率提高,节省了2个月设计时间。 此外,更重要的是,使用这一方法,验证的有效性也有很大的提高。
     
1

点赞

刚表态过的朋友 (1 人)

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

  • 关注TA
  • 加好友
  • 联系TA
  • 0

    周排名
  • 0

    月排名
  • 0

    总排名
  • 0

    关注
  • 253

    粉丝
  • 25

    好友
  • 33

    获赞
  • 45

    评论
  • 访问数
关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 17:15 , Processed in 0.017421 second(s), 12 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
返回顶部