《VHDL操作符》PPT课件.ppt
《《VHDL操作符》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《VHDL操作符》PPT课件.ppt(19页珍藏版)》请在装配图网上搜索。
赋值运算符逻辑运算符关系运算符算术运算符移位运算符并置运算符 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 output OUTBOOLEAN ENDrelational ops 1 ARCHITECTUREexampleOFrelational ops 1ISBEGINoutput a b ENDexample 例3 ENTITYrelational ops 2ISPORT a b ININTEGERRANGE0TO3 output 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 重载操作符 运算符NOT ABS MOD REM 正号 负号 SLL SLA SRL SRA ROL ROR AND OR NAND NOR XOR XNOR VHDL操作符的优先顺序 最高优先级 最低优先级 优先级 运算操作符总汇列表如下 VHDL操作符 接上页 thanks- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VHDL操作符 VHDL 操作 PPT 课件
装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文