Formality:set_svf命令

相关阅读

Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm=1001.2014.3001.5482


svf文件的全称是Setup Verification for Formality,即Design Compiler提供给Formality的设置验证文件,它的作用是为Formality的指导模式(Guidance)和设置模式(Setup)提供信息,以帮助其更好地理解和处理设计流程中因使用Design Compiler而引起的设计变更的一种机制。

svf文件的详细介绍和生成命令在下面的博客中已经讨论,本文主要讨论Formality中的set_svf命令。

Design Compiler:set_svf命令以及svf文件简介文章浏览阅读1k次,点赞17次,收藏31次。svf文件的全称是Setup Verification for Formality,即Design Compiler提供给Formality的设置验证文件,它的作用是为Formality的指导模式(Guidance)和设置模式(Setup)提供信息,以帮助其更好地理解和处理设计流程中因使用Design Compiler而引起的设计变更的一种机制。对象名称更改(Object name changes)_svf 文件https://blog.csdn.net/weixin_45791458/article/details/144069207?spm=1001.2014.3001.5501 set_svf命令的BNF范式(有关BNF范式,可以参考以往文章)为:

复制代码
set_svf 
    [-append] 
    [-ordered] 
    [-extension name] 
    [filedirnames]

指定追加

-append表示将指定的svf文件或目录中搜索到的svf文件追加到已加载进Formality的svf信息后,如果不指定该选项,则会覆盖之前的svf信息。

例如,假设现在有两个svf文件,default.svf中含有两条guide类命令,而test.svf中含有三条guide类命令,现在分别使用两个set_svf命令先后加载这两个svf文件:当第二个set_svf命令不使用-append选项时,第二次加载的svf文件会覆盖第一次加载的svf文件;反之则会追加。具体情况如例1所示。

复制代码
// 例1
Formality (setup)> set_svf default.svf
SVF set to 'default.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 22:51:11 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          1          2

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      default.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1
Formality (setup)> set_svf test.svf
SVF set to 'test.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 22:51:19 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          2          3

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      test.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

Formality (setup)> set_svf -append default.svf
SVF appended with 'default.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 22:52:34 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          4          5

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      test.svf
      default.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

顺带一提,除了使用report_guidance命令查看加载的svf文件,也可以在Formality工作目录中的formality_svf子目录中找到svf.txt文件,它是已加载的svf文件的文本可读形式(但它们两者只能查看加载的svf文件中的guide类命令,而无法查看用户执行的guide类命令)。

指定顺序

-ordered选项用于指定了多于一个svf文件或者指定了搜索目录的set_svf命令,默认情况下,set_svf命令按照时间戳顺序加载这些svf文件。如果指定了-ordered选项,set_svf命令按照svf文件指定的顺序和搜索目录中的搜索顺序(按照文件名顺序)。

例如,假设现在有两个svf文件,default.svf(时间戳更早)中含有两条guide类命令,而test.svf中含有三条guide类命令,现在使用一个set_svf命令加载这两个svf文件:当不使用-ordered选项时,会按照按照时间戳顺序加载这两个svf文件;反之则会按照svf文件指定的顺序加载这两个svf文件。具体情况如例2所示。

复制代码
Formality (setup)> set_svf test.svf default.svf
SVF set to 'default.svf test.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 23:23:36 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          4          5

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      default.svf
      test.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

Formality (setup)> set_svf -ordered test.svf default.svf
SVF set to 'test.svf default.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 23:24:03 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          4          5

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      test.svf
      default.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

Formality (setup)> set_svf ./
SVF set to './default.svf ./test.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 23:28:38 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          4          5

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      ./default.svf
      ./test.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

Formality (setup)> set_svf -ordered ./
SVF set to './default.svf ./test.svf'.
1

Formality (setup)> report_guidance
**************************************************
Report         : guidance

Reference      : <None>
Implementation : <None>
Version        : O-2018.06-SP1
Date           : Wed Dec 11 23:28:50 2024
**************************************************
                                         Status
Command                 Accepted   Rejected  Unsupported  Unprocessed  Total
----------------------------------------------------------------------------
environment         :          1          0          0          4          5

Note: If verification succeeds you can safely ignore unaccepted guidance commands.

SVF files read:
      ./default.svf
      ./test.svf

SVF files produced:
  /home/zhangchen/Desktop/vv/formality_svf/
    svf.txt
1

可以注意到,例2中利用了不使用-append选项会导致后续set_svf命令覆盖的特性。

指定拓展名

-extension选项用于指定搜索目录时的文件拓展名,默认为svf。

指定svf文件和搜索目录

可以指定多个svf文件或搜索目录作为参数,这两者的组合也是可以接受的。

删除已加载的svf信息

当使用set_svf命令不指定svf文件和搜索目录时,可以删除已加载的svf信息(不包括用户执行的guide类命令)。但是,最好使用 remove_guidance命令删除已加载的svf信息。

注意事项

只有在读取除工艺库外的设计文件之前才能使用set_svf命令,否则需要使用remove_container命令将设计文件全部移除。

相关推荐
云空5 小时前
《新凯来:半导体设备制造领域的“国家队”》
硬件工程·制造·材料工程·精益工程
小麦嵌入式17 小时前
Linux驱动开发实战(九):Linux内核pinctrl_map详解与优势分析
linux·c语言·汇编·驱动开发·stm32·嵌入式硬件·硬件工程
Moonnnn.2 天前
运算放大器(三)运算放大器的典型应用
笔记·学习·硬件工程
硬件进化论3 天前
从基础到实践(二十三):MCU选型设计指南
单片机·嵌入式硬件·数码相机·电脑·硬件工程·智能手表·智能电视
Yesheldon4 天前
高速电路中的存储器应用与设计三
单片机·嵌入式硬件·fpga开发·硬件架构·硬件工程·智能硬件
陌夏微秋6 天前
开源项目-数控直流电子负载2 120w数控直流电子负载-硬件分析
stm32·单片机·嵌入式硬件·硬件架构·硬件工程·智能硬件
Hug Freedom.6 天前
CHI协议——retry
开发语言·前端·硬件工程·risc-v
Yesheldon7 天前
高度电路中时序设计之二
嵌入式硬件·fpga开发·硬件架构·硬件工程·智能硬件
lindaakk12 天前
从设计到量产:MHO5000如何实现电源EMIEMC测试全流程自动化?
人工智能·驱动开发·fpga开发·硬件工程·dsp开发·射频工程
XYN6113 天前
【嵌入式学习】嘉立创画pcb门电路
笔记·嵌入式硬件·学习·硬件工程