数字电路与逻辑电路——03Verilog HDL基本语法于C语言的异同

一、Verilog HDL基本要素

代码大体格式

在这里插入图片描述

1.1 模块(module)和端口(port)

- 模块声明
module<模块名>(模块端口列表);
	<模块内容>
endmodule

- 端口列表
列出所有端口的名称

- 端口声明
<端口类型><端口名>

- 端口类型
- input 输入端口
- output 输出端口
- inout 双向端口 【既可以输入、输出(实际中并不希望使用)】

注意点:

  1. 函数名-见名知意
  2. 端口列表于C的区别:Verilog一般如图声明变量
    在这里插入图片描述

1.2 数据类型(Data Types)

- 常量
	- 参数(parameter)
- 变量
	- 线网型(nets type)
		- wire 型最常用
	- 寄存器型(register type)
		- 标量
		- 向量
		- 数组

1.2.1 变量

net 网线型

在这里插入图片描述
wire型最常用 (类似高中物理实验型的线路 无存储功能)
无符号数

register 寄存器类型

在这里插入图片描述
在这里插入图片描述
标量
向量
数组
???注:不代表必将综合成物理(硬件)寄存器!—— 有存储的通常于时序有关、时钟

1.2.2 常量

使用parameter可用来定义常量
*常量的合理使用在高级编程和大型程序设计中很重要!

在这里插入图片描述

1.3 数字

- sized,unsized;<位宽><进制><数字>
-  进制
-  负数
-  特殊数符
-  特殊情况

1.3.1 标准定义

- sized,unsized;<位宽>’<进制><数字>
- sized:3'b010		// 表示:三位二进制数字,值为010
- unsized:
	- <进制>默认为十进制
	- <位宽>默认为32-bit

1.3.2 进制

- 二进制(‘b’或‘B’)
- 八进制(’o‘或’O‘)
- 十进制(‘d’或‘D’)
- 十六进制(‘h’或’H‘)

1.3.3 负数

- 负数——在<位宽>前加负号

1.3.4 特殊符号

- ‘_’(下划线):增加可读性
- ‘x’或‘X’(未知数)
- ‘z’或‘Z’(高阻态)。【高阻态会天打雷劈】

1.3.4 特殊情况

- 如果高位是0、x、z,高位分别补0、x、z;
- 如果高位时1,左边补0.

1.4 运算符

- 算数运算符
- 逻辑运算符
- 位运算符
- 关系运算符
- 等价运算符
- 缩微运算符
- 位移
- 条件
- 拼接

1.4.1 运算符注意点

在这里插入图片描述
在这里插入图片描述

加法器运算本质就是异或运算
<= 也用于一种赋值操作,用在时许逻辑中,
= 用于组合逻辑运算

在这里插入图片描述

三个等号是全等,指包括未定态在内的状态都相等

在这里插入图片描述

1.4.2 运算符的优先级

在这里插入图片描述

assign 线连接,没有存储功能,直接出结构
initial block 初始化模块 只运行一次 通常用来赋初始值
always block 可以重复使用

全加法器
半加法器

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值