顯示具有 Formal 標籤的文章。 顯示所有文章
顯示具有 Formal 標籤的文章。 顯示所有文章

2011年10月15日 星期六

Digital Circuit Functional Verification(十五)

斷言ASSERTIONS


Simulation Assertions 
簡單來說就是利用簡單的語義描述來驗證signals protocol
而這個驗證語法是基於一個或多個clock來確認signals之間的關係

断言被分为两大类:一类是由设计者定义,另一类由验证工程师定义。
● 由设计者定义的设计断言(Implementation Assertion)
    通常寫成embedded Mode,而嵌入到RTL中,因為Assertion 不會被合成
● 由验证工程师定义的规范断言(Specification Assertion)
   通常會使用blockbox方式來驗證design,常放在design的外部

由於assertion只能指出錯誤,但不能指出少驗了那些項目
因此必須搭配code coverage相關的方法來使用


Formal Assertion Proving
Formal tools called model checker or assertion provers can mathe-
matically  prove that,  given an  RTL design  and  some  assumptions
about the relationships of the input signals, an assertion will always
hold  true.  If a counter  example  is  found,  the  formal  tool  will  pro-
vide  details  on  the  sequence  of events  that leads  to  the  assertion
violation. It is then up to you to decide if this sequence of events is
possible, given additional knowledge about the environment of the
design.

 形式验证领域将这些输入断言称为约束(constraint),这里作者使用术语“假设”(assumption)将其与随机发生
的约束区分开来,后者是一种随机的概念。

這個驗證觀念在2008之後似乎不再有人再提了,

現在的觀念應該是
Formal verification就用formal tools(LEC, formality)之類來作靜態驗證
Assertion就用SVA, PSL, OVL之類來作動態驗證

另一種原因可能是OVM/UVM的出現,而random input及constraints在其中的使用

2011年7月24日 星期日

default.svf在DC flow中的作用

在DC的flow中
這個檔案 records the "changes" that boundary optimization,
register repositioning and ungrouping make to the design.

This file is readable by Formality, Synopsys’ formal verification or equivalency checking tool

因此這個檔案只能在synopsys的Tools中使用
如果我們要改變名字
set_svf file_name
把指令放在DC flow的前面



如果我們要用LEC
那就必須改變輸出檔
使用
set_vsdc
就變成了ASCII Mode檔
這樣就可以給別的Tool吃了