hdlbits系列verilog解答(always块if语句2)

编程入门 行业动态 更新时间:2024-10-19 16:24:47

hdlbits系列verilog解答(always块if<a href=https://www.elefans.com/category/jswz/34/1770772.html style=语句2)"/>

hdlbits系列verilog解答(always块if语句2)

文章目录

    • 一、问题描述
    • 二、verilog源码
    • 三、仿真结果


一、问题描述

常见的错误来源:如何避免锁存器
在设计电路时,首先要考虑电路:

  • 我想要这个逻辑门
  • 我想要一个具有这些输入并产生这些输出的组合逻辑
  • 我想要一个组合逻辑,然后是一组触发器

你不能做的是先写代码,然后希望它能生成一个合适的电路。
If (cpu_overheated) then shut_off_computer = 1;
If (~arrived) then keep_driving = ~gas_tank_empty;

语法正确的代码并不一定会产生合理的电路(组合逻辑 + 触发器)。通常的原因是:“在您指定的情况之外会发生什么?Verilog的答案是:保持输出不变。

这种“保持输出不变”的行为意味着需要记住当前状态,从而产生锁存器。组合逻辑(例如,逻辑门)无法记住任何状态。注意 Warning (10240): … inferring latch(es)" 消息。除非锁存器是故意的,否则它几乎总是表明存在错误。组合电路必须在所有条件下为所有输出分配一个值。这通常意味着您始终需要 else 为输出分配子句或默认值。

以下代码包含创建锁存器的错误行为。修复这些错误,以便只有在计算机确实过热时才会关闭计算机,并在到达目的地或需要加油时停止驾驶。

更多推荐

hdlbits系列verilog解答(always块if语句2)

本文发布于:2023-11-16 15:44:43,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1626808.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:语句   系列   hdlbits   verilog

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!