今天学习verilog的惯性时延,引申出一点思考,发现自己过去并没有弄清楚现实中的组合逻辑中这样的情况会是什么结果:
假设我有一个与门,它有10ns的输出延迟。原本输入A、B分别为0和1,此时输出C为0。
那么,如果A传来一个宽度5ns的高电平脉冲,这个与门会对这个脉冲产生响应出现一个毛刺吗?还是说因为在输出建立之前输入已经消失,所以输出不会变化呢?
请大家帮忙分析下,谢谢!
今天学习verilog的惯性时延,引申出一点思考,发现自己过去并没有弄清楚现实中的组合逻辑中这样的情况会是什么结果:
假设我有一个与门,它有10ns的输出延迟。原本输入A、B分别为0和1,此时输出C为0。
那么,如果A传来一个宽度5ns的高电平脉冲,这个与门会对这个脉冲产生响应出现一个毛刺吗?还是说因为在输出建立之前输入已经消失,所以输出不会变化呢?
请大家帮忙分析下,谢谢!
会产生一个脉冲响应的毛刺,因为是组合逻辑。
关于你写的时延模型 wire #10 C=A&B,模拟的实际上不是 逻辑与的cell delay,而是在什么时候去拿到A&B的结果,仿真结果依赖于代码定义的位置,结果实际上是在#10这个仿真时间结束的一瞬间的A&B的结果。
关于路径延迟的定义,可以参考下面这篇文章使用specify块描述模块从输入到输出的路径延时再进行仿真。
https://www.cnblogs.com/amxiang/p/16145871.html