当前位置:网站首页>HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits
HDLBits: 在线学习 SystemVerilog(零)-在线“巡礼” HDLBits
2022-08-10 17:05:00 【碎碎思】
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。题目由浅入深,大家可以试着自己学习解答,然后在找网上的代码对比学习(无标准答案)。
最后我这边做题的代码也是个人理解使用,有错误欢迎大家批评指正,祝大家学习愉快~
边栏推荐
猜你喜欢
一文带你彻底拿下a,b两点间等效电阻
数据库注入提权总结(二)
Embedded Development: Embedded Basics - Mapping Peripherals Using Arrays of Pointers
超宽带uwb精准定位,厘米级室内定位技术,实时高精度方案应用
v-on补充:自定义参数传递和事件修饰符
未来5年的9大技术趋势
The DGIOT platform displays the whole process code analysis of OPC reporting data in real time
家电巨头,不碰儿童生意
#夏日挑战赛#【ELT.ZIP】啃论文俱乐部——学术科研方法论沉淀辑
雷达人体存在感应器,人体感知控制应用,为客户提供真实的感知方案
随机推荐
v-on补充:自定义参数传递和事件修饰符
华为-坐标移动
C专家编程 第10章 再论指针 10.3 在锯齿状数组上使用指针
软件工程基础知识--需求分析
阿里工作7年,肝到P8就剩这份学习笔记了,已助朋友拿到10个Offer
64位 RT-Thread 移植到 Cortex-A53 系统 bug 修复笔记
shell中判断文件目录是否存在
【荣耀智慧服务】快捷服务开发指南
初始网络原理
nacos服务注册
建筑施工员证怎么考?报名条件及报考时间是什么?
TradingView_学习笔记
MySQL增加字段SQL语句
3 年 CRUD 从 8K 涨到 28K,谁知道这4个月我到底经历了什么?
DeamNet代码学习||网络框架核心代码 逐句查找学习
C专家编程 第10章 再论指针 10.5 使用指针向函数传递一个多维数组
unr #6day1 T2题解
分类常用的神经网络模型,深度神经网络主要模型
bp神经网络反向传播原理,BP神经网络反向传播
excel的lookup函数查找匹配关键字的坑