首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Verilog HDL中的惯性延迟

Verilog HDL中的惯性延迟
EN

Stack Overflow用户
提问于 2015-04-21 19:46:07
回答 2查看 11.3K关注 0票数 3

我在Verilog HDL中找到了两种不同的解释惯性延迟的不同来源。

1)第一条规定,任何小于指定延迟的输入信号都将被忽略。

2)第二种方法说,给定其中一种输入的变化,输出信号将在预定的时间使用当时的输入信号的值来评估。

例如:考虑延迟缓冲区

代码语言:javascript
复制
assign #4 out = in;
initial
  begin
    in = 0;
 #5 in = 1;
 #1 in = 0;
 #1 in = 1;
  end

如果我们监测信号,这会导致

代码语言:javascript
复制
     0         5  6  7  8  9 10 11  
     |         |  |  |  |  |  |  |   
                __    _________________
in    _________|  |__|
                                  _____
out1) XXXXXXX____________________|
                            ___________
out2) XXXXXXX______________|

out1)忽略输入(5,6)脉冲在“向上”和(6,7)脉冲处于“下行”状态,因为时间太短,只有一个时间单位。但后来"in“熬夜时间够长(7, 11 ),因此11岁时就变了。

( out2)在时间步骤9安排一个评估,因为输入在时间5处发生变化。同样地,在10和11时,"in“分别在6和7时发生了变化。因此,在9、10和11的时候,"out“在这些时候取" in”的当前值,在这种情况下,这个值总是"up“。

哪种评价是正确的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-21 20:10:01

找到答案的最简单的方法-测试。让我们添加一个简单的行:

代码语言:javascript
复制
$monitor("%g out = %b", $time, out);

监视out信号并运行一些模拟器(如Riviera)。结果将会是

代码语言:javascript
复制
 0 out = x
 4 out = 0
11 out = 1

所以你的第一个方法是正确的。

票数 4
EN

Stack Overflow用户

发布于 2015-04-21 21:40:34

我建议您查看以下链接,以便很好地了解如何在Verilog中实现惯性延迟和传输延迟:

1

2

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29781724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档