




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章VHDL语言的对象和数据类型及运算操作符 5 1VHDL文字规则 5 1 1数字 整数 整数都是十进制的数 如 5 678 0 156E2 15600 45 234 287 45234287 实数 实数也都是十进制的数 但必须带有小数点 如 1 335 88 670 551 453 909 88670551 453909 1 0 44 99E 2 0 4499 以数制基数表示的文字 用这种方式表示的数由五个部分组成 SIGNALd1 d2 d3 d4 d5 INTEGERRANGE0TO255 d1 10 170 十进制表示 等于十进制170 d2 16 FE 十六进制表示 等于十进制254 d3 2 1111 1110 二进制表示 等于十进制254 d4 8 376 八进制表示 等于十进制254 d5 16 E E1 十六进制表示 等于十进制224 物理量文字 VHDL综合器不接受此类文字 如 60s 60秒 100m 100米 k 千欧姆 177A 177安培 5 1VHDL文字规则 5 1 2字符串 2 文字字符串 3 数位字符串 用单引号括起来的ASCII字符 如 R a 1 B 二进制基数符号 表示二进制位0或1 在字符串中的每位表示一个Bit O 八进制基数符号 在字符串中的每一个数代表一个八进制数 即代表一个3位 BIT 的二进制数 X 十六进制基数符号 0 F 代表一个十六进制数 即一个4位的二进制数 data1 B 1 1101 1110 二进制数数组 位矢数组长度是9data2 O 15 八进制数数组 位矢数组长度是6data3 X AD0 十六进制数数组 位矢数组长度是12data4 B 101 010 101 010 二进制数数组 位矢数组长度是12data5 101 010 101 010 表达错误 缺B data6 0AD0 表达错误 缺X 1 字符 ERROR BothSandQequalto1 X BB CC 5 1VHDL文字规则 5 1 3标识符 标识符是最常用的操作符 可以是常数 变量 信号 端口 子程序或参数的名字 VHDL基本标识符的书写需遵循如下规则 l有效的字符 包括26个大小写英文字母 数字包括0 9以及下划线 l任何标识符必须以英文字母开头 l必须是单一下划线 且其前后都必须有英文字母或数字 l标识符中的英语字母不分大小写 l允许包含图形符号 如回车符 换行符等 也允许包含空格符 合法的标识符 A fft and 4 max2uc 非法的标识符 21A fft and 4 max 2uc a b return 5 1VHDL文字规则 5 1 4下标名 下标名用于指示数组型变量或信号的某一元素 格式 标识符 表达式 标识符必须是数组型的变量或信号的名字 表达式所代表的值必须是数组下标范围中的一个值 这个值将对应数组中的一个元素 如果这个表达式是一个可计算的值 则此操作数可很容易地进行综合 如果是不可计算的 则只能在特定的情况下综合 下例的两个下标名中一个是m 属不可计算 另一个是3 属可计算的 SIGNALa b BIT VECTOR 0TO3 SIGNALm INTEGERRANGE0TO3 SIGNALy z BIT y a m 不可计算型下标表示z b 3 可计算型下标表示 5 2数据类型 标量型 ScalarType 复合类型 CompositeType 存取类型 AccessType 文件类型 FilesType 5 2 1VHDL的预定义数据类型 1 布尔 BOOLEAN 数据类型 2 位 BIT 数据类型如 constanta bit 1 variableq bit 0 signala b bit 3 位矢量 BIT VECTOR 数据类型如 signals bit vector 15downto0 constantq bit vector 3downto0 0110 5 2 1VHDL的预定义数据类型 4 字符 CHARACTER 数据类型通常用单引号括起来 区分大小写 6 实数 REAL 数据类型如 variableq realrange0 0to255 0 constanta real 1 0 1 0十进制浮点数0 0十进制浮点数65971 333333十进制浮点数65 971 333 3333与上一行等价8 43 6 e 4八进制浮点数43 6E 4十进制浮点数 5 字符串 STRING 数据类型 如 VARIABLEstring var STRING 0TO3 string var abcd 8 时间 TIME 数据类型 TYPEtimeISRANGE 2147483647TO2147483647unitsfs 飞秒 VHDL中的最小时间单位ps 1000fs 皮秒ns 1000ps 纳秒us 1000ns 微秒ms 1000us 毫秒sec 1000ms 秒min 60sec 分hr 60min 时endunits 5 2 1VHDL的预定义数据类型 7 整数 INTEGER 数据类型如 signalb integerrange 7to7 variablea integer 5 5 2 2IEEE预定义标准逻辑位与矢量 1 标准逻辑位STD LOGIC数据类型 2 标准逻辑矢量 STD LOGIC VECTOR 数据类型 5 2数据类型 5 2 3其他预定义数据类型 1 无符号数据类型 UNSIGNEDTYPE 2 有符号数据类型 SIGNEDTYPE 5 2数据类型 十进制的8可以作如下表示 UNSIGNED 1000 两则无符号数据定义的示例 VARIABLEvar UNSIGNED 0TO10 SIGNALsig UNSIGNED 5TO0 例如 SIGNED 0101 代表 5 5SIGNED 1011 代表 5 5 2 4用户自定义数据类型 1 枚举类型 2 物理类型 5 2数据类型 如 Typeyearis Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Signalthismoth year result sepelse 0 如 Typevoltageisrange0to1000000000Unitsuv 基本单位 mv 1000uv v 1000mv Endunits 5 2 5数组类型 5 2数据类型 限定性数组 限定性数组定义语句格式如下 TYPE数组名ISARRAY 数组范围 OF数据类型 如 typewordisarray 0to7 ofstd logic 非限定性数组 非限制性数组的定义语句格式如下 TYPE数组名ISARRAY 数组下标名RANGE OF数据类型 如 typewordisarray naturalrange ofbit 5 2 5数组类型 5 2数据类型 数组的元素可以是任何一种数据类型 用以定义数组元素的下标范围子句决定了数组中元素的个数 以及元素的排序方向 既下标数是由高到低 或是由低到高 如子句 0TO7 是由低到高排序的8个元素 即 a 0 a 1 a 2 a 7 15DOWNTO0 是由高到低排序的16个元素 即 a 15 a 14 a 13 a 0 5 3VHDL操作符 5 3 1逻辑操作符 表5 1VHDL操作符列表 表5 1VHDL操作符列表 接上页 表5 2VHDL操作符优先级 5 3 1逻辑操作符 例5 4 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 因而不能相互作用 表达错误 5 3 1逻辑操作符 5 3 2关系操作符 例5 5 ENTITYrelational ops 1ISPORT a b INBIT VECTOR 0TO3 m OUTBOOLEAN ENDrelational ops 1 ARCHITECTUREexampleOFrelational ops 1ISBEGINoutput a b ENDexample 例5 6 ENTITYrelational ops 2ISPORT a b ININTEGERRANGE0TO3 m OUTBOOLEAN ENDrelational ops 2 ARCHITECTUREexampleOFrelational ops 2ISBEGINoutput b ENDexample 六种关系运算操作符 等于 不等于 大于 大于等于 小于等于 5 3 3算术操作符 表5 3算术操作符分类表 1 求和操作符 例5 7 VARIABLEa b c d e f INTEGERRANGE0TO255 a b c d e f 例5 8 PROCEDUREadding e a ININTEGER b INOUTINTEGER IS b a b 例5 9 PACKAGEexample arithmeticISTYPEsmall INtISRANGE0TO7 ENDexample arithmetic USEWORK example arithmetic ALL ENTITYarithmeticISPORT a b INSMALL INT c OUTSMALL INT ENDarithmetic ARCHITECTUREexampleOFarithmeticISBEGINc a b ENDexample 2 求积操作符 5 3 3算术操作符 3 符号操作符 求积操作符包括 乘 除 MOD 取模 和RED 取余 四种操作符 符号操作符 和 的操作数只有一个 5 3 3算术操作符 4 混合操作符 例5 10 SIGNALa b INTEGERRANGE 8to7 SIGNALc INTEGERRANGE0to15 SIGNALd INTEGERRANGE0to3 a ABS b c 2 d 混合操作符包括乘方 操作符和取绝对值 ABS 操作符两种 SLL 逻辑左移SRL 逻辑右移移空的位补零SLA 算术左移SRA 算术右移移空的位由最初首位补ROL 逻辑循环左移ROR 逻辑循环右移移出的位依次填补移空的位 5 3 3算术操作符 5 移位操作符 移位操作符的语句格式是 标识符移位操作符移位位数 例 1001001 SLL1 0010010 1001001 SRL1 0100100 1001001 SLA1 0010011 1001001 SRA1 1100100 1001001 ROL1 0010011 1001001 ROR1 1100100 例1 2输入与非门电路LIBRARYieee USEieee std logic 1164 all entityxx1isport a b instd logic y outstd logic endxx1 architecturenand2ppOFxx1isbeginy anandb endnand2pp VHDL语言应用举例 例2 3 8译码器LIBRARYieee USEieee std logic 1164 all entitydecoder38isport a b c g1 g2a g2b instd logic y outstd logic vector 7downto0 enddecoder38 architecturebehave38OFdecoder38issignalindata std logic vector 2downto0 beginindata c b a process indata g1 g2a g2b beginif g1 1 andg2a 0 andg2b 0 thencaseindataiswhen 000 yyyyyyyyy XXXXXXXX endcase elsey 11111111 endif endprocess endbehave38 例3 D触发器libraryieee useieee std logic 1164 all useieee std logic unsigned all ENTITYDISPORT D CLK INstd logic Q OUTstd logic ENDD ARCHITECTUREbehaveOFDISBEGINPROCESS CLK BEGINIF CLK EVENTANDCLK 1 THENQ D ENDIF ENDPROCESS ENDbehave 例4 1位BCD 4位二进制 加法器LIBRARYieee USEieee std logic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务抗压方法培训
- 中考体育培训总结
- 2026届黑龙江省鸡西虎林市东方红林业局化学九上期末达标检测试题含解析
- 山东省聊城市第三中学新校区2024-2025学年高三上学期第一次月考生物试题
- 2025年电站安全规程考试题库及答案
- 安徽省砀山县联考2026届九年级英语第一学期期末考试试题含解析
- 2026届内蒙古自治区赤峰市翁牛特旗第一中学九年级化学第一学期期末达标测试试题含解析
- 2026届四川省成都嘉祥外国语学校化学九上期末预测试题含解析
- 2026届安徽省六安市裕安区英语九上期末学业质量监测模拟试题含解析
- 2026届三门峡市重点中学化学九上期中复习检测试题含解析
- 2025年秋国家开放大学《形势与政策》形考大作业答案
- 化工安全网络培训课件
- 2025年超细氢氧化铝行业研究报告及未来行业发展趋势预测
- 2025-2026学年人美版(2024)小学美术二年级上册(全册)教学设计(附目录P188)
- 2025年高考(新课标Ⅱ卷)英语试题及答案
- 电子元器件供货方案与保证措施
- 2025便利店便利店员工劳动合同范本
- 小学二年级体育教案全集全册1
- 2025秋八年级上册道德与法治新教材全册知识点提纲
- 2024年北京人民艺术剧院招聘笔试真题
- 军事仿真演练系统设计
评论
0/150
提交评论