verilog | 八、时序与延迟

本文深入探讨了Verilog中的各种延迟建模方法,包括分布延迟、集总延迟、引脚到引脚的延迟、路径延迟建模等。解析了specify块的使用,条件路径延迟的概念,以及如何定义上升、下降、关断延迟。同时,讲解了时序检查中的关键概念,如$setup与$hold,以及它们在设计中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

-分布延迟:将延迟值赋给电路中独立的门,或是在单独的assign语句中指定延迟值。

-集总延迟:将所有路径的积累延迟汇总于输出门处。

-引脚到引脚的延迟:分别把延迟给模块中从每个输入到每个输出之间的所有路径。

-路径延迟建模:在模块的源引脚(输入或输入输出)和目标引脚(输出或输入输出)之间的延迟称为模块路径延迟。

-specify块:关键字specify-endspecify;包含:给穿过模块的所有路劲指定引脚到引脚的时序延迟;在电路中设置时序检查;定

义specparam常量;

-并行连接:位与位对应连接

-全连接:

-边沿敏感路径:

-specparam声明语句:用于在specify中定义参数。

-条件路径延迟(状态以来路径延迟SDPD):关键字if(不能使用else)

-上升、下降、关断延迟:给任意路径定义1、2、3、6、12个延迟。

-1个:

-2个:

-3个:

-6个:

-12个:

-最小值、最大值、典型延迟值:(min:typ:max)

-处理x状态转换:

1、从x到已知状态的转换应当消耗可能的最大时间;

2、从已知状态到x的转换应当消耗可能的最小时间;

-时序检查

-$setup与$hold:检查设计中时序元件的建立保持约束。

1、建立时间是数据必须在有效时钟边沿之前到达的最小时间;

2、保持时间是数据在有效时钟边沿之后保持不变的最小时间。

-$setup:

如果(Treference - Tdata_event)< limit 则报告违反约束

-$hold:

如果(Tdata_event - Treference)< limit 则报告违反约束

-$width:检查脉冲宽度是否满足最小宽度要求。

违约条件同setup与hold

用于检查信号值从一个跳变的下一个跳变之间的时间,data_event是reference_event信号的下一个反向跳变沿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值