数据流建模课件.ppt

数据流建模课件.ppt

ID:57016654

大小:377.50 KB

页数:33页

时间:2020-07-26

数据流建模课件.ppt_第1页
数据流建模课件.ppt_第2页
数据流建模课件.ppt_第3页
数据流建模课件.ppt_第4页
数据流建模课件.ppt_第5页
资源描述:

《数据流建模课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、EDA技术与VerilogHDL语言第六章数据流建模概述在电路规模较小的情况下,由于包含的门数比较少,因此使用门级建模进行设计是很合适的。随着芯片集成度的迅速提高,数据流建模的重要性越来越显著。现在已经没有任何一家设计公司从门级结构的角度进行整个数字系统的设计。目前普遍采用的设计方法是借助于计算机辅助设计工具,自动将电路的数据流设计直接转换为门级结构,这个过程也称为逻辑综合。随着逻辑综合工具的功能不断地完善,数据流建模已经成为主流的设计方法。数据流设计可以使得设计者根据数据流来优化电路,而不必专注于电路结构的细节。为了在设计过程中获得最大的灵活性,设

2、计者常常将门级、数据流级和行为级的各种方式结合起来使用。在数字设计领域,RTL(RegisterTransferLevel,寄存器传输级)通常是指数据流建模和行为级建模的结合。本章学习目标讲述连续赋值语句(assign)、对于连续赋值语句的限制以及隐式连续赋值语句。解释赋值延迟、隐式赋值延迟以及用于连续赋值语句的线网声明延迟。定义表达式、操作符和操作数。列表解释所有类型的操作符,包括算术操作符、逻辑操作符、关系操作符、等价操作符、按位操作符、缩减操作符、移位操作符、拼接操作符和条件操作符等。使用数据流结构对实际的数字电路建模。6.1连续赋值语句连续

3、赋值语句是Verilog数据流建模的基本语句,用于对线网进行赋值,必须以关键词assign开始,其语法为:上面语法中的驱动强度是可选项,其默认值为strong1和strong0。延迟值也是可选的,用于指定赋值的延迟,类似于门的延迟6.1连续赋值语句(续)连续赋值语句特点:1.连续赋值语句的左值必须是一个标量或向量线网,或者是标量或向量线网的拼接,而不能是向量或向量寄存器。我们将在6.4.8节中对拼接操作进行讨论;2.连续赋值语句总是处于激活状态。只要任意一个操作数发生变化,表达式就会被立即重新计算,并且将结果赋给等号左边的线网;3.操作数可以是标量或

4、向量的线网或寄存器,也可以是函数调用;4.赋值延迟用于控制对线网赋予新值的时间,根据仿真时间单位进行说明。赋值延迟类似于门延迟,对于描述实际电路中的时序是非常有用的。6.1连续赋值语句(续)隐式连续赋值:Verilog提供了另一种对线网赋值的简便方法:在线网声明的同时对其进行赋值。隐式线网声明:如果一个信号名被用在连续赋值语句的左侧,那么Verilog编译器认为该信号是一个隐式声明的线网。如果线网被连接到模块的端口上,则Verilog编译器认为隐式声明线网的宽度等于模块端口的宽度。6.2延迟指定延迟的方法有三种:普通赋值延迟、隐式赋值延迟和线网声明延

5、迟。普通赋值延迟上式是一个普通赋值的延迟例子,如果in1和in2中的任意一个发生变化,那么在计算表达式in1&in2的新值并将新值赋给语句左值之前,会产生10个时间单位的延迟。如果在此10个时间单位期间,即左值获得新值之前,in1或in2的值再次发生变化,那么在计算表达式的新值时会取in1或in2的当前值。我们称这种性质为惯性延迟。也就是说,脉冲宽度小于赋值延迟的输入变化不会对输出产生影响。6.2延迟(续)in1和in2变为1,out在10个时间单位之后变为1in1和in2变为0,out在时间单位70处变为0in1在时间80处变为1,但是在5个时间单

6、位之内重新变为0。因此,在时间单位80之后再过10个时间单位,重新计算表达式,此时in1的值已经为0,因此out的值仍然为0。6.2延迟(续)隐式连续赋值延迟隐式连续赋值等效于声明一个线网并且对其进行连续赋值。如下例:线网声明延迟Verilog允许在声明线网的时候指定一个延迟,这样对该线网的任何赋值都会被推迟指定的时间。线网声明同样可以用于门级建模中。6.3表达式、操作符和操作数表达式表达式由操作符和操作数构成,其目的是根据操作符的意义计算出一个结果值。如a&b,in1

7、in2等。操作数可以是常数、整数、实数、线网、寄存器、时间、位选(向量线网或向量

8、寄存器的一位)、域选(向量线网或向量寄存器的一组选定的位)以及存储器和函数调用。如表达式中的a、b、in1、in2均为操作数。操作符操作符对操作数进行运算并产生一个结果。如表达式中的&、

9、均为操作符。6.4操作符类型Verilog提供了许多种类型的操作符,分别是算术、逻辑、关系、等价、按位、缩减、移位、拼接和条件操作符。这些操作符中的一部分与C语言中的操作符类似。每个操作符都用一个符号来表示。6.4.1算术操作符算术操作符可以分为两种:双目操作符和单目操作符。双目操作符双目操作符对两个操作数进行算术运算,包括乘(*)、除()、加(+)、减()、求

10、幂(**)和取模(%)。如果操作数的任意一位为x,那么运算结果的全部位为x。取模运算的结果是两数相除的余数部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。