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

相关推荐
情意绵绵67420 小时前
车用CAN接口芯片:汽车神经系统的沉默构建者
单片机·嵌入式硬件·汽车·硬件架构·硬件工程
Yesheldon1 天前
Cadence 高速系统设计流程及工具使用三
嵌入式硬件·fpga开发·硬件架构·硬件工程·智能硬件
搬砖的小码农_Sky1 天前
FPGA:Xilinx Kintex 7实现DDR3 SDRAM读写
fpga开发·硬件架构·硬件工程
集思广益的灰太狼2 天前
静电的起因与静电效应:技术分析与应用
单片机·硬件工程
搬砖的小码农_Sky2 天前
FPGA: Xilinx Kintex 7实现PCIe接口
fpga开发·硬件架构·硬件工程
上海合宙LuatOS3 天前
全栈工程师实战手册:LuatOS日志系统开发指南!
java·开发语言·单片机·嵌入式硬件·物联网·php·硬件工程
搬砖的小码农_Sky3 天前
芯片:金线的作用
硬件架构·硬件工程
7yewh3 天前
FPGA前瞻篇-计数器设计与实现实例
arm开发·驱动开发·嵌入式硬件·fpga开发·硬件架构·硬件工程·精益工程
搬砖的小码农_Sky3 天前
FPGA:XILINX FPGA产品线以及器件选型建议
嵌入式硬件·fpga开发·硬件架构·硬件工程
怪小庄吖3 天前
7系列 之 I/O标准和终端技术
经验分享·笔记·fpga开发·硬件架构·硬件工程·xilinx 7系列 fpga·i/o标准和终端技术