赞
踩
建立时间和保持时间的概念都是出现在同步电路的设计中。
对于异步复位的触发器来说,异步复位信号也需要满足 recovery time(恢复时间)和 removal time(去除时间),才能有效的复位和释放复位,防止出现亚稳态。
释放复位时,复位信号在时钟有效沿来临之前就需要提前一段时间恢复到非复位状态,这段时间为 recovery time。类似于同步时钟下触发器的 setup time。
复位时,复位信号在时钟有效沿来临之后,还需要在一段时间内保持不变,这段时间为 removal time。类似于同步时钟下触发器的 hold time。
recovery 与 removal time 示意图如下所示。
系统任务 $recovery 与 $removal 分别用于 recovery 和 removal time 的检查,用法如下:
$recovery (ref_event, data_event, recovery_limit) ;
当 ref_event (reset) < data_event (clock) 且 T(data_event - ref_event) < recovery_limit 时,即复位信号在时钟信号到来之前如果不满足 recovery time,则报告中会打印 violation。
$removal (ref_event, data_event, removal_limit) ;
当 ref_event (reset) > data_event (clock) 且 T(ref_event - data_event) > removal_limit 时,即复位信号在时钟信号到来之后如果不满足 removal time,则报告中会打印 violation。
Verilog 提供了同时检查 revomal 和 recovery 的系统任务:
$recrem (ref_event, data_event, recovery_limit, removal_limit);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。