SDC命令详解:使用all_registers命令进行查询

相关阅读

SDC命令详解https://blog.csdn.net/weixin_45791458/category_12931432.html


        all_registers命令用于创建一个时序单元及其引脚对象集合,包含当前实例(注意该命令与其他all_*命令的区别)中的所有时序单元及其引脚,关于设计对象和集合的更详细介绍,可以参考下面的博客。 

Synopsys:设计对象https://chenzhang.blog.csdn.net/article/details/147015140?spm=1001.2014.3001.5502


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

all_registers
    [-no_hierarchy]
    [-clock clock_name | -rise_clock rise_clock_name | -fall_clock fall_clock_name]
    [-cells] [-data_pins] [-clock_pins] [-slave_clock_pins] [-output_pins]
    [-level_sensitive] [-edge_triggered] [-master_slave]
    [-include_icg]
    //注:该命令的选项和参数顺序任意

指定不跨层次

        -no_hierarchy选项指定只在当前实例中搜索,而不进入层次单元内(默认情况下,会搜索当前实例下的整个层次结构),如例1所示。

// 例1
dc_shell> all_registers
{u_middle/z_reg u_middle/u_leaf/y_reg}
dc_shell> all_registers -no_hierarchy
dc_shell> current_instance u_middle
Current instance is '/top_module/u_middle'.
/top_module/u_middle
dc_shell> all_registers
{u_middle/z_reg u_middle/u_leaf/y_reg}
dc_shell> all_registers -no_hierarchy
{u_middle/z_reg}

指定时钟

        -clock选项指定了一个时钟对象列表,只有被这些时钟驱动的时序单元会被包含在集合中,如例2所示。

// 例2
dc_shell> create_clock -period 10 -name clk1
Warning: Creating virtual clock named 'clk1' with no sources. (UID-348)
1
dc_shell> create_clock [get_ports clk] -period 10
1
dc_shell> all_registers
{u_middle/z_reg u_middle/u_leaf/y_reg}
dc_shell> all_registers -clock [get_clocks clk1]
dc_shell> all_registers -clock [get_clocks clk]
{u_middle/z_reg u_middle/u_leaf/y_reg}

        -clock选项、-rise_clock选项和-fall_clock选项是互斥的,只能使用其中一个。

指定上升/下降沿时钟

        -rise_clock选项指定了一个时钟对象列表,只有被这些时钟上升沿驱动的时序单元会被包含在集合中;-fall_clock选项指定了一个时钟对象列表,只有被这些时钟下降沿驱动的时序单元会被包含在集合中,如例3所示。

// 例3
dc_shell> create_clock [get_ports clk] -period 10
1
dc_shell> all_registers -clock [get_clocks clk]
{u_middle/z_reg u_middle/u_leaf/y_reg}
dc_shell> all_registers -rise_clock [get_clocks clk]
{u_middle/z_reg}
dc_shell> all_registers -fall_clock [get_clocks clk]
{u_middle/u_leaf/y_reg}

指定包含时序单元

        -cells选项是一个对象类型选项,指定了集合中包含满足条件的时序单元本身(当不指定任何对象类型选项时,默认指定该选项),如例4所示。

// 例4
dc_shell> all_registers
{u_middle/z_reg u_middle/u_leaf/y_reg}
dc_shell> all_registers -cells
{u_middle/z_reg u_middle/u_leaf/y_reg}

指定包含时序单元数据引脚

        -data_pins选项是一个对象类型选项,指定了集合中包含满足条件的时序单元的数据引脚(通过引脚对象的is_data_pin属性识别),如例5所示。

// 例5
dc_shell> all_registers -data_pins
{u_middle/z_reg/D u_middle/u_leaf/y_reg/D}
dc_shell> get_attribute [get_pin u_middle/z_reg/D] is_data_pin
true
dc_shell> get_attribute [get_pin u_middle/z_reg/CK] is_data_pin
false

指定包含时序单元时钟引脚

        -clock_pins选项是一个对象类型选项,指定了集合中包含满足条件的时序单元的时钟引脚(通过引脚对象的is_clock_pin属性识别),如例6所示。

// 例6
dc_shell> all_registers -clock_pins
{u_middle/z_reg/CK u_middle/u_leaf/y_reg/CK}
dc_shell> get_attribute [get_pin u_middle/z_reg/CK] is_clock_pin
true
dc_shell> get_attribute [get_pin u_middle/z_reg/D] is_clock_pin
false

指定包含主从锁存器中从锁存器时钟引脚

        -slave_clock_pins选项是一个对象类型选项,指定了集合中包含满足条件的时序单元的从锁存器时钟引脚(通过引脚对象的is_clock_pin属性以及signal_type属性为clocked_on_also识别)。

指定包含时序单元输出引脚

        -output_pins选项是一个对象类型选项,指定了集合中包含满足条件的时序单元的输出引脚(通过引脚对象的direction属性识别),如例7所示。

// 例7
dc_shell> all_registers -output_pins
{u_middle/z_reg/Q u_middle/u_leaf/y_reg/Q}
dc_shell> get_attribute [get_pin u_middle/z_reg/Q] direction
out
dc_shell> get_attribute [get_pin u_middle/z_reg/D] direction
in

指定包含锁存器(电平触发)

        -level_sensitive选项指定集合中包含电平触发的锁存器。

指定包含触发器(边沿触发)

        -edge_triggered选项指定集合中包含边沿触发的触发器。

指定包含主从锁存器(主从电平触发)

        -master_slave选项指定集合中包含双电平触发的主从锁存器。

指定包含集成时钟门控单元

        -include_icg选项指定集合中包含集成门控时钟(ICG)单元。

内容概要:本文档详细介绍了如何使用MATLAB实现粒子群优化算法(PSO)优化极限学习机(ELM)进行时间序列预测的项目实例。项目背景指出,PSO通过模拟鸟群觅食行为进行全局优化,ELM则以其快速训练和强泛化能力著称,但对初始参数敏感。结合两者,PSO-ELM模型能显著提升时间序列预测的准确性。项目目标包括提高预测精度、降低训练时间、处理复杂非线性问题、增强模型稳定性和鲁棒性,并推动智能化预测技术的发展。面对数据质量问题、参数优化困难、计算资源消耗、模型过拟合及非线性特征等挑战,项目采取了数据预处理、PSO优化、并行计算、交叉验证等解决方案。项目特点在于高效的优化策略、快速的训练过程、强大的非线性拟合能力和广泛的适用性。; 适合人群:对时间序列预测感兴趣的研究人员、数据科学家以及有一定编程基础并希望深入了解机器学习优化算法的工程师。; 使用场景及目标:①金融市场预测,如股票走势预测;②气象预报,提高天气预测的准确性;③交通流量预测,优化交通管理;④能源需求预测,确保能源供应稳定;⑤医疗健康预测,辅助公共卫生决策。; 其他说明:文档提供了详细的模型架构描述和MATLAB代码示例,涵盖数据预处理、PSO优化、ELM训练及模型评估等关键步骤,帮助读者全面理解和实践PSO-ELM模型。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

日晨难再

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值