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命令将设计文件全部移除。

相关推荐
limitless_peter9 小时前
集成运算放大器(反向比例,同相比例)
嵌入式硬件·硬件工程
Be Legendary-CGK3 天前
三极管的基极为什么需要下拉电阻
单片机·嵌入式硬件·硬件工程
国科安芯4 天前
MCU外设初始化:为什么参数配置必须优先于使能
网络·单片机·嵌入式硬件·性能优化·硬件工程
针不戳202209264 天前
PFC是什么
嵌入式硬件·学习·硬件工程
无情的8865 天前
LVPECL、LVDS、LVTTL、LVCMOS四种逻辑电平标准的全面对比
硬件工程
粟米茶7 天前
差分放大电路的四种接法
硬件工程·硬件电路·三极管·运放
XINVRY-FPGA9 天前
XCKU115-2FLVB2104E AMD Xilinx Kintex UltraScale FPGA
嵌入式硬件·计算机视觉·fpga开发·云计算·硬件工程·dsp开发·fpga
XINVRY-FPGA10 天前
XCZU19EG-2FFVB1517I FPGA Xilinx AMD ZynqUltraScale+ MPSoC
arm开发·嵌入式硬件·fpga开发·硬件架构·硬件工程·dsp开发·fpga
谢工碎碎念10 天前
PCB工艺-四层板制作流程(简单了解下)
嵌入式硬件·物联网·硬件工程·iot·pcb工艺
码小文11 天前
Altium Designer 22使用笔记(4)---添加封装、ERC检查、PDF文档与BOM生成
笔记·嵌入式硬件·硬件工程·学习方法·硬件经验