位置:51电子网 » 技术资料 » EDA/PLD

Verilog HDL 数据流建模 --连续赋值语句

发布时间:2008/5/28 0:00:00 访问次数:1515

6 数据流建模

在3.3.2 节中,我们已经初步了解到数据流描述方式,本节对数据流的建模方式进一步讨论,
主要讲述连续赋值语句、阻塞赋值语句、非阻塞赋值语句,并针对一个系统设计频率计数器的实
例进行讲解。

6.1 连续赋值语句
数据流的描述是采用连续赋值语句(assign )语句来实现的。语法如下:
assign net_type = 表达式;
连续赋值语句用于组合逻辑的建模。等式左边是wire 类型的变量。等式右边可以是常量、由
运算符如逻辑运算符、算术运算符参与的表达。如下几个实例:
wire [3:0] z, preset, clear; //线网说明
assign z = preset & clear; //连续赋值语句

wire cout, c i n ;

wire [3:0] sum, a, b;

. . .

assign {cout, sum} = a + b + cin;

assign mux = (s = = 3)? d : 'bz;

注意如下几个方面:

1、连续赋值语句的执行是:只要右边表达式任一个变量有变化,表达式立即被计算,计算的
结果立即赋给左边信号。

2、连续赋值语句之间是并行语句,因此与位置顺序无关。



6 数据流建模

在3.3.2 节中,我们已经初步了解到数据流描述方式,本节对数据流的建模方式进一步讨论,
主要讲述连续赋值语句、阻塞赋值语句、非阻塞赋值语句,并针对一个系统设计频率计数器的实
例进行讲解。

6.1 连续赋值语句
数据流的描述是采用连续赋值语句(assign )语句来实现的。语法如下:
assign net_type = 表达式;
连续赋值语句用于组合逻辑的建模。等式左边是wire 类型的变量。等式右边可以是常量、由
运算符如逻辑运算符、算术运算符参与的表达。如下几个实例:
wire [3:0] z, preset, clear; //线网说明
assign z = preset & clear; //连续赋值语句

wire cout, c i n ;

wire [3:0] sum, a, b;

. . .

assign {cout, sum} = a + b + cin;

assign mux = (s = = 3)? d : 'bz;

注意如下几个方面:

1、连续赋值语句的执行是:只要右边表达式任一个变量有变化,表达式立即被计算,计算的
结果立即赋给左边信号。

2、连续赋值语句之间是并行语句,因此与位置顺序无关。



相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!