[工学]VHDL硬件描述语言2.ppt

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

例:用 for … loop 语句描述的8位奇校验电路 8位奇校验电路仿真结果: 将变量tmp的初值改为‘0’,则为偶校验电路: 3、如果有 wait 语句,则不允许有敏感信号表。 4.5.2 并行信号赋值语句 包括三种: 简单并行信号赋值; 条件信号赋值; 选择信号赋值。 共同特点: 1、赋值目标必须是信号,与其它并行语句同 时执行,与书写顺序及是否在块语句中无关。 2、每一信号赋值语句等效于一个进程语句。 所有输入信号的变化都将启动该语句的执行。 等效: 不等效: 条件信号赋值语句与进程中的多选择 if 语句等价: 选择信号赋值语句与进程中的 case 语句等价: 4.5.3 VHDL的层次化设计与元件声明 (component) 及元件例化(instantial)语句 1、层次化设计 一个低层次设计在被例化前必须有一个元件声明。 ENTITY exam is PORT( ea, eb :IN STD_LOGIC_VECTOR(3 DOWNTO 0); ey : OUT STD_LOGIC); END exam ; ARCHITECTURE exam_arch OF exam IS COMPONENT compare PORT( a : IN STD_LOGIC_VECTOR(3 DOWNTO 0); b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); y : OUT STD_LOGIC ); END COMPONENT; --元件声明 BEGIN u1 : compare PORT MAP ( ea, eb, ey) ; --元件例化 END exam_arch ; 层次化设计的优点: 在一个设计组中,各个设计者可独立地以不同的设计文件设计不同的模块元件。 各个模块可以被其他设计者共享,或备以后使用。 层次设计可使系统设计模块化,便于移植,复用。 层次设计可使系统设计周期更短,更易实现。 子程序与硬件规模: 与普通软件中子程序调用的区别: 普通软件子程序调用增加处理时间; VHDL中每调用一次子程序,其综合后都将 对应一个相应的电路模块。子程序调用次数与综 合后的电路规模成正比。 设计中应严格控制子程序调用次数。 子程序的类型: 过程(Procedure): 0 个或多个 in、inout、 或 out 参数。可获得多个返回值。 函数(Function): 0 个或多个 in 参数,一个 return 值。 只能获得一个返回值。 过程可作为一种独立的语句结构而单独存在, 函数通常作为表达式的一部分来调用。 子程序包含两部分:子程序声明和子程序主体。 4.6.1 子程序声明 1、过程声明语法 参数声明指明输入输出端口的数目和类型, 语法如下: 方式指参数的传递方向,有三种形式: in、out、inout 2、函数声明语法 参数声明指明输入输出端口的数目和类型, 语法如下: 对函数,方式只能用 in 方式。 例:函数和过程的声明(放在程序包首中) 4.6.2 子程序主体 子程序主体: 定义子程序算法的具体实现。 1、过程主体语法: 2、函数主体语法: 例:前述子程序声明的子程序主体(程序包体中) 子程序的调用: 在程序包中定义了子程序后,即可调用: use work.pkg.all; ┇ signal int : integer ; ┇ variable even : boolean ; ┇ int = 7 ; even := is_even(int) ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档