Verilog——入门进程学习(二)

标识符:

  1. Verilog语言本身区分大小写,对于Verilog语言本身来说,其关键字都是小写,如always语句等等。
  2. 标识符用于定义模块名、端口名、信号名等一系列需要定义的。对于Veriolg来说,其标识符可以是任意的一组字母、符号、数字以及和下划线的组合,但是在这里要注意的一点是,标识符的第一位字符必须是字母或者下划线。

注释:

两种注释方式:

  1. 以 /* 开始,*/ 结束,此类注释可以扩展到多行。
  2. 以 // 开始至本行结束都是注释语句,不可扩展到多行。

数字值集合:

值集合:

在Verilog语言中,规定了四种基本的值类型:

  1. 0:逻辑0或假。
  2. 1:逻辑1或真。
  3. X:未知值。
  4. Z:高阻。
    在语句中,X和Z是不区分大小写的,即0x1z与0X1z值是相同的。

常量:

常量在Verilog中可划分为三大类:整型、实型、字符串型。

整型:

整数型可以按照如下的两种方式进行书写:

  1. 简单的十进制数格式:这种形式的整数定义为带有一个可选的“+”或“-”操作符的数字序列。
  2. 基数格式:如同 [size]'base value

size定义以位计的常量的位长;
base则表示进制,有以下几种表示方式:

  1. 二进制(b或B)
  2. 八进制(o或O)
  3. 十进制(d或D)
  4. 十六进制(h或H)

value是基于base的值得数字序列。值X和Z以及十六进制中的A到F不区分大小写。

实例如图:
基数表示实例
假设当定义的长度比为常量指定的长度长,通常在左边填0补位。但是如果数最左边一位为x或z,就相应地用x或z在左边补位。
如:

  1. 10‘b10 左边添0占位,0000000010
  2. 10’bx0x1 左边添x占位,xxxxxxx0x1

实型:

支持小数或者科学型表示,例如:3.14  2.0e3

字符串型:

字符串是双引号内的字符序列。字符串不能分成多行书写。用一串8位二进制ASCⅡ码的形式表示,每一个8位二进制ASCⅡ码代表一个字符。例如:字符串 “ab” 等价于16’h5758。如果字符串被用作Verilog表达式或复制语句的操作数,则字符串被看做无符号整数序列。变量需要8*n位,n表示字符串的长度。

/*字符串变量的声明。*/ 
//存储12个字符的字符串“Hello China!”需要8*12(即96位)宽的寄存器。 
reg [8*12:1] str1; 
initial 
begin 
str =“Hello China!”; 
end 

数据类型:

在Verilog中,主要是两种数据类型:线网类型(net type)和寄存器类型(reg type)

线网类型:

  1. 线网型还有其他数据类型,包括 wand,wor,wri,triand,trior,trireg 等。这些数据类型用的频率不是很高,这里不做介绍。在Verilog中,wire是最常用的线网类型。
  2. wire 类型表示硬件单元之间的物理连线,因此不存储逻辑值,由其连接的器件输出端连续驱动。如果没有驱动元件连接到 wire 型变量,缺省值一般为 “Z”。
  3. 信号没有定义数据类型时,缺省为wire类型。
  4. tri其实和wire在用法上是一模一样的,不过有时候,我们需要定义一些会被三态门驱动的硬件连线,用tri来命名会让代码更具有可读性,让人一看就知道这根连线上会出现Z状态。

寄存器类型:

  1. Verilog中规定,凡是在程序块中被赋值的变量,都必须是寄存器类型的。(程序块:例如always块)
  2. reg是最常用的寄存器类型,寄存器类型通常用于对存储单元的描述,如D型触发器、ROM等。存储器类型的信号在某种出发机制下分配了一个值,在分配下一个值之时保留原值。但必须注意的是,reg类型的变量,不一定都是存储单元。
reg [3:0]      counter ;    //声明4bit位宽的寄存器counter
reg [0:31]     data ;       //声明32bit位宽的寄存器变量data, 最高有效位为0,建议对于数组类型,按照降序方式进行,如[31:0]
reg  A;           //1位寄存器。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Xa_L

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

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

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

打赏作者

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

抵扣说明:

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

余额充值