HDLBits (1) — 第一步
本题链接:
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