SDC命令详解:使用report_transformed_registers命令进行报告

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html?spm=1001.2014.3001.5482


目录

指定仅报告常量寄存器

指定仅报告不可读寄存器

指定仅报告被合并的寄存器

指定仅报告被复制的寄存器

指定仅报告多比特寄存器

指定仅报告相位反转的寄存器

指定仅报告移位寄存器

指定仅报告汇总

简单使用


report_transformed_registers命令用于报告工具在优化过程中对寄存器(包括触发器和锁存器)进行的所有变换,包括常量寄存器移除(Constant Register Removal)、不可读寄存器移除(Unread Register Removal)、寄存器合并(Register Merging)、寄存器复制(Register Replication)、多比特寄存器组(Multibit Banking)、相位反转(Phase Inversion)、移位寄存器识别(Shift Register)。

需要注意的是,使用该命令需要在读取RTL代码或综合前将compile_enable_report_transformed_registers变量(默认值为false)设置为true。

本文针对Design Compiler,但该命令同样存在于Fusion Cmpiler、IC Compiler II等工具中,它们大致相同,略有差别。report_transformed_registers命令的BNF范式(有关BNF范式,可以参考以往文章)为:

复制代码
report_transformed_registers
    [-constant]
    [-unloaded]
    [-merged]
    [-replicated]
    [-multibit]
    [-inverted]
    [-shiftReg]
    [-summary]
    //注:该命令的选项和参数顺序任意

指定仅报告常量寄存器

-constant选项指定仅报告常量寄存器的变换(移除或保留),关于常量寄存器的更多信息,可以参考下面的博客。

Design Compiler:常量触发器的移除https://blog.csdn.net/weixin_45791458/article/details/157099522?ops_request_misc=%257B%2522request%255Fid%2522%253A%252200baa02b13d723a85d71f6dcb00f7948%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=00baa02b13d723a85d71f6dcb00f7948&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-1-157099522-null-null.nonecase&utm_term=%E5%B8%B8%E9%87%8F%E8%A7%A6%E5%8F%91%E5%99%A8&spm=1018.2226.3001.4450

指定仅报告不可读寄存器

-unloaded选项指定仅报告不可读寄存器的变换(移除或保留),包括RTL代码读取过程中和综合过程中,关于不可读寄存器的更多信息,可以参考下面的博客。

Design Compiler:不可读单元的移除https://chenzhang.blog.csdn.net/article/details/157099538?spm=1001.2014.3001.5502HDL Compiler:hdlin_preserve_sequential变量和preserve_sequential综合指令的使用https://chenzhang.blog.csdn.net/article/details/158042894?spm=1001.2014.3001.5502 需要注意的是,在RTL代码读取过程中被保留的不可读寄存器不会被报告。

指定仅报告被合并的寄存器

-merged选项指定仅报告被合并的寄存器。

指定仅报告被复制的寄存器

-replicated选项指定仅报告被复制的寄存器,关于寄存器复制的更多信息,可以参考下面的博客。

Design Compiler:触发器的复制(set_register_replication命令)https://chenzhang.blog.csdn.net/article/details/157099529

指定仅报告多比特寄存器

-multibit选项指定仅报告多比特寄存器(合并或拆分),需要注意的是,布局感知的Multibit Banking流程、使用create_register_bank命令、使用split_register_bank命令得到的多比特寄存器不会被报告,关于多比特寄存器的更多信息,可以参考下面的博客。

Design Compiler:Multibit优化(RTL向量自动推断流程和手动创建多比特组件流程)https://chenzhang.blog.csdn.net/article/details/155949999Design Compiler:Multibit优化(布局感知的Multibit Banking流程)https://chenzhang.blog.csdn.net/article/details/156192193Design Compiler:Multibit优化(增强型布局感知的Multibit Banking流程)https://chenzhang.blog.csdn.net/article/details/156580551

指定仅报告发生相位反转的寄存器

-inverted选项指定仅报告发生相位反转的寄存器。

指定仅报告被识别的移位寄存器

-shiftReg选项指定仅报告被识别的移位寄存器。

指定仅报告汇总

默认情况下,report_transformed_registers命令会报告发生各种变换的寄存器名称和数量汇总,-summary选项指定仅报告数量汇总;如果使用了上面的选项,report_transformed_registers命令会报告发生指定变换的寄存器名称,-summary选项指定同时报告数量汇总。

简单使用

复制代码
dcnxt_shell-topo> compile_ultra
dcnxt_shell-topo> report_transformed_registers -unloaded 
 
****************************************
Report : report_transformed_registers
Design : mydesign
Version: W-2024.09-SP5
Date   : Sun Feb 15 22:33:38 2026
****************************************

Legend:
        c0r - Constant 0 Register Removed
        c1r - Constant 1 Register Removed
        c0p - Constant 0 Register Preserved
        c1p - Constant 1 Register Preserved
        ulr - Unloaded Removed
        ulp - Unloaded Preserved
        inv - Inverted
        rep - Replicated
        mrg - Merged register
        mb  - Mutibit
        mbd - Mutibit debanked
        n2m - Mutibit N to M
        srh - shift register head
        srf - shift register

Register                                        Transformation                          
-------------------------------------------------------------------------------------
sum2                                            ulr                      

dcnxt_shell-topo> report_transformed_registers -summary    
 
****************************************
Report : report_transformed_registers
Design : mydesign
Version: W-2024.09-SP5
Date   : Sun Feb 15 22:38:05 2026
****************************************

Legend:
        c0r - Constant 0 Register Removed
        c1r - Constant 1 Register Removed
        c0p - Constant 0 Register Preserved
        c1p - Constant 1 Register Preserved
        ulr - Unloaded Removed
        ulp - Unloaded Preserved
        inv - Inverted
        rep - Replicated
        mrg - Merged register
        mb  - Mutibit
        mbd - Mutibit debanked
        n2m - Mutibit N to M
        srh - shift register head
        srf - shift register

Register                                        Transformation                          
-------------------------------------------------------------------------------------
sum2                                            ulr                                     

Transformation                          Count                                   
Constant Registers Deleted              0                                       
Constant Registers Preserved            0                                       
Unloaded Registers                      1                                       
Unloaded Registers Preserved            0                                       
Inverted Registers                      0                                       
Replicated Registers                    0                                       
Merged Registers                        0                                       
Banked Registers                        0                                       
Debanked Registers                      0                                       
N to M multibit transformation          0                                       
shift registers                         0          
相关推荐
ll56782 天前
数字IC后端实现之OCC电路分段时钟树综合实战解析
数字ic·时钟树综合·occ电路·分段时钟树
日晨难再3 天前
SDC命令详解:使用write_environment命令进行输出
数字ic
日晨难再4 天前
SDC命令详解:使用write_app_var命令进行输出
数字ic
日晨难再8 天前
DSO.ai:基于AI的搜索优化型EDA工具介绍
人工智能·数字ic
日晨难再19 天前
物理约束命令:创建芯片(Die)区域和核心(Core)区域
数字ic
日晨难再23 天前
Design Compiler:触发器的复制(set_register_replication命令)
数字ic
日晨难再1 个月前
Design Compiler:不可读单元的移除
数字ic
日晨难再1 个月前
SDC命令详解:使用write_parasitics命令进行输出
数字ic
日晨难再1 个月前
Design Compiler:增强型引脚负载电容建模(LoadUR、LoadUF、LoadLR、LoadLF)
数字ic