Why does Conformal model a library cell as ‘cdn_gray_box‘?

Problem

I see some modules named as cdn_gray_box* in my black box report. What does it mean? Under what conditions does Conformal model a library cell as cdn_gray_box?

For Example: 

SYSTEM (GRAYBOX): (G R) cdn_gray_box_^hm_cgf4_r0hd_ln110^

Solution

If a Liberty cell has some outputs tied to the constant 0/1 values and all inputs are not used to drive any output, Conformal will model this Liberty cell as a gray box to allow checking on the fan-in cones to the cell's inputs. For example, if one output has a function '0' (stuck_at 0), Conformal will create stuck_at 0 for that output pin and create a sublevel gray box to take care of other outputs and inputs in order to compare the inputs of the module.

If such a cell is modeled as a regular module, all fan-in cones to the inputs are not compared by Conformal LEC. This is because the inputs are unused. If such a cell is modeled as a black box (BBOX), the tied output values are not represented by the BBOX model. This might cause false non-equivalence results.

As the name implies, gray boxes are modules for which Conformal has a little more information than a BBOX, but not enough information for it to be a white box. For practical purposes, this module will be considered as BBOX. That is why it is listed in the BBOX report.

The name of the module follows the following pattern:

\cdn_gray_box_^<cellname><index>^

Conformal will report the following message for the same:

Warning: (RTL9.10a) Liberty cell modeled as a gray box (occurrence:1)

Example 1 (Liberty cell)

       +-----------+
       |           |
    I1-+     '0'-OA+-
       |           |
    I2-+         OB+-
       |           |
       +-----------+

    Function of output OA is tied to constant 0 value.
    Function of output OB is unspecified.
    Inputs I1 and I2 are unused by the outputs.

A gray box is represented as a regular module with an embedded BBOX.  The above cell is modeled as a gray box:

       +-------------+
       |             |
       |       '0'-OA+--
       |             |
       |  +------+   |
       |  |      |   |
    I1-+--|     OA   |
       |  |      |   |
    I2-+--|     OB-OB+---
       |  |      |   |
       |  +------+   |
       |             |
       +-------------+

You can also use the concept of gray box model to embed special ties/ pins/ feedthroughs in the Verilog or VHDL designs. With the gray box model, if an incorrect connection is made to output pin OA, a wired logic will be created to catch a potential bug in the design.

Example 2 (Liberty cell)

       +-------------+ 
       |             | 
    I1-+       '0'-OA+- 
       |             | 
    I2-+       '1'-OB+- 
       |             | 
       +-------------+

  Gray box model:

       +-------------+
       |             |
       |       '0'-OA+--
       |             |
       |  +------+   |
       |  |      |   |
    I1-+--|     OA   |
       |  |      |   |
    I2-+--|     OB   |
       |  |      |   |
       |  +------+   |
       |             |
       |       '1'-OB+--
       |             |
       +-------------+

Because all outputs of the embedded BBOX are unloaded, the BBOX is unreachable. You will need to add the set mapping method -unreach command to allow Conformal LEC to compare the fani-n cones of I1 and I2 inputs.

Note: All commands will need to refer to this module with the new name, cdn_gray_boxModule_Name. For example, if the original module name was ABC, you will need to use the following:

add ignore input si -module cdn_gray_boxABC

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值