[Verilog]02语言要素 数据类型

02 语言要素 数据类型

Verilog和C语言语法很相似,但是在设计上完全不一样,重视区别性。C语言是顺序结构,Verilog是并行结构,verilog仿真软件是顺序执行的,和实际硬件有差异。

语言要素

  1. 空白符
    空格符(\b),制表符(\t)

  2. List item注释符
    单行注释// 多行注释/* */
    注释全部写成英文

  3. 标识符
    比较特殊 ,大小写一样。只允许字母,数字,$,下划线,第一个字符必须是字母和下划线。

  4. 转义标识符
    没啥用,作用是使得不合法的标识符合法
    例如\a+b=c

  5. 关键字
    所有关键字都是小写的

  6. 数值
    概念与传统数值不一样,对于信号线,高电平为逻辑1,低电平为逻辑0,x为未知逻辑状态(高电平和低电平同时加到非门),z为高阻态(gate导通和截止,截止为高阻态,总线形式)。总共4种状态。

  7. 整数表示
    二进制 b
    八进制 o
    十六进制 h
    十进制 d(尽可能避免)
    所有正负号都是以补码形式存在,负数补码是反码加一。
    size表示多少位,三根线表示八进制,四根线表示十六进制。size一定要写

//below number is correct
8'b1001101
5'035
4'b1x_01//allow use _ to devide number to two parts
//some error example
4'd-4 //right -4'd4 代表4的补码
3' b001 //can't leave a blank space
(4+4)'b11//size must be type of int

小数2.5的表示,将整数和小数分开
分为定点表示方式和浮点表示方式,定点表示规定了小数点的位置。
实数不能直接用于设计

数据类型

  1. 信号强度表示驱动能力,从supply到highz
  2. 连线型wire,tri标准连线(wire型)
    在这里插入图片描述
wire a;
wire[7:0] b;
wire[4:1]c,d; //定义了二个4位的wire型数据
  1. 寄存器型(reg型)
    只表示存储,没有驱动强度
reg[3:0]b;//define 4 bits
  1. 存储器型(memory型)
    通过对reg型变量建立数组对存储器建模,描述RAM型存储器和ROM存储器和reg文件。
reg mena[n-1:0];//一个由n个1位寄存器构成的存储器组
mena[3]=0;//给memory中第三个存储单元赋值
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值