首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OR门5种行为模型的差异

OR门5种行为模型的差异
EN

Stack Overflow用户
提问于 2015-05-21 13:35:34
回答 1查看 145关注 0票数 0

我想为OR门设计5种行为模型。这些模型之间有什么区别?每种模型都实现哪些延迟(惯性延迟和传输延迟),原因是什么?

模式1: LHS阻塞

代码语言:javascript
复制
#4 O = (A | B);

模式2: LHS非阻塞

代码语言:javascript
复制
#4 O <= (A | B);

模式3: RHS阻塞

代码语言:javascript
复制
O = #4 (A | B);

模式4: RHS非阻塞

代码语言:javascript
复制
O <= #4 (A | B);

模式5:连续分配

代码语言:javascript
复制
assign #4 O = (A | B);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-21 14:44:57

CliffordE.Cummings有一篇非常好的论文"在Verilog行为模型中加入延迟的正确方法“,您可以在该论文中找到在Verilog中使用不同延迟模型的一些提示:

  • 阻塞分配延迟模型: 建模准则:不要延迟阻塞分配的LHS来建模组合逻辑。这是一种糟糕的编码方式。 Testbench指南:在testbench中放置阻塞分配的LHS延迟是合理的,因为延迟只是用于时间-空间顺序输入刺激事件。
  • RHS阻塞延迟: 建模准则:不要延迟阻塞分配的RHS来建模组合逻辑。这是一种糟糕的编码方式。 Testbench指南:不要在testbench中延迟阻塞分配的RHS。 通用准则:延迟任何阻塞分配的RHS既令人困惑,也是一种糟糕的编码风格。应该避免这种Verilog编码做法。
  • 非阻塞分配延迟模型: 建模准则:不要延迟非阻塞分配的LHS来建模组合逻辑。这是一种糟糕的编码方式。 Testbench准则:与阻塞分配相比,非阻塞分配的模拟效率更低;因此,通常不鼓励为建模或测试工作台生成对非阻塞分配的LHS设置延迟。
  • RHS非阻塞延迟: 推荐的应用程序:使用这种编码风格来建模行为延迟线逻辑。 建模准则:只有在试图对传输输出传播行为建模时,才会延迟非阻塞分配的RHS。这种编码方式将精确地建模延迟线和具有纯传输延迟的组合逻辑;然而,这种编码方式通常会导致较慢的模拟。 Testbench准则:这种编码风格通常用于测试台,当刺激必须在未来的时钟边缘或在设置延迟之后排定时,同时不阻止在同一个过程块中分配后续的刺激事件。
  • 连续分配延迟模型: RHS延迟模型在连续分配中是非法的

在延迟之后,前面提到的模型:

  • 将延迟加到连续分配中,精确地建立了具有惯性延迟的组合逻辑模型。
  • 在非阻塞分配的右手侧(RHS)添加延迟,可以准确地模拟出具有传输延迟的组合逻辑。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30375349

复制
相关文章

相似问题

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