verilog 03 语法 数据类型及常量变量

数据类型(19种)
  • 标量数据类型
基础数据类型
	wire
		wire 类型表示硬件单元之间的物理连线,由其连接的器件输出端连续驱动。
		如果没有驱动元件连接到 wire 型变量,缺省值一般为 "Z"
	reg
		寄存器(reg)用来表示存储单元,它会保持数据原有的值,直到被改写
		
扩展数据类型
	wire : wand,wor,wri,triand,trior,trireg
  • 向量数据类型
// 注意 : 向量不是数组
wire[X:Y] // X!=Y  && X >> 0  && Y>>0
例如 wire[9:2] a; wire[9:0] b; wire[0:9] c;
// wire[9:2] a[7:0]; // 这里的a是一个向量数组
  • 数组数据类型
在 Verilog 中允许声明 reg, wire, integer, time, real 及其向量类型的数组。
  • 端口类型
常量
直接写数字时,默认为十进制表示,默认为32bit
	二进制('b 或 'B)
	八进制('o 或 'O)
	十进制('d 或 'D)
	十六进制('h 或 'H)
值范围
	0:逻辑 0"假"
	1:逻辑 1"真"
	x 或 X:未知
	z 或 Z:高阻
	x 意味着信号数值的不确定,即在实际电路里,信号可能为 1,也可能为 0。
	
	z 意味着信号处于高阻状态,常见于信号(input, reg)没有驱动时的逻辑结果。例如一个 pad 的 input 呈现高阻状态时,其逻辑值和上下拉的状态有关系。上拉则逻辑值为 1,下拉则为 0
字符串
	"www" // 这里不包括 回车符, 长度为3 , 应该存储到 reg[3] a ; 中
		字符串保存在 reg 类型的变量中,每个字符占用一个字节(8bit)。
		因此寄存器变量的宽度应该足够大,以保证不会溢出。
		
		字符串不能多行书写,即字符串中不能包含回车符。
		如果寄存器变量的宽度大于字符串的大小,则使用 0 来填充左边的空余位;
		如果寄存器变量的宽度小于字符串大小,则会截去字符串左边多余的数据。
		例如,为存储字符串 "run.runoob.com", 需要 14*8bit 的存储单元:
	
	转义字符
	
变量
  • 定义
一个数据类型 + 一个标识符(信号名) 可以定义 一个 变量
  • 引用
1. 信号名
2. 信号名[位号]
3. 信号名[起始位号:结束位号]

注意
	二维reg型数组变量 在引用时 只能以一个单元为单位
	integer型数组变量 在引用时 只能以一个单元为单位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值