博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

关于初次使用Verilog HDL语言需要懂的基本语法

Posted on 2016-07-15 10:34  沉默改良者  阅读(840)  评论(0编辑  收藏  举报

关于初次使用Verilog HDL语言需要懂的基本语法

1.常量

    数字表达式全面的描述方式为:<位宽><进制><数字>

    8’b10101100,表示位宽为8的二进制数。

2.参数

   Parameter 参数名=表达式;

3.变量

    reg:通过赋值语句来改变寄存器存储值,相当于改变触发器存储的值。reg型数据常用来表示“always”模块内的指定信号,常代表触发器。通常,在设计的过程中与always模块结合使用,通过使用行为描述语句来表达逻辑关系。

    注意:在“always”模块内被赋值的每一个信号都必须定义成reg型变量。

    reg[3:0] regb; 定义了一个位宽为4名为regbreg型变量。

    wire型:常用来表示用以assign关键字指定的组合逻辑信号,Verilog程序模块中输入,输出信号类型默认为wire型。

    wire[7:0] b; 表示定义了一个8位的wire型数据。

4.Verilog赋值方式

    非阻塞式赋值方式为: b<=a;常用于编写综合的时序逻辑模块。

    阻塞式赋值方式:b=a

    怎样理解呢?非阻塞式赋值就像D触发器那样,需要等到下一次always里面的敏感事件列表条件满足,再次执行always块程序的时候赋值才能成功。阻塞式赋值方式就像两个不同的信号量用同一根导线连接起来,赋值语句执行后,相应的值立刻发生变化,赋值成功。

5位拼接运算符

    使用方法如下:

    { 信号1的某几位,信号2的某几位,......,信号n的某几位},此运算符可以把两个或多个信号的某些位拼接起来进行运算操作。