欢迎光临散文网 会员登陆 & 注册

HDLBits (1) — 第一步

2021-09-03 10:56 作者:僚机Wingplane  | 我要投稿

本题链接:

https://hdlbits.01xz.net/wiki/Step_one

欢迎使用HDLBits!

首先,入门数字逻辑设计可能会令人不知所措,因为您需要同时学习新概念,新的硬件描述语言(例如Verilog),几个新的软件包以及一个FPGA板。 HDLBits 提供了一种只要点击“仿真”就能练习设计和调试简单电路的方法。

设计电路需要几个步骤:编写HDL(Verilog)代码,编译代码以生成电路,然后模拟电路并修复错误。

编写代码

编写代码的最简单方法是在下面的代码编辑器框中进行操作。就这个问题而言,我们已经为您填写了大部分代码。请继续并完成此电路的代码。

单击“仿真以编译和模拟您的设计。

编译

您的代码是使用Altera Quartus编译以产生电路的。使用Quartus会产生大量消息。单击显示Quartus消息以显示/隐藏它们。减少警告的数量是个好习惯,但有时解决所有警告却不切实际。

仿真

我们需要对编译后的电路进行仿真以测试其是否正常运行。HDLBits使用ModelSim并行仿真您的电路和我们的参考解决方案,然后比较模块的输出。仿真报告了两件事:

首先,它会报告您的电路是否与参考电路完全匹配(比如零个“不匹配”)或发生了多少“不匹配”。“不匹配”是电路输出与参考输出不匹配的样本数。

其次,它可能会生成时序图,以显示运行我们的测试矢量时的电路输出。模拟波形分为三个部分:“输入”,“用户”和“参考”。在正确的电路中,“您的”输出将与“参考”输出相同。“不匹配”信号会告诉您与参考输出有哪里不匹配。

顶层模块名称和端口名称top_module不得更改,否则会出现模拟错误。

最终状态

如果电路正确,您将看到 状态:成功! 。此外还有其他几种可能性:

  • 编译错误-电路未能编译。

  • 仿真错误-电路编译成功,但仿真未能完成。

  • 错误-电路已成功编译和仿真,但输出与参考不匹配。

  • 成功!-电路正确

您可以在“我的统计信息页面上跟踪或共享进度。

问题描述

我们将从代码较少的HDL开始,以熟悉HDLBits的使用界面。这是您需要为此而练习构建的电路的描述:

建立一个没有输入和一个输出的电路。该输出应始终为1(或者是逻辑高电平)。

预期的解决方案长度:大约1行。

模块声明:

提示

我们需要让one输出为1

题目

答案

输出波形

Verilog有下列四种基本的值来表示硬件电路中的电平逻辑

  • 0:逻辑 0 或 "假"

  • 1:逻辑 1 或 "真"

  • x 或 X:未知

  • z 或 Z:高阻

x 意味着信号数值的不确定,即在实际电路里,信号可能为 1,也可能为 0。

z 意味着信号处于高阻状态,常见于信号(input, reg)没有驱动时的逻辑结果。例如一个 pad 的 input 呈现高阻状态时,其逻辑值和上下拉的状态有关系。上拉则逻辑值为 1,下拉则为 0 。

参考内容:

2.2 Verilog 数值表示 | 菜鸟教程:https://www.runoob.com/w3cnote/verilog-number.html


HDLBits (1) — 第一步的评论 (共 条)

分享到微博请遵守国家法律