FPGA学习——HDLBits网站刷题笔记整理(1)

Verilog HDL是目前应用最广泛的硬件描述语言,它可以用来进行各种层次的逻辑设计,也可以进行数字系统的逻辑综合、仿真和分析等。
一、基础部分
1、模块(module)
module是Verilog HDL中的基本单元,它代表一个基本的功能块,用于描述某个设计的功能或结构,类似于C语言中的函数。
在编写Verilog代码时,module和endmodule是时刻绑在一起的,即是一段代码以module开始,以endmodule结束。
在这里插入图片描述

wire 线型
reg 寄存器型

2、wire主要用以构成信号间的传递或形成组合逻辑。wire的值可以随时改变,不受时钟信号的限制。所有module的input和output在没有声明的前提下默都是wire型的。wire赋值采用assign语句,使用符号 =

3、reg是寄存器的抽象表达,可以存储数值。reg可以保存输出状态,状态改变一般当下一个时钟沿到来时进行。reg赋值必须在时序逻辑块中,使用符号 <=

4、assign语句属于组合逻辑的范畴,主要有以下几点作用:
(1)持续赋值
(2)连线
(3)对wire型变量进行赋值
想要更好的运用assign语句,需要注意一下几点:
(1)在module中的所有过程块(如initial和always)、连续赋值语句(如assign语句)和实例引用都是并行的。在同一个module中三者的出现没有先后顺序。
(2)只有连续赋值语句和实例引用语句可以独立于过程块存在于module的功能定义部分。
(3)连续赋值语句独立于过程块,所以不能在always过程语句中使用assign语句。

5、位运算符
1)“取反”运算符~
~是一个单目运算符,用来对一个操作数进行按位取反运算。
运算规则如下:
~1 = 0;
~0 = 1;
2)“按位与”运算符&
按位与运算是对两个操作数的对应位进行与运算。
运算规则如下:
0 & 0 = 0;
0 & 1 = 0;
1 & 0 = 0;
1 & 1 = 1;
即对应位都为1时,结果为1,否则结果为0。
3)“按位或”运算符|
按位或运算是对两个操作数的对应位进行或运算。
运算规则如下:
0 | 0 = 0;
0 | 1 = 1;
1 | 0 = 1;
1 | 1 = 1;
即对应位只要有1个是1的,结果为1,否则结果为0。
4)“按位异或”运算符^(也称之为XOR运算符)
按位异或运算是对两个操作数的对应位进行异或运算。
运算规则如下:
0 ^ 0 = 0;
0 ^ 1 = 1;
1 ^ 0 = 1;
1 ^ 1 = 0;
即对应位的值相同的,结果为0,不相同的结果为1。
5)“按位同或”运算符^~
按位同或运算就是将两个操作数的对应位先进行异或运算再进行非运算。
运算规则如下:
0 ^~ 0 = 1;
0 ^ ~1 = 0;
1 ^ ~0 = 0;
1 ^ ~1 = 1;

即对应位的值相同的,结果为1,不相同的结果为0。

6、逻辑运算符
1)&&逻辑与
2)||逻辑或
3)!逻辑非
逻辑运算的真值表如下:
在这里插入图片描述
以上是HDLBits Verilog语言刷题网站中的Basics部分,后续部分会继续更新。对一些基础性知识点进行归纳总结,有错误请指正。仅供大家学习参考,谢谢!!!

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TC_zyq

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

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

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

打赏作者

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

抵扣说明:

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

余额充值