Verilog语法笔记

本文介绍了Verilog中的基本数据类型,如wire表示物理连线,reg用于存储数据,包括整数、实数和时间类型。还提到了向量、存储器声明以及参数和局部参数的用法。非阻塞赋值常用于时序逻辑,而阻塞赋值用于组合逻辑。case语句要求表达式位宽一致,任务和函数是Verilog中的两种不同功能定义方式。
摘要由CSDN通过智能技术生成

数据类型汇总

(wire)线网:表示硬件单元之间的物理连线(缺省数值为Z)

(reg)寄存器:表示存储单元,表示数据原有的值,直到被改写。整数,实数,时间等数据类型也属于寄存器类型,寄存器类型只能用在always和initial语句块中。

整数(integer):声明不用指明位宽,位宽和编译器有关,一般为32bit,(integer有符号数,reg型为无符号型)

实数(real):可用十进制或者科学计数法表示,实数声明不能带有范围,默认值为0,

        将一个实数赋值给一个整数,只有实数的整数部分会赋值给整数。

时间(time):特殊时间寄存器time型变量,位宽一般为64bit

        寄存器不需要驱动源,不一定需要时钟信号。

向量:当位宽大于1时,wire和reg即可声明为向量形式。

向量域选择:[bit+:width]从bit位开始递增,位宽为width

[bit-:width]从bit开始递减,位宽为width

        信号组合成新向量需要借助大括号

存储器:存储器变量是一种寄存器数组,可以用来描述RAM或者ROM

参数:表示常量,用关键字parameter声明,只能赋值一次

局部参数(localparam声明)与paramter区别:他的值不能被改变

非阻塞只能给寄存器型变量进行赋值

case语句中所有表达式的位宽必须一样(eg:        'bx不可使用,必须使用n'bx)

时序逻辑块多用非阻塞,组合逻辑块多用阻塞

任务和函数的对比

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值