EDA字符及数据类型.ppt_第1页
EDA字符及数据类型.ppt_第2页
EDA字符及数据类型.ppt_第3页
EDA字符及数据类型.ppt_第4页
EDA字符及数据类型.ppt_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

赋值运算符逻辑运算符关系运算符算术运算符移位运算符并置运算符 VHDL操作符 与其他程序设计语言相似 VHDL中的表达式也是由运算符将基本元素连接起来形成 在VHDL语言中共有6类操作符 在VHDL语言中 共有6种逻辑运算符 他们分别是 NOT取反 AND与 OR或 NAND与非 NOR或非 XOR异或 逻辑运算符 这6种逻辑运算符可以对 BIT 和 STD LOGIC 等逻辑型数据 STD LOGIC VECTOR 逻辑型数组及布尔数据进行逻辑运算 必须注意 运算符的左边和右边 以及代入的信号的数据类型必须是相同的 例1 SIGNALa b c STD LOGIC VECTOR 3DOWNTO0 SIGNALd e f g STD LOGIC VECTOR 1DOWNTO0 SIGNALh I j k STD LOGIC SIGNALl m n o p BOOLEAN a bANDc b c相与后向a赋值 a b c的数据类型同属4位长的位矢量d eORfORg 两个操作符OR相同 不需括号h iNANDj NANDk NAND不属上述三种算符中的一种 必须加括号l mXORn AND oXORp 操作符不同 必须加括号h iANDjANDk 两个操作符都是AND 不必加括号h iANDjORk 两个操作符不同 未加括号 表达错误a bANDe 操作数b与e的位矢长度不一致 表达错误h iORl i的数据类型是位STD LOGIC 而l的数据类型是 布尔量BOOLEAN 因而不能相互作用 表达错误 逻辑操作符 关系操作符 例2 ENTITYrelational ops 1ISPORT a b INBIT VECTOR 0TO3 m OUTBOOLEAN ENDrelational ops 1 ARCHITECTUREexampleOFrelational ops 1ISBEGINoutput a b ENDexample 例3 ENTITYrelational ops 2ISPORT a b ININTEGERRANGE0TO3 m OUTBOOLEAN ENDrelational ops 2 ARCHITECTUREexampleOFrelational ops 2ISBEGINoutput b ENDexample 六种关系运算操作符 等于 不等于 大于 大于等于 小于等于 VHDL语言中有5类算术运算符 他们分别是 求和操作符 求积操作符 MOD REM符号操作符 混合操作符 ABS移位操作符 SLL SRL SLA SRA ROL ROR 算术运算符 求和操作符 例5 VARIABLEa b c d e f INTEGERRANGE0TO255 a b c d e f 例4 PROCEDUREadding e a ININTEGER b INOUTINTEGER IS b a b 例6 PACKAGEexample arithmeticISTYPEsmall INtISRANGE0TO7 ENDexample arithmetic USEwork example arithmetic ALL ENTITYarithmeticISPORT a b INSMALL INT c OUTSMALL INT ENDarithmetic ARCHITECTUREexampleOFarithmeticISBEGINc a b ENDexample 求积操作符 符号操作符 求积操作符包括 乘 除 MOD 取模 和REM 取余 四种操作符 符号操作符 和 的操作数只有一个 混合操作符 例7 SIGNALa b INTEGERRANGE 8to7 SIGNALc INTEGERRANGE0to15 SIGNALd INTEGERRANGE0to3 a ABS b c 2 d 混合操作符包括乘方 操作符和取绝对值 ABS 操作符两种 移位操作符 移位操作符的语句格式是 标识符移位操作符移位位数 SLL 逻辑左移 SRL 逻辑右移 SLA 算术左移 SRA 算术右移 ROL 逻辑循环左移 ROR 逻辑循环右移 例8 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYdecoder3to8ISport input INSTD LOGIC VECTOR 2DOWNTO0 output OUTBIT VECTOR 7DOWNTO0 ENDdecoder3to8 ARCHITECTUREbehaveOFdecoder3to8ISBEGINoutput 00000001 SLLCONV INTEGER input 被移位部分是常数 ENDbehave 并置运算符 SIGNALg h i STD LOGIC SIGNALc d e STD LOGIC VECTOR 1TO0 d i NOTh a c d 元素与元素并置 形成长度为2的数组 数组与数组并置 形成长度为4的数组 连接 赋值运算符 赋值运算符用来给信号 变量和常量赋值 用于对signal赋值 用于对variable constant和generic赋值 也可用于初始赋值 给矢量中某些位赋值 或对某些位之外的其它位赋值 例首先定义下列信号和变量 Signalx std logic Varibaley std logic vector 3downto0 Signalw std logic vector 0to7 X 1 others 0 最低位是1 其它位0 即用户自定义操作符 可以与预定义的操作符具有相同的名称 对已存在的操作符重新定义 可进行不同类型操作数之间的运算 例 对一个整数和一个1位的二进制数进行加法运算function a integer b bit returnintegerisbeginif b 1 thenreturna 1 elsereturna endif end 重载操作符 运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论