欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    VHDL语言数据类型及相互转换.doc

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

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

    VHDL语言数据类型及相互转换.doc

    标准数据类型1,整数(INTEGER)范围:-2147483547-21474836462,实数(REAL)范围:-1.0E38-1.0E38 (综合器不支持)书写时一定要有小数.3,位(BIT)在数字系统中,信号经常用位的值表示,位的值用带单引号的'1'和'0'来表示标准数据类型4,位矢量(BIT_VECTOR)位矢量是用双引号括起来的一组位数据"010101"5,布尔量(BOOLEAN)只有"真"和"假"两个状态,可以进行关系运算6,字符(CHARACTER)字符量通常用单引号括起来,对大小写敏感明确说明1是字符时: CHARACTER'('1') 标准数据类型7,字符串(STRING)字符串是双引号括起来的由字母,数字或,%,$组成的一串字符.区分大小写"laksdklakld" "1010101010"8,时间(TIME)时间的单位:fs,ps,ns,ms,sec,min,hr例: 10 ns整数数值和单位之间应有空格标准数据类型9,错误等级(SEVERITY LEVEL)在VHDL仿真器中,错误等级用来表示系统的状态,它共有4种:NOTE(注意)WARNING(警告)ERROR(错误)FAILURE(失败)标准数据类型10,自然数(NATURAL) 正整数(POSITIVE)自然数是整数的一个子类型,包括0和正整数;正整数也是整数的一个子类型.只能是正整数数据除定义类型外,有时还需要定义约束范围.INTEGER RANGE 100 DOWNTO 0BIT_ VECTOR (3 DOWNTO 0)REAL RANGE 2.0 TO 30.0IEEE定义的逻辑位与矢量在IEEE的程序包std_logic_1164中定义了两个非常重要的数据类型:1 ,std_logic 取值:0,1,Z,X,W,L,HZ:高阻 X:不定 W:弱信号不定 L:弱信号0 H:弱信号12,Std_logic_vector注 意1,在使用"std_logic"和"std_logic_vector"时,在程序中必须声明库及程序包说明语句,即LIBRARY ieee和std_logic_1164.ALL这两句在程序中必不可少.2, std_logic有多个取值,与BIT不同,在编程时应特别注意,需要考虑全所有情况.用户自定义的数据类型1,枚举类型格式:TYPE 数据类型名 IS(元素,元素,);TYPE STD_LOGIC IS('U','X','0','1','Z','W','L','H','-');TYPE week IS (Sun,Mon,Tue,wed,Thu,Fri,Sat);TYPE color IS (red,green,yellow,blue) TYPE lift_state IS(stopon1,doorpeen,doorclose, doorwait1, doorwait2, doorwait3, doorwait4, doorwait5,up,down,stop) 枚举类型的声明TYPE color IS (red,green,yellow,blue);VARIABLE A:COLOR;SIGNAL B:COLOR;A:=RED;B<=YELLOW;TYPE lever IS ('0','1','z');SIGNAL V:lever;V<='1'用户自定义的数据类型2,整数(INTEGER)格式:TYPE 数据类型名 IS 数据类型定义 约束范围例 TYPE digit IS INTEGER RANGE 0 TO 9 VARIABLE A:DIGIT;A:=5;A:=28;用户自定义的数据类型3,实数(REAL)格式:TYPE 数据类型名 IS 数据类型定义 约束范围TYPE current IS REAL RANGE -1E4 TO 1E4 VARIABLE A:CURRENT;A:=1E3;A:=1E10;用户自定义的数据类型4,数组(ARRAY)格式:TYPE 数据类型名 IS ARRAY 范围 OF 原数据类型名;例:TYPE word IS ARRAY (1 TO 8) OF STD_LOGIC;TYPE word IS ARRAY (INTEGER 1 TO 8) OF STD_LOGIC;数组常在总线,ROM和RAM中使用. 用户自定义的数据类型5,记录(RECODE) 类型将不同的数据类型放在一块,就是记录类型数据格式:TYPE 记录类型名 IS RECORD元素名:数据类型名;元素名:数据类型名;:END RECORD记录类型名; 记录(RECODE) 类型例:TYPE bank IS RECORDaddr0: STD_LOGIC_VECTOR(7 DOWNTO 0);addr1: STD_LOGIC_VECTOR(7 DOWNTO 0);r0: INTEGER;END RECORD; 记录(RECODE) 类型例:CONSTANT LEN:integer:=100;TYPE array logic IS ARRAY (99 downto 0)OF STD_LOGIC_VECTOR(7 DOWNTO 0)TYPE table IS RECORDa: array logic;b: STD_LOGIC_VECTOR(7 DOWNTO 0);c: integer RANGE 0 to len ;END RECORD; 数据类型的转换数据类型转换函数有VHDL语言的包提供例如:STD_LOGIC_1164,STD_LOGIC_ARITHSTD_LOGIC_UNSIGNED等等 函数说明1、STD_LOGIC_1164包TO_STDLOGIC_VECTOR(A)TO_BITVECTOR(A)TO_LOGIC(A)TO_BIT(A)由BIT_VECTOR转换成STD_LOGIC_VECTOR由STD_LOGIC_VECTOR转换成BIT_VECTOR由BIT转换成STD_LOGIC由STD_LOGIC转换成BIT2、STD_LOGIC_ARITH包CONV_STD_LOGIC_VECTOR(A,位长)CONV_INTEGER(A)由INTEGER,UNSIGNED和SIGNED转换成STD_LOGIC_VECTOR由UNSIGNED和SIGNED转换成INTEGER3、STD_LOGIC_UNSIGNED包CONV_INTEGER(A)_STD_LOGIC_VECTOR转换成INTEGERVHDL属性VHDL没有一般程序语言中的那些运算类标准函数,取而代之的是多种能反映和影响硬件行为的属性.属性在描述时序电路的VHDL设计文件中几乎处处可见,如检测上升沿,下降沿,知道前一次发生的事件.VHDL属性属性指的是关于实体,结构体,类型及信号的一些特征.有的属性对综合(设计)非常有用.VHDL的属性可分为数值类属性,函数类属性,范围类属性,信号类属性,类型类属性.其引用的一般形式为:对象'属性.数值类属性数值类属性用于返回数组,块或一般数据的有关值,如边界,数组长度等信息.对一般的数据有4种数值类属性:对象类型的左边界,右边界,上边界,下边界,对应的关键字是:LEFT,RIGHT,HIGH,LOW.数组在加一个长度属性LENGTH.数值类属性sdown:IN std_logic_vector(8 DOWNTO 0);sup:IN std_logic-vector(0 to 8);这两个信号的各属性值如下:sdown'left=8; sdown'right=0; sdown'low=0; sdown'high=8; sdown'length=9;sup'left=0; sup'right=8; sup'low=0; sup'high=8; sup'length=9;数值类属性TYPE bit32 IS ARRAY (63 DOWNTO 32)OF BITVARIABLE:left_range,right_range,up_range,low_range,len:INTEGER;BEGIN left-range:=bit32'LEFT; -return 63right-range:=bit32'RIGHT; -return 32up-range:=bit32'HIGH; -return 63low-range:=bit32'LOW; -return 32len:=bit32'LENGTH; -return 32函数类属性信号属性函数属于函数类属性,用来返回有关信号行为功能的信息.共有5种信号属性函数,分别是: 'EVENT(事件) ; ' ACTIVE(活跃);' LAST_EVENT (最近一次事件到现在经过多少时间);' LAST_ACTIVE (最近一次活跃到现在经过多少时间); ' LAST_VALUE(信号变化前的取值是什么)EVENTEVENT:它的值为布尔型,取值为TRUE或FALSE;如果刚好有事件发生在该属性所附着的信号上(即信号有变化),取值为TRUE.利用此属性可决定时钟边沿是否有效,即时钟是否发生.EVENTSIGNAL clk: IN std_logic;clk 'EVENT AND clk='1' clk='1' AND clk 'EVENTclk 'EVENT AND clk='0'clk='0' AND clk 'EVENTrising_edge(clk) falling_edge(clk)EVENT 和ACTIVEEVENT 要求信号值发生变化;1到0,0到1ACTIVE 信号值的任何变化,1到1,1 到0,0到1,0到0;所有的事件都是活跃,但并非所有的活跃都是事件范围类属性'RANGE属性,其生成一个限制性数据对象的范围.例 SIGNAL data_bus:std_logic_vector(15 DOWNTO 0);data_bus 'RANGE=15 downto 0用VHDL语言设计分频电路,把1KHZ的时钟分至约1HZ左右的时钟LIBRARY IEEE;USE IEEE.Std_Logic_1164.ALL;ENTITY FreDevider ISPORT (Clkin:IN Std_Logic; Clkout:OUT Std_Logic);END;ARCHITECTURE Devider OF FreDevider ISCONSTANT N:Integer:=499;signal counter:Integer range 0 to N;signal Clk:Std_Logic;BEGIN PROCESS(Clkin) begin IF rising_edge(Clkin)THEN IF Counter=N then counter<=0; Clk<=not clk; else counter<=counter+1; end if; end if; end process; clkout<=clk;end; 14 ; ( ) : - = 00 ( ) - _- . 器 支 时 要 :数 : 在 中 信 常 位 )表 _位 带 号_ ' ' ' 准 _ ( 时 时 至 分 电计 语 矢 是 引 ; _ _ :_ 围象数制个,属 属是活所并跃件的;0到, ,何值 0到化发号 ) ( _ ' 0定. 0 ) 0 围义需有类除数整.一整是正数和型子数是然) (正 数, 类标)失 )( )告 )( 有它的示用等,仿 等错据格间和数0: , 单时 间 " 0"" 大区串成,字母来括引字) 字据标 :是明小大括单通字 字 关进态个"真只 量, "数一起=0= '= = ' ; _ : 生钟,有沿定可此. )变号上着所在件好如 取尔值它 么值的号 '时过经到近最 )间经到事近( 跃 ) '别,属号有息功号关回用数属函号性数 ' = - : - - : - ' , , , , ) 属值; = ' = ; = = 0 ' 0 ' ' 如性号两; ( - _ ; _ : 值 度一在 , , 字的应下界界右边类:属数据的.等组界边有的或,回性类类数属:形一引属类性类性围,类属数可的 常)合综的征一及,构实于性性 事发前,沿沿检见处乎计 的序描性性为硬映能是而数标类那语程有 转 _) 包 _ 、 换 成 , 由) 长, _ _ 转 _型; )0 ( _ :; : ) _ ) 0 : ) ( _ ( : :型) (录名 :;据素;类据素 名录 格据录是,在据的型) 录 类义自. 在组 _ ) :;类数 围 名据 : 组类义自用 : = : 范约定数 型据 式 (实数的用= :; : 0 例范 型据 型数 式 整数义户'= : )'''' ; : : ; : ), 型枚) , , , , ) , )' '''' ,' ,( _ ),元 型据 举枚型的自用情有要,特时编不 ,有 _ 少必程句这. 和 句包及声中在" 用在 号:0弱定信 不阻 , ,值 :类数非了定 程 在与位 成数 类 成转 _ _ 换 ( ) _ _ _ _ 、说数等 _ _ _ _:供言 有转

    注意事项

    本文(VHDL语言数据类型及相互转换.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开