FPGA学习笔记#1-Verilog笔记#1

一、基本数据类型:

1. wire(线网)

wire类型表示硬件单元之间的物理连线,由其连接的器件输出端连续驱动。

2.reg(寄存器)

寄存器(reg)用来表示存储单元,它会保持数据原有的值,直到被改写

3.向量

当位宽大于 1 时,wire 或 reg 即可声明为向量的形式

还支持指定 bit 位后固定位宽的向量域选择访问

二、寄存器变量-integer,real,time

4.integer(整数)

        整数类型用关键字integer来声明。声明时不用指明位宽,位宽和编译器有关,一般为32bit。reg型变量为无符号数,而integer型变量为有符号数。

5.real

      实数用关键字 real 来声明,可用十进制或科学计数法来表示。实数声明不能带有范围,默认值为 0。如果将一个实数赋值给一个整数,则只有实数的整数部分会赋值给整数  

6.time

        Verilog 使用特殊的时间寄存器 time 型变量,对仿真时间进行保存。其宽度一般为 64 bit,通过调用系统函数 $time 获取当前仿真时间。

三、数组

        在 Verilog 中允许声明 reg, wire, integer, time, real 及其向量类型的数组。

数组维数没有限制。线网数组也可以用于连接实例模块的端口。数组中的每个元素都可以作为一个标量或者向量,以同样的方式来使用

定义:

赋值:

*注意

四、存储器

存储器变量就是一种寄存器数组,可用来描述 RAM 或 ROM 的行为

五、参数

参数用来表示常量,用关键字 parameter 声明,只能赋值一次,但是,通过实例化的方式,可以更改参数在模块中的值。(局部参数用 localparam 来声明)

六、字符串

字符串保存在 reg 类型的变量中,每个字符占用一个字节(8bit)。因此寄存器变量的宽度应该足够大,以保证不会溢出

例如,为存储字符串 "run.runoob.com", 需要 14*8bit 的存储单元:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值