Verilog语法之数据类型

摘要:本篇文章介绍Verilog语法中的数据类型的用法以及是否可综合的性质,可实现为硬件电路的语法常称为可综合的语法,而不能够实现到硬件电路中、却可以作为仿真验证的高层次语法则称为行为级语法。
1.数值0,1,x,z

        Verilog中支持的数值包括0、1、x、z。0和1分别表示高低电平或false/true状态。x代表未知值,在仿真中x是寄存器类型变量的默认值。在实际的硬件电路中不存在这种状态,因此是行为级语法。z代表高阻态。

2.线网wire与寄存器reg

        wire和reg分别是最典型、最常用、可综合的线网和变量类型,而integer则是较为常用的行为级的变量类型,其他线网或变量类型并不常用。

        wire是线网数据类型,相当于物理连线,表示直通;即只要输入有变化,输出马上无条件地反映输入的变化。reg是寄存器类型的数据类型,通常用于精简寄存器的建模。寄存器一定要有触发逻辑,输出才会输入。

wire [MSB:LSB] name1,name2;
reg  [MSB:LSB] name1,name2;
3.数组类型

        Verilog支持对线网或变量定义一些多维的数组。

wire [MSB:LSB] name [M:N];
reg  [MSB:LSB] name [M:N];

// example
reg [7:0] mem[255:0];    //数组深度256,单个数据位宽8bits
always @(posedge clk) begin
    mem[0] = 8'd0;
    mem[100] = 8'd35;
end
4.整数integer

        integer意为整数,表示对integer后参数的数据类型定义为integer类型,是寄存器类型的数据类型/整数寄存器是一个32位的有符号数,表示整数值以及符号。

integer name1,name2,name3;
integer name[MSB:LSB];    //定义一个数组

End!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值