DesignCompiler系列(三)时序单元的Timing属性
在前面写的文章中,我们分享了Design Compiler启动所需的基本文件、启动步骤、读入文件的方式以及工作环境的设置等内容。今天我们来继续分享,Design Compiler在综合过程中,对时序单元的分析内容。
我们知道Verilog HDL中的逻辑分为时序逻辑和组合逻辑。对应到Design Compiler中,可以分为时序单元和组合单元。组合单元因为没有时序相关信息,所以时序单元的属性往往要比组合单元复杂一些。那么时序单元的时序属性有哪些呢?
时序单元的时序属性
对于一个时序单元,我们考虑的时序属性主要有以下四个内容:时序类型;时序敏感性;时钟;最短周期。
上面每一项都有十分丰富的内涵,下面我们再仔细描述一下。时序类型
这个属性的主要功能是区分当前单元是组合单元还是时序单元。如果没有这个属性,则认为当前单元是组合单元。描述格式为:timing_type:。
在时序单元中,一般包括这些描述:rising_edge(上升沿):表示信号对input port的上升沿敏感。falling_edge(下降沿):表示信号对input port的下降沿敏感。preset(预置位):当相关端口为此状态时,则输出端口为逻辑"1"。clear(清除):当相关端口为此状态时,则输出端口为逻辑"0"。setup_rising(建立时间_上升沿):检查相关端口上升沿的建立时间。setup_falling(建立时间_下降沿):检查相关端口下降沿的建立时间。hold_rising(保持时间_上升沿):检查相关端口上升沿的保持时间。hold_falling(保持时间_下降沿):检查相关端口下降沿的保持时间。时序敏感性
时序敏感性表示输入端口是怎样影响输出端口逻辑属性的。通常情况下,在一个单元的端口时序描述中,会包含自动生成的属性。我们可以通过外部命令来修改这个属性。时钟
时钟属性为可选择属性。这个属性表示当前单元的输入端口是否包含时钟端口。最短周期
最短周期存在于触发器或者latch的clock端口上面,同样,这个属性也是一个可选属性。这个属性表示当前单元的输入端口需要的最短周期。
小结
今天我们分享了对一个时序单元进行描述所涉及的内容。比如我们常用的触发器单元,就可以使用上面列出的这些属性来进行描述。
尽管在数字电路中,常用的状态只有"0"和"1",但是"三态单元(Z)"依然存在,所以后面的内容,我们会分享"三态(Z)",欢迎大家继续关注。