-3
\$\begingroup\$

我在verilog开始,我很困惑的真值表,我如何在verilog中使用“if-else”,我的老师给我们介绍了以下的例子:

在这里输入图像描述

看完之后,我们要做以下练习:

在这里输入图像描述

我很困惑,我想要的是一个简短的解释,如果可能的话,一个如何解决它的简单例子,我不希望你解决我的任务,但帮助我理解它,提前谢谢。

作为旁注,我使用的是Quartus prime 20.1

新的因素
拉斐尔·洛扎诺是本网站的新贡献者。在要求澄清、评论和回答时要小心。看看我们行为准则
\ \ endgroup \美元
2.
  • 4.
    \$\begingroup\$ 我投票结束这个问题,因为它似乎是一个家庭作业,没有试图解决它。 \ \ endgroup \美元
    15小时前
  • 3.
    \$\begingroup\$ 好像给了你一个简单的例子。那个例子有什么特别令人困惑的地方? \ \ endgroup \美元 14小时前
0
\$\begingroup\$

VHDL与verilog沉淀大约在同一时间,即20世纪80年代初,由完全不同的演员无中生有,但事后看来,原因类似。他们的目的更多的是记录数字ASIC和/或逻辑系统,而不是其他。不久,尝试模拟它们的想法就出现了(一年或两年后)。直到后来,FPGA或晶圆掩模的自动合成才出现。Digilent有这是关于verilog历史的参考资料.有必要略读一下,了解一下背景。

为了简单起见,主要有两种总是@块:组合和顺序。你可以很容易地分辨出哪个是哪个,只要注意关键字\$posedge\$\ negedge \美元作为副词出现在敏感性列表中。如果是,那么它是顺序逻辑(可能带有某种异步事件)。如果不是,那就是组合。

敏感性列表告诉模拟器(或合成器)在进行封闭的块行为描述之前要检查什么。对组合代码。

mux是一种组合逻辑,所以如果你看敏感度列表,你应该期待看到总是@敏感性列表显示\$posedge\$\ negedge \美元.和你不。这是一件好事。通常,在组合逻辑的情况下,你会看到always@ (*)而不是一个具体的列表。至少在刚开始的时候,这样做可能更安全。它只是意味着“如果有任何变化”,应该考虑并重新评估块。(它会为你推断敏感性列表。)这通常是你想要的。但您也可以很迂腐,只列出影响块的特定输入。由你决定。

由于您正在研究组合问题,我将避免讨论您所看到的情况\$posedge\$\ negedge \美元出现在敏感名单上。

现在,在您的例子中,您有两个选择位(可以说是2位导线)和四个输出位(表示为4位导线)。您应该能够为包含总是@声明。你知道如何指定多位线吗?您能讨论一下,当两个选择位中的任何一个发生变化时,您将如何编写描述所需行为的块吗?只要用英语(请不要用西班牙语)写出来,就好像你在试图描述它一样。单凭这一点就能让你离目标很近了。

\ \ endgroup \美元
3.
  • \$\begingroup\$ "凭空而来"这个说法太轻描淡写了。Verilog的一些作者给出了更准确的历史:semiengineering.com/..。 \ \ endgroup \美元
    dave_59
    5小时前
  • \$\begingroup\$ @戴夫:那是90页!!但我会读的谢谢! \ \ endgroup \美元
    jonk
    4小时前
  • \$\begingroup\$ @戴夫,该死!读得真好!读了一半,读起来很好。再次感谢! \ \ endgroup \美元
    jonk
    4小时前

不是你想要的答案?浏览已标记的其他问题问你自己的问题