相关阅读
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选项指定仅报告常量寄存器的变换(移除或保留),关于常量寄存器的更多信息,可以参考下面的博客。
指定仅报告不可读寄存器
-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选项指定仅报告被复制的寄存器,关于寄存器复制的更多信息,可以参考下面的博客。
指定仅报告多比特寄存器
-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