- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VHDL语言进阶 VHDL语言的基本语句 子程序-SUBPROGRAM 子程序是一个VHDL程序模块,它是利用顺序语句来定义和完成算法的,应用它能更有效地完成重复性的设计工作。 子程序不能从所在的结构体的其他块或进程结构中直接读取信号值或者向信号赋值,而只能通过子程序调用及与子程序的界面端口进行通信。 子程序类型 过程(PROCEDURE) 过程的调用可通过其界面获得多个返回值; 过程有输入参数、输出参数和双向参数; 过程一般被看作一种语句结构。 函数(FUNCTION) 函数的调用只能返回一个值; 在函数入口中,所有参数都是输入参数; 函数通常是表达式的一部分。 子程序 在实用中必须注意,综合后的子程序将映射于目标芯片中的一个相应的电路模块,且每一次调用都将在硬件结构中产生具有相同结构的不同的模块,这一点与在普通的软件中调用子程序有很大的不同。 因此,在面向VHDL的实用中,要密切关注和严格控制子程序的调用次数,每调用一次子程序都意味着增加了一个硬件电路模块。 函数(FUNCTION) 函数的语言表达格式: FUNCTION 函数名(参数表) RETURN 数据类型; --函数首(在进程和结构体中不必定义) FUNCTION 函数名(参数表) RETURN 数据类型 IS --函数体开始 [说明部分]; BEGIN 顺序语句; END FUNCTION 函数名; --函数体结束 函数首 函数首是由函数名、参数表和返回值的数据类型三部分组成的。 函数名它可以是普通的标识符,也可以是运算符(这时必须加上双引号)。 函数的参数表是用来定义输入值的,它可以是信号或常数。 函数首的作用只是作为此函数的一个接口界面。 函数首 FUNCTION FOUC1 (A,B,C:REAL) RETURN REAL; FUNCTION “*” (A,B:INTEGER) RETURN INTEGER; --注意函数名*要用双引号括住 FUNCTION AS2 (SIGNAL IN1,IN2:REAL) RETURN REAL; --注意信号参量的写法 以上是三个不同的函数首,它们都放在某一程序包的说明部分。 过程(PROCEDURE) 函数的语言表达格式: PROCEDURE 过程名 (参数表) ; --过程首不是必须的 PROCEDURE 过程名 (参数表) IS --过程体开始 [说明部分]; BEGIN -- 过程体可以独立存在和使用 顺序语句; END PROCEDURE 过程名; --过程体结束 过程首 过程首由过程名和参数表组成。参数表用于对常数、变量和信号三类数据对象目标作出说明,并用关键词IN、OUT和INOUT定义这些参数的工作模式,即
文档评论(0)