在线“巡礼” HDLBits

HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits

关于HDLBits,已经不止一次推荐给大家了,我也不在唠叨了,今天之后将使用约二十几篇文章使用SV实现HDLBits。

开篇第零篇当然是带大家先熟悉一下HDLBits网站。

网站介绍

网址如下:

https://hdlbits.01xz.net/

打开网页,首先就是网站的介绍:

简单翻译以下就是:

HDLBits 是一组小型电路设计习题集,使用 Verilog 硬件描述语言 (HDL) 练习数字硬件设计~

这里特意提醒了以下,如果想跟踪学习的进度或换到另一个浏览器使用,最好创建一个用户名和密码,以便可以从其他地方登录使用。

创建《用户名和密码》很简单,下面的界面:

点击箭头位置后,填写用户名和密码后,点击箭头位置就创建完成了。

完成后登录就可以在箭头位置看到你的用户名和密码了。

核心内容

网站的核心当然是相关语法和题目了。首先就是几大主题:

相关内容就是和Verilog相关的组合逻辑和时序逻辑了。点击Geting Started,开始练习题目。

进去后就可以当成一本“语法书”使用了,涉及Verilog的相关语法整理,层级关系很Nice。

点击进去相关标题就可以联系题目了~

关于题目

整个网站大约180道题左右,没有标准答案,网上很多关于Verilog的参考答案,度娘就有了,我们这次是使用SystemVerilog,网上目前好像还没有答案,不过我尽量快点更新~

练习题

我们今天更新两道练手用的练习题,主要熟悉整个网站的使用环境。

Step one

点击图片上的位置就可以第一道题目练习了,前面关于很多网站题目的介绍,大家有兴趣可以看看。

进度条拉到最后就看到第一道题目了:

其中:

  • 区域1:说明题目是实现什么功能;

  • 区域2:顶层声明(输入、输出声明一定要使用定义好的);

  • 区域3:编写代码

编写完代码后点击区域3中的Submit,就可以进行综合仿真了,我们接下来实际操作一下。

题目说明

设计一个没有输入和一个输出的电路,该输出端口时钟驱动逻辑 1(或逻辑高电平)。

模块端口声明如下:

module top_module( output one );

PS:这里注意一下下图中位置,这是在你不理解题目的情况下可以查看作者给的小小提示~

题目解析

这个没什么说的,一句话就可以了“assign one = 1;”。难度不大,对于SV来说,我们要修改一下输出端口的变量类型为logic,这部分内容可以查看《数字硬件建模SystemVerilog(八)-端口声明》,然后将下面的代码输入到区域3中即可。

module top_module (
    output var logic one
);

assign one = '1 ;
    
endmodule

点击Submit,等待一会就能看到下图结果:

第一题就完美结束,我们今天再做一道。

Zero

点击下图位置就可以进入到下一题了。

题目说明

设计一个没有输入和一个输出的电路,输出一个常数0(或逻辑低电平)

模块端口声明如下:

module top_module(
    output zero
);

题目解析

这个没什么说的,一句话就可以了“assign one = 0;”。难度不大,对于SV来说,我们要修改一下输出端口的变量类型为logic,这部分内容可以查看《数字硬件建模SystemVerilog(八)-端口声明》,然后将下面的代码输入到区域3中即可。

module top_module (
    output var logic zero 
);
    
    assign zero = '0 ;
endmodule

点击Submit,等待一会就能看到下图结果:

第二题就结束了。

总结

今天简单介绍了一下HDLBits这个网站,简单又不失严谨,真的很适合入门学习Verilog/SV。题目由浅入深,大家可以试着自己学习解答,然后在找网上的代码对比学习(无标准答案)。

最后我这边做题的代码也是个人理解使用,有错误欢迎大家批评指正,祝大家学习愉快~

SystemVerilog-条件(三元)运算符

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

OpenFPGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值