Verilog HDLBits 第一期:Getting Started

目录

Problem 0:Getting Started

问题描述:

Solution:

Problem 1:Zero

问题描述:

Solution:


HDLbits网站如下

Problem sets - HDLBits (01xz.net)

Problem 0:Getting Started

欢迎来到HDLbits!

刚开始学习数字逻辑电路设计可能会让人不知所措,因为你需要学习新的概念、一种新的硬件描述语言(比如:Verilog)、一些新的软件,通常还需要一块FPGA开发板。好在HDLbits 提供了一种通过单击“Simulate”(仿真)来练习设计和调试简单电路的方法。

设计电路需要以下步骤:编写HDL(Verilog)代码,编译代码以生成电路,然后仿真电路的功能并修复错误。

编写代码

编写代码最简单的方法是在下面的代码框中进行。因为网页已经为您生成了部分代码,比如模块的输入、输出端口。

单击Simulate以编译和仿真你的设计。

编译(逻辑综合)

你的代码会通过Altera Quartus 的综合器编译以生成电路。Quartus 会生成综合信息。单击Show Quartus messages 来显示/隐藏它们。通过这些信息可以进行修改来减少代码中的警告,但是有的警告可以忽略。

仿真

你编译的电路通过仿真来检测其功能否正常。HDLbits使用Modelsim同时仿真你的电路和参考解决方案,然后比较两者的输出。仿真报告会返回两类信息:

首先,它会报告你的电路的输出是否与参考电路的输出吻合(没有 mismatch)或者出现多少mismatch。Mismatch代表某一时刻两者的输出并不一致。

其次,它会产生电路运行测试向量时的输出时序图。仿真波形图分为三部分:“输入”、“你的电路的输出”、“参考电路的输出”。在一个正确的电路中,你的电路的输出与参考电路的输出是一样的。“Mismatch”信号提示你哪里出现了不匹配。

值得注意的是,不要修改题目给定的模块以及端口名称,否则会造成仿真错误!

最终状态

如果你的电路是正确的,你将会看到Status: Success!当然还会有别的几种状态:

  • Compile Error — 电路编译失败
  • Simulation Error — 电路编译成功但是仿真出现错误。
  • Incorrect — 电路成功编译和仿真,但是输出结果和参考结果不同。
  • Success! — 电路正确!

你可以在  User Stats - HDLBits页面查询自己的状态以及完成度在所有参与用户中的排名。

问题描述:

我们将从一小个HDL题目中熟悉HDLbits 的界面。这是本次练习中你需要构建的电路:

构建一个没有输入、有一个输出的电路。输出端口需要始终驱动逻辑1(即逻辑高)。

期望的答案长度:一行

模块的端口已经给出

Solution:

module top_module( output one );

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

endmodule

1在数字逻辑中代码逻辑高,0代表逻辑低。

所以 assign one =1'b1;  即可

但是出现了一个警告(在本题中可忽略):

Warning (13024): Output pins are stuck at VCC or GND

此警告表示输出端口永远不会改变。如果输出端口不应该是常量的话,这表明已经出现了错误。检查导致被分配的值不会改变的原因(比如assign a = x & ~x; a始终为0)

Problem 1:Zero

问题描述:

构建一个没有输入、有一个输出的电路。输出端口需要始终驱动逻辑0。

现在您已经解决了上一个问题,让我们看看您是否可以在没有提示的情况下完成一个简单的问题。

期望的答案长度:一行

Solution:

module top_module(
    output zero
);// Module body starts after semicolon
    assign zero = 1'b0;

endmodule

Hints:对于Quartus,输出端口默认赋值为0,所以这题比上一题还简单。

这是我第一次尝试写博客,翻译得比较僵硬,希望以后能好一点并且坚持下去。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值