欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > PPT文档下载
 

数据类型和运算操作符(VHDL)PPT课件

  • 资源ID:25312368       资源大小:169.50KB        全文页数:34页
  • 资源格式: PPT        下载积分:25积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要25积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

数据类型和运算操作符(VHDL)PPT课件

VHDL文字书写规那么数字型的文字书写规那么;字符型的文字书写规那么;标识符的命名规那么;数组中下标的选取规那么。 VHDL的客体对象1、Constant 常量2、Variable变量3、Signal信号 对象的说明常数(constant):是一个固定的值,常数说明就是对某一常数名赋予一个固定的值,常量只能在说明时被赋值。语法形式:constant 常数名:数据类型:=表达式;例: constant VCC :real := 5.0;变量(variable):只能在process、function和procedure结构中使用,是一个局部量。语法形式:variable 变量名:数据类型 约束条件:=表达式;例:variable x,y : integer;variable count : integer range 0 to 255 := 10;信号(signal):电路内部硬件连接的抽象。信号可以在architecture、package、entitiy中声明。是一个全局量。语法形式:signal 信号名:数据类型 约束条件:=表达式;例:signal clk :std_logic := 1; 信号与端口的比较 信号与端口的比较 信号和变量的区别 (1) 信号赋值是有一定延迟的 ,在进程中,信号的代入是在 进程结束或者WAIT语句时进行。 而变量赋值没有延迟。(2) 对于进程语句来说,进程只对信号敏感 ,不对变量敏感。(3) 信号在某一时刻除了具有当前值外 ,还具有一定的历史 信息 ( 保存在预定义属性中 ) ,可以形成波形 。而变量 在某一时刻仅包含一个值。(4) 信号可以是多个进程的全局信号 ,实现在多个进程之间 传递信息; 而变量只在定义它的过程、函数和进程中可见。(5) 信号是硬件中连线的抽象描述,其功能是保存变化的数 据值和连接子元件。变量在硬件中没有类似的对应关系, 主要应用于高层次的建模中。(6) 信号赋值和变量赋值的格式如下所示 : 信号 =表达式 ; 变量 :=表达式 ; 信号和变量的区别举例ARCHITECTURE rtl OF sig ISsignal xa,xb,c : STD_LOGIC;BEGIN PROCESS(xa,xb,c) BEGINif (c=1) then xa = xb; xb = xa;end if END PROCESS; PROCESS variable a,b : STD_LOGIC; BEGIN . a := b; b := a; c =a; END PROCESS;END rtl ; VHDL数据类型预定义数据类型VHDL预定义数据类型IEEE预定义数据类型其他预定义数据类型自定义数据类型枚举类型整数/实数类型数组类型记录类型 根本数据类型简表 VHDL的数据类型限定任何一个信号和变量都必须落入区间约束中所说明的值域有效范围内。举例: a:out std_logic_vector(7 downto 0);b:in integer range 1 to 10;signal abc:std_logic_vector(0 to 2); variable aaa:real ; 预定义数据类型1VHDL预定义数据类型1,布尔数据类型2,BIT数据类型(BIT_VECTOR数据类型)3,字符数据类型字符串数据类型4,整数数据类型自然数和正整数数据类型5,实数数据类型6,时间数据类型 预定义数据类型2IEEE预定义数据类型1,STD_LOGIC数据类型2,STD_LOGIC_VECTOR数据类型 bit与std_logic比较 bit: 0 ,逻辑01 逻辑1std_logic:U,未初始化 X,未定 0,01, 1Z, 高阻W, 弱未定L, 弱0H, 弱1- 忽略 预定义数据类型3符号数据类型1,无符号数据类型2,有符号数据类型3,小整型数据类型 VHDL的自定义数据类型语法介绍语法形式:type 类型名is 类型定义; 举例type index is integer range 15 downto 0;type voltage is real range 0.0 to 10.0;type week is (sun, mon, tue, wed,thu, fri, sat);Variable abc:index:=6;Variable day:week:=tue; VHDL的自定义语法举例物理量type 数据类型名 is 范围 units 根本单位; 单位; end unitstype time is range 1e-18 to 1e18 units fs; ps=1000fs; ns=1000ps;. sec=1000ms; end units type vlotage is range 0 to 1000000 units uV; mV=1000uV; V=1000mV;end units VHDL的自定义子数据类型语法介绍当一个对象可能取值的值域是某个类型说明定义的值域的子集,那么可以使用子类型定义。语法形式: subtype 子类型名is 数据类型名范围; 举例 subtype iobus is std_logic_vector(7 downto 0);说明子类型和父类型完全兼容为了增加可重用性,只要有可能定义为子类型时,就不要将其定义为新类型。 VHDL的自定义数据类型(枚举)枚举:用文字表示一组二进制数据语法形式: TYPE 类型名 IS 文字表举例 type week is(Sun,Mon,Tue);调用 signal wd : week; wd = Mon; VHDL的自定义数据类型(整数/实数)整数/实数:限定范围的整数/实数。语法形式:TYPE 类型名 IS 限定范围描述 VHDL的自定义数据类型(数组)数组:用于定义同一类型值的集合语法形式:TYPE 类型名 IS ARRAY 范围 OF 原数据类型名举例type word is array ( 31 downto 0 ) of bit;调用signal abc:word; data_bit = abc(2); VHDL的自定义数据类型(记录)记录:用于定义不同类型值的集合语法形式:TYPE 类型名 IS RECORD 元素名:数据类型名 元素名:数据类型名 END RECORD举例type bank is record addr0:std_logic_vector(7 downto 0); r0:integer;end record VHDL的自定义数据类型(记录)调用单个元素赋值 signal abc:bank; signal ccc:std_logic_vector(7 downto 0); signal ddd:integer; ccc=abc.addr0; abc.r0=ddd; VHDL的自定义数据类型(记录)调用整体赋值 signal abc:bank; signal ccc:std_logic_vector(7 downto 0); signal ddd:integer; abc = (ccc,ddd); 位置关联 或者 abc ddd, addr0=ccc); 名字关联 数据类型转换 VHDL是强类型语言,每一个对象只能有一种类型,并且只能取该类型的值。如果值类型和对象类型不一致,需要使用显式类型转换。 VHDL中没有隐式类型转换。为了实现正确的带入操作,必须将要带入的数据进行类型转换。 数据类型转换方法类型标记法用类型名称实现关系密切的标量类型之间的转换。例如:variable x:integer; variable y:real;x:=(integer)y; y:=(real)x;类型函数法变换函数通常由VHDL语言的包集合提供。 数据类型转换函数说明 数据类型转换函数说明举例Entity add5 isport(num:in std_logic_vector(2 downto 0); );End add5;architecture rtl of add5 issignal in_num:integer range 0 to 5;beginin_num = conv_integer(num); .End rtl; VHDL的运算操作符算术运算符关系运算符逻辑运算符符号运算符被操作符所操作的对象是操作数,操作数的类型应该和操作符所要求的类型相一致。运算操作符有优先级。 VHDL的运算操作符优先级 并置例题Signal b:bit_vector (0 to 3);Signal tmp:bit_vector(0 to 3);Signal out:bit_vector( 0 to 7);Signal ee,aa:bit;Tmp = b and (ee Tmp = (ee,ee,ee,aa);Out = tmp VHDL的重载操作符为了方便各种不同数据类型间的运算,VHDL允许用户对原有的根本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符。定义这种操作符的函数称为重载函数。 VHDL的重载操作函数设计举例.Package exp isFunction max(a,b:std_logic_vector) return std_logic_vector;Function max(a,b:bit_vector) return bit_vector;Function max(a,b:integer) return integer;End; Package body exp isEnd; VHDL的重载操作函数使用举例Library ieee;Entity exptt isPort(a1,b1:in std_logic_vector(0 to 3);a2,b2:in bit_vector(0 to 3);a3,b3:in integer range 0 to 15;c1:out std_logic_vector(0 to 3);c2:out bit_vector(0 to 3);c3:out integer range 0 to 15);End; Architecture bhv of exptt isBegin c1 = max(a1,b1); c2 = max(a2,b2); c3 = max(a3,b3);End;

注意事项

本文(数据类型和运算操作符(VHDL)PPT课件)为本站会员(y****3)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!