(VHDL主要描述语句)解析.ppt

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2、函数 FUNCTION 函数名 [(参数声明)] RETURN 数据类型 IS [说明部分;] BEGIN [顺序处理语句;] RETURN [返回变量名]; END 函数名; 函数调用的实质内容要先装入程序包中(Package): FUNCTION 函数名 [(参数声明)] RETURN 数据类型; FUNCTION min(a,b:IN STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR; FUNCTION min(a,b:IN STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR IS VARIABLE temp:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF(ab) THEN temp:=a; ELSE temp:=b; END IF; RETURN temp; END min; 函数调用: 函数名(关联参数表); 使用说明 1、函数的参数表中只能为IN的信号与常量; 2、函数返回值只有一个(通过RETURN实现,由函数名传给调用者); 3、也可以像过程一样使用位置关联方式和名字关联方式; c=min(a,b); 1、过程可以有多个返回值,函数只有一个; 2、参数传递方式不同: 过程(IN OUT INOUT) 函数(IN) 3、过程可以作为一种独立的语句结构而单独存在、单独 使用;函数通常为表达式的一部分来调用。 过程(Procedure) 函数(Function)两者的主要区别: 过程和函数都有两种形式:即并行过程和并行函数以及 顺序过程和顺序函数。 程序包应用举例 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; PACKAGE pack IS FUNCTION min(a,b:IN STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR; PROCEDURE vector_to_int (s:IN STD_LOGIC_VECTOR(7 DOWNTO 0); result:INOUT INTEGER); --注意不能为BUFFER类型 COMPONENT cnt_8 PORT(reset:IN STD_LOGIC; clk:IN STD_LOGIC; q:BUFFER STD_LOGIC_VECTOR(3 DOWNTO 0)); END COMPONENT; END pack; PACKAGE BODY pack IS FUNCTION min(a,b:IN STD_LOGIC_VECTOR) RETURN STD_LOGIC_VECTOR IS VARIABLE temp:STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF(ab) THEN temp:=a; ELSE temp:=b; END IF; RETURN temp; END min; PROCEDURE vector_to_int (SIGNAL s:IN STD_LOGIC_VECTOR(7 DOWNTO 0); result:INOUT INTEGER) IS VARIABLE t:INTEGER:=1; BEGIN FOR i IN 1 TO 7 LOOP t:=t*2; IF s(i)=1 THEN result:=result+t; END IF; END LOOP; IF s(0)=1 THEN result:=result+1; END IF; END vector_to_int; END pack; 调用中程序包PACK中的函数 USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; USE WORK.PACK.ALL; ENTITY pack_

文档评论(0)

文档资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档