(1.9)--9Verilog数据流描述可编程逻辑器件及应用.pdfVIP

(1.9)--9Verilog数据流描述可编程逻辑器件及应用.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

1文档简介

VerilogHDL语言可以有多种方式来描述硬件,同时,使用这些描述方式,又

可以在多个抽象层次上设计硬件,这是Verilog语言的重要特征。在VerilogHDL

中有三种最基本的描述方式,即数据流描述、结构化描述和行为描述。本文将介

绍数据流描述的使用和特点。

2数据流描述

在数字电路中,信号经过组合逻辑时会类似于数据流动,即信号从输入流向

输出,并不会在其中存储。当输入发生变化时,总会在一定时间以后体现在输出

端。同样,我们可以模拟数字电路的这一特性,对其进行建模,这种建模方式通

常被称为数据流建模。

数据流描述中最基本的语句是assign连续赋值语句,对wire类型的变量进

行赋值,用于描述组合逻辑电路。其格式如下:

assignLHS_target=RHS_expression;

下面对连续赋值语句进行一些简单的说明。

1、连续赋值语句以assign为关键词,任何已经声明为wire的变量的赋值都

必须以assign开头。

2、LHS_target必须是wire类型的变量,而不能是reg类型。

3、RHS_expression的类型没有要求,可以是wire或者reg类型,也可以是

函数调用。

4、wire型变量只能被赋值一次,因此对某一变量的连续赋值方式也只能有

一次。

5、只要RHS_expression表达式的操作数有事件发生(值的变化)时,

RHS_expression就会立刻重新计算,同时赋值给LHS_target。

6、如果有多条连续赋值语句,语句的先后顺序并不影响电路的结果。

3举例说明

实际上,连续赋值语句的赋值方式有以下两种,如下所示,它们的效果是一

致的:

下面利用数据流描述方式,来设计一个一位的全加器电路。

假定A、B、Cin分别为被加数、加数和来自低位的进位信号输入,S和Cout

分别为和和进位信号的输出,则全加器的真值表如下:

输入输出

ABCinSCout

00000

00110

01010

01101

10010

10101

11001

11111

显然,根据真值表可以得到输出的表达式:

S=A⊕B⊕Cin

Cout=AB+AC+BC

因此,利用数据流描述设计全加器的代码如下:

当然,更为贴近加法器的代码描述可以为:

然后编写测试代码如下:

仿真结果如下图所示:

文档评论(0)

158****6446 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档