HDLBits刷题合集—1 入门篇

HDLBits刷题合集—1 入门篇

HDLBits-1 Step one

欢迎来到HDLBits !
刚开始接触数字逻辑设计时,你可能会感到不知所措,因为你需要同时学习新的概念、新的硬件描述语言(例如Verilog)、几个新的软件包,通常还有一个FPGA板。HDLBits提供了一种方法来练习设计和调试简单的电路,只需单击“Simulate”即可。
设计一个电路需要几个步骤:编写HDL (Verilog)代码,编译代码生成电路,然后仿真电路并修复bug。

Writing Code

编写代码的最简单方法是在下面的“代码编辑器”框中编写代码。对这个问题,我们已经为你填写了大部分代码,你只需继续完成这个电路的代码。
单击“Simulate”来编译和模拟你的设计。

Compiling (Logic Synthesis)

使用Altera Quartus编译代码以生成电路。Quartus产生大量的信息。单击“Show Quartus messages”以显示/隐藏它们。减少警告的数量是一种很好的做法,但有时将它们全部删除是不实际的。

Simulation

模拟编译后的电路,以测试其功能是否正确。HDLBits使用ModelSim并行仿真你的电路和我们的参考解决方法,然后比较模块的输出。模拟报告了两件事情:

首先,它报告您的电路是否与参考电路完全匹配(零“mismatches”)或发生了多少“mismatches。不匹配是指电路的输出与参考的输出不匹配的样本数量。
其次,它可能产生时序图,显示你的电路输出时,运行我们的测试向量。仿真波形分为三个部分:“Inputs”, “Yours”, and “Ref”。在正确的电路中,“Your”输出将与“Ref”输出相同。“Mismatch”信号告诉你哪些样本不匹配。

顶层top_module的模块名和端口名不能改变,否则会出现仿真错误。

Final Status

如果你的电路是正确的,你将看到的状态:Success! 还有一些其他的可能:
· Compile Error——电路没有编译。
· Simulation Error——电路编译成功,但仿真没有完成。
· Incorrect ——电路编译和仿真成功,但输出与参考不匹配。
· Success!——电路是正确的。
你可以在My Stats页面上跟踪或分享你的进度。

Problem Statement

我们将从少量的HDL开始,以熟悉HDLBits使用的接口。这里这个练习​是你需要完成的电路描述:
建立一个没有输入只有输出的电路。输出应该总是驱动1(或逻辑高)。

期望方法长度:1行左右。

下面展示解决办法。

module top_module( output one );

// Insert your code here
    assign one = 1'b1;

endmodule

HDLBits:https://hdlbits.01xz.net/

Note

新手一枚,主要分享博客,记录学习过程,后期参考大佬代码或思想会一一列出。欢迎大家批评指正!

你可能感兴趣的:(HDLBits)