[工学]第4章 VHDL硬件描述语言.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第4章 VHDL硬件描述语言

4.1.1 VHDL的优点 4.1.2 VHDL与Verilog、ABEL语言的比较 4.1.3 学习VHDL的注意事项 4.2 VHDL程序结构 VHDL程序结构的显著特点 4.2.1 简单VHDL程序举例 使用了类属说明的实例 端口说明举例 功能描述语句举例 例4-5:用行为描述法设计8位比较器 【例4-6】用数据流描述法设计8位比较器 【例4-7】用布尔方程形式作数据流描述设计的8位比较器 【例4-8】8位比较器的结构化描述法 图4-8 8位比较器逻辑电路图 4.2.5 程序包(PACKAGE) 4.2.6 配置(CONFIGURATION) 【例4-13】 【例4-13】续 4.3 VHDL语言要素 (2) 扩展标识符 信号 4.3.3 数据类型 【例4-18】对STD_LOGIC的定义 【例4-21】用记录类型定义微处理器的命令信息 4.3.4 类型转换 VHDL是强类型语言,数据类型不同,不能直接运算和代入,应进行类型转换,可以通过类型标记法和类型转换函数来实现。 2. 用类型转换函数进行类型转换 【例4-23】用类型转换函数进行类型转换实例 (2) STD_LOGIC_ARITH程序包定义的函数 (3) STD_LOGIC_UNSIGNED程序包定义的转换函数 表4-3 VHDL操作符列表 并置操作符“” 【例4-25】利用SLL和数据类型转换函数实现3-8译码器设计。 4. 符号操作符 符号操作符“+”、“-”的操作数只有一个,操作数的数据类型是整数。操作符“+”对操作数不作任何改变,操作符“-”作用于操作数后的返回值是对原操作数取负,在实际使用中,取负操作数需加括号,如: z := x* (-y); 4.4 VHDL顺序语句 第三种IF语句: 可以有多个分支 4.2.2 CASE语句 例4-32:4选1多路选择器 4.4.3 LOOP语句 3. WHILE_LOOP语句 【例4-36】 WHILE_LOOP的应用示例 4.4.4 NEXT语句 4.4.5 EXIT语句 4.4.6 WAIT等待语句 4.4.7 RETURN返回语句 4.5 VHDL并行语句 并行语句在结构体中的使用格式 4.5.1 PROCESS进程语句 使用最频繁 最能体现VHDL特点,用算法(顺序语句)描述硬件行为 具有并行和顺序行为的双重性。 进程语句与结构体中的其余部分进行信息交流是靠信号完成的。 2. PROCESS应用举例 4.5.2 并行信号赋值语句 4.5.3 BLOCK块语句 1.元件例化语句的构成 2. 元件例化语句的应用 Ord41的等效逻辑电路 4.5.5 GENERATE生成语句 *4.6子程序及子程序调用语句 4.6.1子程序的定义 2. 过程(PROCEDURE) 过程与函数的主要区别 【例4-60】 标准逻辑矢量到整数转换的过程体 4.6.2 子程序的调用 包含过程定义和过程调用的例子 2.函数调用 4.6.3 子程序的重载 【例4-65】重载过程的调用 函数重载 *4.7其它语句 4.7.1 ASSERT断言语句 4.7.2 REPORT报告语句 4.7.3 属性语句 2.范围类属性 3.数值类属性 4.数组属性LENGTH 【例4-62】在程序包mypkg中定义函数sum4 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE mypkg IS --程序包首 FUNCTION sum4 (s1, s2, s4: INTEGER)--函数首说明 RETURN INTEGER; END mypkg; PACKAGE BODY mypkg IS --程序包体 FUNCTION sum4 (s1, s2, s4: INTEGER) RETURN INTEGER IS--函数体 VARIABLE tmp: INTEGER; --函数的变量说明 BEGIN --函数开始 tmp:=s1+ s2+ s4; --定义函数功能:实现三个整数相加 RETURN tmp; END; --函数定义结束 END mypkg; --程序包定义结束 【例4-63】在结构体中调用函数sum4 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE WORK.mypkg.all; --打开定义函数的程序包 ENTITY examoffunc IS PORT (in1, in2, in4: IN INTEGER RANGE 0 TO 4;

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档